[OpenSIPS-Users] [OpenSIPS-Devel] dialog module: dialog not cleaned up when BYE is sent

Herman Bastiaens herman.bastiaens at androme.be
Wed Mar 11 17:16:19 CET 2009


Hi Bogdan,

yes, I see these messages in the log. You can also find them in the log I've sent you on monday (09-03). Because the DID 
was not present (due to the record_route_preset bug), the matching mode falls back to matching based on SIP elements.

Best Regards,

Herman

Bogdan-Andrei Iancu wrote:
> Hi Herman,
> 
> yes, that is correct. When you use mode 2 (no did), for ACK and BYE, do 
> you get something like this in the logs: "no dialog callid=" ?
> 
> Regards,
> Bogdan
> 
> Herman Bastiaens wrote:
>> Hi Bogdan,
>>
>> the issue is resolved when using the DID for dialog matching, but if I 
>> use dlg_match_mode 2, the error still occurs. Is there a problem with 
>> the matching of messages to dialogs if there is no DID present?
>>
>> Best Regards,
>>
>> Herman
>>
>> Bogdan-Andrei Iancu wrote:
>>> Hi Herman,
>>>
>>> Thanks for the files you sent me. I found out that the problem was in 
>>> record_route_preset() - the function was simply ignoring whatever 
>>> parameter you were adding from script or from other modules. This is 
>>> why the  DIALOG module was not recognizing the sequential requests.
>>>
>>> The fix is available on 1.5 - if you could give it another try and 
>>> let me know, it will be great.
>>>
>>> Regards,
>>> Bogdan
>>>
>>> Herman Bastiaens wrote:
>>>> Hi Bogdan,
>>>>
>>>> xxxxx
>>>>
>>>> The problem only occurs:
>>>> - if there is another server in the loop, if I test with a client 
>>>> that's registered to xxxxxx (instead of the demo server), the issue 
>>>> does not occur
>>>> - if I record_route_preset instead of record_route. As you'll see, 
>>>> when I record_route_preset, there is no did present in the route 
>>>> header. I believe it should fall back to "default" dialog matching, 
>>>> but perhaps there's a problem with this mechanism?
>>>>
>>>> Hope we can sort this out. Thanks for your replies!
>>>>
>>>> Bogdan-Andrei Iancu wrote:
>>>>> Hi Herman,
>>>>>
>>>>> Sorry for the mixing :).
>>>>>
>>>>> Please get the logs (with debug=6) and the SIP trace (ngrep) for 
>>>>> such a call and sent them to me (you can send them off-list if 
>>>>> larger than 40K).
>>>>>
>>>>> I cannot make any assumption yet without first looking at the logs.
>>>>>
>>>>> Thanks and regards,
>>>>> Bogdan
>>>>>
>>>>> Herman Bastiaens wrote:
>>>>>> Bogdan,
>>>>>>
>>>>>> I didn't post the log on the forum, that was someone else. I just 
>>>>>> added my comment to the thread because it seemed like the same 
>>>>>> problem. I can get a log of the scenario tomorrow if that's helpful.
>>>>>>
>>>>>> Do you have any idea why the record_route_preset could by messing 
>>>>>> up this scenario?
>>>>>> Do you have any idea what could explain the 5 second threshold?
>>>>>>
>>>>>> Thanks a lot for your replies, hope we can sort this out.
>>>>>>
>>>>>>> Herman,
>>>>>>>
>>>>>>> The log you posted on the forum did not show any usage of 
>>>>>>> loose_route() - if you look on the log, for ACK and BYE there is 
>>>>>>> no mesage from "rr" or "dialog" module. Can you confirm this?
>>>>>>>
>>>>>>> Regards,
>>>>>>> Bogdan
>>>>>>>
>>>>>>> Herman Bastiaens wrote:
>>>>>>>> Hi Bogdan,
>>>>>>>>
>>>>>>>> I'm pretty sure I do a loose_route for the ACK and BYE, but I'm 
>>>>>>>> still seeing this error.
>>>>>>>>
>>>>>>>> I've tested the most basic scenario, starting from an example, 
>>>>>>>> and this problem seems to occur when I start using a 
>>>>>>>> record_route_preset("..."). Perhaps the dialog module can't 
>>>>>>>> handle this? (just to be clear, the bug is still only occurring 
>>>>>>>> if the call is shut down during the first few seconds after the 
>>>>>>>> ACK).
>>>>>>>>
>>>>>>>> I've attached the script in which I see the error occurring. The 
>>>>>>>> IP of my server is 172.17.10.44
>>>>>>>>
>>>>>>>>> Hi Herman,
>>>>>>>>>
>>>>>>>>> And the bell rang! :)
>>>>>>>>>
>>>>>>>>> I went over the logs you posted on the forum and I noticed 
>>>>>>>>> (both script and logs) that you are not using loose_route() for 
>>>>>>>>> sequential requests. You do record_route() for the initial 
>>>>>>>>> INVITE, but no loose_route for ACK, BYE. And loose_route() is 
>>>>>>>>> the function that updates the dialog state.
>>>>>>>>>
>>>>>>>>> So, in your case, the dialog does not "see" the ACK and BYE and 
>>>>>>>>> still keeps in the CONFIRMED_NA (not acknowledged) state. This  
>>>>>>>>> is way it is not removed.
>>>>>>>>>
>>>>>>>>> See the default opensips.cfg file to see how to use the 
>>>>>>>>> loose_route(). I beat it will work after that ;)
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Bogdan
>>>>>>>>>
>>>>>>>>> Herman Bastiaens wrote:
>>>>>>>>>> Hi Bodgan,
>>>>>>>>>>
>>>>>>>>>> that's what I'm seeing, time and time again. I was hoping this 
>>>>>>>>>> might ring a bell, but from your reply I take that it doesn't :-)
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>>
>>>>>>>>>> Herman
>>>>>>>>>>
>>>>>>>>>>> Hi Herman,
>>>>>>>>>>>
>>>>>>>>>>> just to copy the reply from the forum :) :
>>>>>>>>>>>
>>>>>>>>>>> So, let me see if I get it right. With the same 
>>>>>>>>>>> configuration, if the call is longer than 5 secs, everything 
>>>>>>>>>>> is ok (dialog is removed when receiving a BYE). But if the 
>>>>>>>>>>> call is shorter than 5 secs, the dialog is not removed.
>>>>>>>>>>> Is this what you say?
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Bogdan
>>>>>>>>>>>
>>>>>>>>>>> Herman Bastiaens wrote:
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> I've posted this problem on the forum 
>>>>>>>>>>>> (https://sourceforge.net/forum/message.php?msg_id=6595314), 
>>>>>>>>>>>> but it doesn't seem to be very active, so I'm posting it 
>>>>>>>>>>>> here as well.
>>>>>>>>>>>>
>>>>>>>>>>>> I'm having a problem with the dialog module of opensips 
>>>>>>>>>>>> 1.4.2-notls. When a call is set up, and released within five 
>>>>>>>>>>>> seconds, the dialog is not removed. I am sure the call is 
>>>>>>>>>>>> set up correctly (INVITE - 200 OK - ACK) and the BYE is sent 
>>>>>>>>>>>> (with the correct call-id, from and to tag), but the dialog 
>>>>>>>>>>>> is not removed.
>>>>>>>>>>>>
>>>>>>>>>>>> I do a record_route_preset () for the INVITE and a 
>>>>>>>>>>>> loose_route() for the BYE.
>>>>>>>>>>>>
>>>>>>>>>>>> Are there any timers, caching, ... that could explain this 
>>>>>>>>>>>> behavior? I have tested a number of times, and the problem 
>>>>>>>>>>>> only occurs if the call is shut down within the first five 
>>>>>>>>>>>> seconds, if the call is running longer, the dialog is 
>>>>>>>>>>>> cleaned up correctly when the BYE is sent.
>>>>>>>>>>>>
>>>>>>>>>>>> note: a dialog is inserted multiple times in the same 
>>>>>>>>>>>> profile, but with different values, I don't know if this is 
>>>>>>>>>>>> relevant for the issue
>>>>>>>>>>>>
>>>>>>>>>>>>   
>>>>>>>>>>>
>>>>>>>>>>> ------------------------------------------------------------------------ 
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> No virus found in this incoming message.
>>>>>>>>>>> Checked by AVG - www.avg.com Version: 8.0.237 / Virus 
>>>>>>>>>>> Database: 270.11.6/1981 - Release Date: 03/03/09 07:25:00
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------ 
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> No virus found in this incoming message.
>>>>>>> Checked by AVG - www.avg.com Version: 8.0.237 / Virus Database: 
>>>>>>> 270.11.8/1985 - Release Date: 03/05/09 07:54:00
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
> 
> 


-- 
Best regards,

Herman

------------------------------------------------------------
Herman Bastiaens               Tel:  (+32) 11 30 13 30
ANDROME NV                     Fax:  (+32) 11 30 13 31
Wetenschapspark 4              mailto:hbastiaens at androme.be
B-3590 Diepenbeek, Belgium     http://www.androme.be



More information about the Users mailing list