The stack sets dialog state to TERMINATED on sending a BYE request!
"Pham Nguyen, Quang Duy" <[email protected]>
| Newsgroups | gmane.comp.voip.nist-sip |
|---|---|
| Message-ID | <[email protected]> |
Hi, I've just found a problem within the SIP stack. It sets the dialog state to TERMINATED as soon as I send out a BYE request without waiting for the response. This behavior is not standard conform (please see chapter 15.1 "Terminating a Session with a BYE Request" of RFC 3261)! This behavior causes serious problem in enviroment where security is enabled (authentication is required). When a user sends a BYE to drop a call, the belonging dialog will be set to TERMINATED. The BYE request will not be accepted immediately by the PBX, that responds with '401 Unauthorized' including a challenge. The user then try to resend the BYE request (this time including the response to the challenge) using a new client transaction. By creating the new client transaction the dialog in state TERMINATED will be removed from the dialog table. For some reasons (under heavy load) the PBX again responds with '401 Unauthorized' and this time the call to clientTransaction.getDialog() will return NULL and the user can not send BYE to drop the call any more! Please find attached the debug logs of the described scenario. The stack should wait for the response for the BYE request before setting the state of the dialog to TERMINATED. regards, Duy _______________________________________________ nist-sip mailing list [email protected] http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
DialogTerminatedOnSendingBYE.log
(application/octet-stream, 161.8 KB) - not displayed