[OpenSIPS-Devel] [ opensips-Bugs-2431628 ] [dialog] 'bye_on_timeout_flag' generates wrong CSeq in BYE

SourceForge.net noreply at sourceforge.net
Mon Dec 15 21:02:39 CET 2008


Bugs item #2431628, was opened at 2008-12-15 21:02
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2431628&group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: trunk
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Iñaki Baz (ibc_sf)
Assigned to: Nobody/Anonymous (nobody)
Summary: [dialog] 'bye_on_timeout_flag' generates wrong CSeq in BYE

Initial Comment:
alice calls bob, and during the call alice sends 2 re-INVITE's to bob.
After 10 seconds dialog module expires and OpenSIPS sends a BYE to alice and bob.
The CSeq sent is incorrect in one of the BYE and causes a reply "500 Request received out of order" from bob.

I've tested also the case in wich both alice and bob do varios re-INVITE (send any in-dialog request), and the CSeq is always wrong in the BYE sent to the *recipient* of the las in-dialog request.

I attach a SIP trace which shows the bug, and also describe here:



alice           opensips              bob


# Initial INVITE
INVITE (871) ---->
                       INVITE (871) ---->
                       <------- 200 (871)
<------- 200 (871)
ACK (871) ------->
                       ACK (871) ------->


# re-INVITE
INVITE (872) ---->
                       INVITE (872) ---->
                       <------- 200 (872)
<------- 200 (872)
ACK (872) ------->
                       ACK (872) ------->


# Dialog timer expires
# Internal BYE's generated by OpenSIPS
<------- BYE (873)
                       BYE (872) ------->
                       <------- 500 (872)
200 (873) ------->



This is obviously very wrong:

- The BYE sent to alice is 873 when it could be **ANY** value (since alice hasn't received an in-dialog request yet in this dialog). Anyhow, it works because 873 is a valid remote CSeq (any number would be valid in fact).

- The BYE sent to bob is wrong since it must be 873 instead of 872. This produces a "500 Request received out of order" from bob, so the BYE has no effect on bob.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2431628&group_id=232389



More information about the Devel mailing list