[OpenSIPS-Users] Dialog and avp_timeout

Bogdan-Andrei Iancu bogdan at opensips.org
Thu Apr 5 18:44:29 CEST 2012


Hi Marcello,

If it is an ACK for 200 OK, it will be an end-2-end ACK driven by Route 
hdrs , so it will have "loose_route" returning true.

if it is an ACK for a negative reply, it will be a hop-by-hop ACL with 
no Route hdrs, so it script (check the default one) will go like 
loose_route() false -> is ACK -> t_check_tran() true -> t_relay().


But in your case, you shouldn't really care too much - it an ACK, set a 
new timeout just before the loose_route() - if it is an 200 OK ACK -> 
the timeout will be set; if a negative reply ACK, no dialog, no timeout :)

Regards,
Bogdan

On 04/05/2012 07:26 PM, Marcello Lupo wrote:
> Hi,
> in which way i can recognize the ACK to a 200 OK and check that there is a valid dialog attached to it to don't change the timeout_avp value for an ACK to a non 200 OK?
> Thank you
> Regards
> Marcello
>
> On Apr 5, 2012, at 12:22 PM, Marcello Lupo wrote:
>
>> Hi,
>> thank you.
>> In this way i cannot check the $DLG_status variable correct? I read in the docs that this variable is available only after the loose_route.
>> Regards
>> Marcello
>>
>> On Apr 5, 2012, at 10:10 AM, Razvan Crainea wrote:
>>
>>> Hi, Marcello!
>>>
>>> The dialog is matched by the loose_route function. And this is when all the dialog structures are updated. If you are changing anything after the loose_route, the changes won't be visible in the dialog.
>>>
>>> Regards,
>>>
>>> --
>>> Răzvan Crainea
>>> OpenSIPS Developer
>>> http://www.opensips-solutions.com
>>>
>>>
>>> On 04/05/2012 11:06 AM, Marcello Lupo wrote:
>>>> Hi,
>>>> effectively i was using it after the loose_route().
>>>> I will try to do it after the loose_route().
>>>> Why it have to be done in this way? Just for information.
>>>> Thank you for the answer.
>>>> Regards
>>>> Marcello
>>>>
>>>> On Apr 5, 2012, at 9:36 AM, Razvan Crainea wrote:
>>>>
>>>>> Hi, Marcello!
>>>>>
>>>>> The block used to handle the ACK timeout is executed before loose_route or after? It should be before.
>>>>>
>>>>> Regards,
>>>>>
>>>>> --
>>>>> Răzvan Crainea
>>>>> OpenSIPS Developer
>>>>> http://www.opensips-solutions.com
>>>>>
>>>>>
>>>>> On 04/04/2012 11:59 PM, Marcello Lupo wrote:
>>>>>> Hi,
>>>>>> I'm using opensips 1.6.4 with dialog support.
>>>>>> I use dialog default timeout to close automatically calls after 3 hours and it works great.
>>>>>> Sometimes happen that some dialog remain in state 3 (200 OK received but ACK not received) till the default_timeout is reached.
>>>>>> I was trying to set default_timeout to 120 seconds and change the avp_timeout on the ACK to a greater value so the calls in state 3 will be automatically closed form the system after 120 sec.
>>>>>> I read around the docs that the timeout can be changed everywhere in the script after the dialog has been created but it is not working for me.
>>>>>>
>>>>>> Every time the system give me:
>>>>>>
>>>>>> DBG:dialog:get_dlg_timeout: invalid AVP value, use default timeout
>>>>>>
>>>>>> and never update the timeout_avp.
>>>>>>
>>>>>> I have in the config:
>>>>>>
>>>>>> modparam("dialog", "default_timeout", 120)
>>>>>> modparam("dialog", "timeout_avp", "$avp(i:104)")
>>>>>> modparam("dialog", "bye_on_timeout_flag", 21)
>>>>>>
>>>>>> In routing block when dialog start:
>>>>>>
>>>>>> create_dialog();
>>>>>> setflag(21);
>>>>>>
>>>>>>
>>>>>> In routing block to check ACK:
>>>>>>
>>>>>>         if(method=="ACK"&&    $DLG_status!=NULL) {
>>>>>>                 $avp(i:104)="10800";
>>>>>>                # $avp(i:104)=10800;
>>>>>>                 setflag(21);
>>>>>>         }
>>>>>>
>>>>>> I tried to put the avp_timeout value as INT or as STRING but no difference. Looking in the source code seems that default_timeout is INT but timeout_avp expect string value.
>>>>>>
>>>>>> Someone can help?
>>>>>> Thank you
>>>>>> Bye
>>>>>> Marcello
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>
>> _______________________________________________
>> 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