nua_session.c: fixed terminating call state machine.
Fabio Margarido reported that the BYE is not sent upon certain error conditions. This was because state machine does not allow sending duplicate BYE in terminating state. Usually, the call state machine switches to terminating state upon sending BYE. However, certain error conditions (like not receiving ACK) causes the session to terminate, and the session state is change to terminating state outside BYE. The fix here changes the behaviour of internally generated BYE requests, they do not change the session state to terminating nor they check if the session state is already terminating. darcs-hash:20070201200704-65a35-4efc2f1879aa86f17b20e3e400d6c5eee18cb81b.gz
Showing with 68 additions and 44 deletions