Hi Ravi,
Before each t_rely() you have to set the your custom $T_fr_inv_timeout
and $T_fr_timeout, otherwise the default values will be used. As you
have a serial forking scenario, you do a new t_relay() at each step.
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
OpenSIPS Bootcamp 2017, Houston, US
http://opensips.org/training/OpenSIPS_Bootcamp_2017.html
On 07/25/2017 05:34 PM, Ravi Patel wrote:
Hi Team,
What is the right way to reset timers *$T_fr_inv_timeout* and
*$T_fr_timeout* ??
I am using OpenSIPS-2.2 version
The below scenario will help to understand issue,
There are 4 SIP users,
1111,2222,3333,4444
What I want to achieve is:
1111 ---> 2222 (FORWARD ON NOANSWER) ---> 3333 (FORWARD ON NOANSWER)
---> 4444
*1st Test Case Scenario:*
1111
2222 (fr_inv_timeout 20 sec)
3333 (fr_inv_timeout 25 sec)
4444 (fr_inv_timeout 30 sec)
when 1111 calls 2222 : OpenSIPS generates CANCEL at 20 secs (thats
working proper as expexted) and forwards call to 3333 as per my
configuration.
so in --> 3333 : OpenSIPS generates CANCEL at *20 secs instead of 25
secs* and send 408 to 1111. and not processing the 2nd forwarding.
*2nd Test Case Scenario:*
1111
2222 (fr_inv_timeout 20 sec)
3333 (fr_inv_timeout 15 sec)
4444 (fr_inv_timeout 30 sec)
when 1111 calls 2222 : OpenSIPS generates CANCEL at 20 secs (that is
working proper as expexted) and forwards call to 3333 as per my
configuration.
now --> 3333 : OpenSIPS generates CANCEL at 15 secs and forwards the
call to 4444, Here OpenSIPS generates CANCEL *after 5 secs instead of
30 secs.*
We set timeout by using $T_fr_inv_timeout.
------------
route[ring_timeout]{
xlog("L_INFO","------------------- RING_TIMEOUT
---------------\n");
if (!is_method("INVITE"))
return;
avp_db_load("$rU","$avp(ringtimeout)/usr_preferences");
if($avp(ringtimeout)!=null)
{
$T_fr_inv_timeout = NULL;
xlog("L_INFO","$rU: Ring timeout :
$avp(ringtimeout)");
$T_fr_inv_timeout =$(avp(ringtimeout){s.int
<http://s.int>}) ;
xlog("L_INFO","$rU: Ring timeout is setted:
[$T_fr_inv_timeout]");
}
else
{
xlog("L_INFO","$rU: Ring timeout is NOT setted");
}
}
------------------
From both the scenarios what we found, it sticks to the first timeout
of 2222,that is 20secs in our case.
In first scenario it generates CANCEL on 3333 at 20 secs instead of 25
that is 2222's Timeout.
In second scenario it generates CANCEL on 3333 at 15sec and on 4444 at
5 sec (15 + 5 = 20 sec) that is also 2222's timeout.
Can I know the right method to set $T_fr_inv_timeout ?
Let me know if any other information is needed.
Thanks,
Ravi
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users