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
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users