[Kamailio-Users] [dialog module] dialog is not terminated when no ACK is received

Daniel-Constantin Mierla miconda at gmail.com
Tue Mar 16 13:16:49 CET 2010


Hello Inaki,

On 03/04/2010 04:51 PM, Iñaki Baz Castillo wrote:
> El Jueves, 4 de Marzo de 2010, Daniel-Constantin Mierla escribió:
>    
>> Hello,
>>
>> On 03/04/2010 04:17 PM, Iñaki Baz Castillo wrote:
>>      
>>> El Miércoles, 3 de Marzo de 2010, Iñaki Baz Castillo escribió:
>>>        
>>>> Hi, using Kamailio 1.5.4.
>>>>
>>>> I use dlg_manage() for an INVITE. 200 Ok is replied by the callee but
>>>> the UAC doesn't send the ACK (due to a crash).
>>>>
>>>> The dialog remains in Kamailio dialog memory/table in state 3 and would
>>>>    expire after default_timeout (which usually is 3600 seconds or more,
>>>>    unsuitable for this case).
>>>>
>>>> Yes, it could occur that the proxy is not doing loose_routing, but in
>>>> that case it doesn't make sense to use dialog module, so shouldn't
>>>> dialog module expire dialogs in state 3 after ~32 seconds?
>>>>
>>>> I'm using profiles_with_value to limit the number of calls per user, so
>>>>    this issue is a bit important, as a UAC not sending the ACK for a 200
>>>>    means one less available channel for this user during dialog module
>>>>    default_timeout.
>>>>          
>>> Another issue: when a call is cancelled the dialog remains in memory for
>>> ~4 seconds more.
>>>
>>> This is:
>>> - INVITE received and any provisional response =>   dialog in state 2.
>>> - CANCEL received =>   dialog in state 5 for ~4 seconds.
>>>
>>> Is there any reason for that?
>>>        
>> there might be a detele timer delay.
>>      
> I've checked and the same occurs when the INVITE transaction is terminated
> with a final [3456]XX response. In any case it remains in memory in state 5
> for ~4 seconds.
>    
took me a bit to get back to this one.

 From what you describe this seems to be related to transaction life in 
delete state. If the dialog is not answered, it is not inserted in 
dialogs list. It is kept attached to invite transaction.

I agree that state 3 should stay no longer than 32sec, normally this 
should be clear by caller sending BYE due to non-ACK. You said you are 
not doing record routing, how the bye gets then to the proxy so the 
dialog is cleared from memory?

Cheers,
Daniel

-- 
Daniel-Constantin Mierla
Kamailio SIP Router Masterclass, Berlin, March 22-26, 2010
* http://www.asipto.com/index.php/sip-router-masterclass/




More information about the Users mailing list