[OpenSIPS-Users] Dialog and avp_timeout
Marcello Lupo
mlist at itspecialist.it
Thu Apr 5 18:51:45 CEST 2012
Hi Bogdan,
ok thank you for the answer.
I will implement it this night.
Bye,
Marcello
On Apr 5, 2012, at 6:44 PM, Bogdan-Andrei Iancu wrote:
> 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