[OpenSIPS-Users] Post Dial delay issue

Bogdan-Andrei Iancu bogdan at opensips.org
Thu Jul 2 16:14:34 CEST 2015


Hi,

Do you use the generic onreply_route (without name) ?? if no, that route 
has no transaction context, so you timer set is discarded (as not 
associated to any transaction).

Use a named onreply_route, armed with t_on_reply("name") at INVITE time.

Best Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 29.06.2015 19:39, bluerain wrote:
> 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.
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>




More information about the Users mailing list