#17 [Dialog] Race between 200OK and ACK

trunk
closed-fixed
modules (454)
7
2009-03-11
2008-08-28
No

The following debug=9 output shows the CRITICAL message being sent to the logs:

DBG:dialog:dlg_onroute: route param is '753.7529a772' (len=12)
DBG:dialog:lookup_dlg: ref dlg 0x7feb264548b8 with 1 -> 3
DBG:dialog:lookup_dlg: dialog id=662344279 found on entry 855
DBG:core:parse_headers: flags=48
CRITICAL:dialog:log_next_state_dlg: bogus event 6 in state 1 for dlg with clid '77d113b9-f939a20d@192.168.1.16' and tags '898847c9d0857d3do2' ''
DBG:dialog:next_state_dlg: dialog 0x7feb264548b8 changed from state 1 to state 1, due event 6

I've tested SVN revisions and this problem first starts to happen for revision 4651

The following command can be used to pull this revision:

svn co --revision 4651 https://opensips.svn.sourceforge.net/svnroot/opensips/trunk opensips

Regards,
Norm

Discussion

  • Bogdan-Andrei Iancu

    • priority: 5 --> 7
    • assigned_to: nobody --> bogdan_iancu
    • summary: dialog module throwing CRITICAL messages --> [Dialog] Race between 200OK and ACK
    • status: open --> open-accepted
     
  • Bogdan-Andrei Iancu

    Logged In: YES
    user_id=1275325
    Originator: NO

    Hi Norman,

    "bogus event 6 in state 1" means you received an ACK while the dialog is still in unconfirmed state (no reply received).
    In the revision you mention, Dan relaxed the dialog SIP matching condition - if there is no TOTAG set yet in the dialog, the totag matching will be skipped.

    What happens for you - you have a race between the reply and ACK - the 200 OK probably had no time to be processed in the dialog module (the processing is done after sending the 200 OK out) and the ACK was already received - so the ACK will find the dialog still un-updated by 200 OK.

    Before the Dan's change, the ACK was simply not matching the dialog and the dialog was simply remaining in unconfirmed-not_ack state (as the ACK was lost).
    Now, the situation is the same, but the race is reported - there are some plans in doing a fix to solve the problem of this race.

    I will rename the bug report.

    Thanks and regards,
    Bogdan

     
  • Bogdan-Andrei Iancu

    Norman,

    I applied a fix about this - if you can update and test, it will be great.

    Thanks and regards,
    Bogdan

     
  • Bogdan-Andrei Iancu

    • status: open-accepted --> open-fixed
     
  • Bogdan-Andrei Iancu

    • status: open-fixed --> closed-fixed
     
  • Bogdan-Andrei Iancu

    Fixed confirmed.

     

Log in to post a comment.