[OpenSIPS-Users] Post Dial delay issue

bluerain frank21118 at yahoo.com
Mon Jun 29 18:39:33 CEST 2015


So I guess I am trying to get that going again.  I am currently running 1.11
opensips and here is what my code:

loadmodule "tm.so"
modparam("tm", "fr_timer", 10)
modparam("tm", "fr_inv_timer", 10)
modparam("tm", "restart_fr_on_each_reply", 0)
modparam("tm", "onreply_avp_mode", 1)

...

route{
...
}

onreply_route {
	if(t_check_status("(180)|(183)")) {
		$T_fr_inv_timeout = 60;
	}
}

So, what I am hoping to accomplish is that after we send INVITE to far end
carrier, if:

1. They do not response to INVITE within 10 second, opensips will give up
which cause Asterisk try next carrier.

2. If carrier response (e.g. 180/183) within 10 second, then we will change
the fr_inv_timeout timer to 60 seconds which we will let user wait 60
seconds until ring time out.

But it seems the above code does not work.  I've try it and it keep on
cutting the call off at 10 second.

The only way I got the code to work is simply put 

route{
     $T_fr_inv_timeout = 60;
     ...
}

then the timer will change to 60 seconds.  But then it is useless because I
want only change the timer to 60 seconds once I get a 180/183.  The reason
is that carrier have their own LCR that have to go through which sometime
takes more then 10 seconds to get back 180/183 to us and thus kill our PDD
also.  So in the case, I want to be able to skip to next carrier when PDD
gets too long.

I also tried (which I know probably will not work):

route{

	if(t_check_status("(180)|(183)")) {
		$T_fr_inv_timeout = 60;
	}
        ...
}

which did not work either.

So it seems t_check_status("180") simply does not work?  Or did I "misplace"
the code?

Thank you!





--
View this message in context: http://opensips-open-sip-server.1449251.n2.nabble.com/Post-Dial-delay-issue-tp7597743.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.



More information about the Users mailing list