[OpenSIPS-Users] log_next_state_dlg bogus events

Bogdan-Andrei Iancu bogdan at opensips.org
Wed Mar 14 19:06:56 CET 2012


Hi Max,

Noting to worry about - actually, the RFC says that you may send a BYE 
instead of CANCEL (one of the SIP's bullshits), but from a proxy 
perspective, nothing changes - the proxy has to route the BYE any other 
BYE and if it gets to the callee, it is up to callee to cancel the call 
(if supporting BYE as CANCEL);

Probably what we should do is to simply make OpenSIPS silent about this 
case - anyhow it has nothing to do (from dialog state transition point 
of view).

Regards,
Bogdan

On 03/14/2012 03:20 PM, Max Mühlbronner wrote:
> I was worried about the same thing, until i noticed the critical error 
> just means a client sends a bye (event 7) for a dialog in 
> progress.(state 2) when he should send a CANCEL instead.
> So there is nothing to worry about, right!?
>
>
> Best Regards
>
>
> Max M.
>
> On 03/14/2012 01:20 PM, Bogdan-Andrei Iancu wrote:
>> Hi Jan,
>>
>> Actually this is a hen and the egg problem : in order to get access 
>> to DLG_status, the request must be matched against the dialog (and 
>> matching is done inside this loose_route() ) ; on the other hand, the 
>> error you see is generated during the matching itself :)
>>
>> I see no way to get rid of the error without chancing the actual code.
>>
>> Regards,
>> Bogdan
>>
>> On 03/14/2012 12:07 PM, Jan D. wrote:
>>> Vlad,
>>>
>>> Still a little question: The dialog docs tell me i can check the dialog
>>> status after doing a loose route:
>>>
>>> 1.9.2. $DLG_status : Returns the status of the dialog corresponding 
>>> to the
>>> processed sequential request. This PV will be available only for 
>>> sequential
>>> requests, after doing loose_route().
>>>
>>> In my script i moved the check into my loose route like this:
>>>
>>> if(loose_route())
>>> {
>>>         xlog("L_INFO", " INFO : route 0 LOOSE_ROUTE\n");
>>>
>>>         if (is_method("BYE")&&  $DLG_status<  3)
>>>         {
>>>                 xlog("L_ERROR", " INFO : 501 BYE with $DLG_status 
>>> not supported
>>> here\n");
>>>                 sl_send_reply("501", "Method Not Supported Here");
>>>                 exit;
>>>         }
>>>         else
>>>         {
>>>                 xlog("L_ERROR", " INFO : BYE with $DLG_status OK\n");
>>>         }
>>> }
>>>
>>> Now i still get an error in my log files:
>>> Mar 14 10:55:52 /usr/sbin/opensips[14227]: ********** ROUTE 00 
>>> **********
>>> BYE 89.146.10.180
>>> Mar 14 10:55:52 /usr/sbin/opensips[14227]:
>>> CRITICAL:dialog:log_next_state_dlg: bogus event 7 in state 2 for dlg
>>> 0x7f800574c688 [1887:925512554] with clid
>>> 'MGJjY2RmNmMzNmRmYTdhZmYxMTFkMTdjM2ZiMGU1Y2I.' and tags '6b07d36d'
>>> '34F196CC-2329'
>>> Mar 14 10:55:52 /usr/sbin/opensips[14227]:  INFO : route 0 LOOSE_ROUTE
>>> Mar 14 10:55:52 /usr/sbin/opensips[14227]:  INFO : 501 BYE with 2 not
>>> supported here
>>>
>>> What can i do to get rid of the critical error?
>>>
>>> FYI: When calling out with X-lite (4.1 63214) and canceling the request
>>> after some time, X-Lite generates a BYE and after this a CANCEL, quite
>>> strange...
>>>
>>>
>>> Gr.
>>>
>>> Jan
>>>
>>>
>>> -- 
>>> View this message in context: 
>>> http://opensips-open-sip-server.1449251.n2.nabble.com/log-next-state-dlg-bogus-events-tp7354379p7371331.html
>>> Sent from the OpenSIPS - Users mailing list archive at Nabble.com.
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>
>>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>


-- 
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com




More information about the Users mailing list