[OpenSIPS-Devel] [ opensips-Bugs-2080954 ] [Dialog] Race between 200OK and ACK

SourceForge.net noreply at sourceforge.net
Wed Mar 11 14:53:21 CET 2009


Bugs item #2080954, was opened at 2008-08-28 21:56
Message generated for change (Comment added) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2080954&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: Closed
Resolution: Fixed
Priority: 7
Private: No
Submitted By: Norm Brandinger (norm_brandinger)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: [Dialog] Race between 200OK and ACK

Initial Comment:
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 at 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

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

>Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2009-03-11 15:53

Message:
Fixed confirmed.

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

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2009-03-10 13:44

Message:
Norman,

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

Thanks and regards,
Bogdan

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

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2008-08-30 17:20

Message:
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

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

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



More information about the Devel mailing list