Re: [OpenSIPS-Users] Timer Based Failover Question
Thank you Dave, this has been working perfectly for me. Regards, Bruce From: Brett Nemeroff To: OpenSIPS users mailling list Sent: Tue, 23 November, 2010 23:31:09 Subject: Re: [OpenSIPS-Users] Timer Based Failover Question I do this.. Works really well.. -Brett On Tue, Nov 16, 2010 at 12:49 PM, Dave Singer wrote: I ran into the same problem with one of our carriers. The way I did it, with advice from bogdan, was to set the fr_inv_timer_avp to 6 sec (so long because of some calls to cell phone systems have long delays) when sending to the particular carrier then in a reply route special to that carrier, reset it to the normal 300 if the response was a 18x. Here are the pertinent parts: > > >modparam("tm", "fr_inv_timer", 300) # Timer on Final response: >Minimum is 2 sec, Default is 120 sec. >modparam("tm", "restart_fr_on_each_reply", 1) # Reset fr_int_timer on each >reply. Needed if you want to adjust the fr_inv_timer_avp with avp depending on >reply. >modparam("tm", "fr_inv_timer_avp", "$avp(i:2)") # Used if overide of >fr_inv_timer param is needed. >modparam("tm", "onreply_avp_mode", 1) # set to 1 if you want to >access >and or save avps from or for other parts of the transaction, like changing >the fr_inv_timer_avp. > > >route[carrier_c] { >if (is_method("INVITE")) { >t_on_failure("2"); >t_on_reply("2"); >$avp(i:2) = 6; >} >} >onreply_route[2] { >/* once we get ring progress let it ring for upto 300 sec */ >fix_nated_contact(); >if ( $rs =~ "18." ) { >$avp(i:2) = 300; >#xlog("got ringing, reset final timer to $avp(i:2) sec.\n"); >} >} > > >On Tue, Nov 16, 2010 at 2:49 AM, Denis Putyato wrote: > >And what about >>http://www.opensips.org/html/docs/modules/1.6.x/tm.html#id250384 >> >> >>From:users-boun...@lists.opensips.org >>[mailto:users-boun...@lists.opensips.org] >>On Behalf Of Bruce Borrett >>Sent: Tuesday, November 16, 2010 1:40 PM >>To: Users@lists.opensips.org >>Subject: [OpenSIPS-Users] Timer Based Failover Question >> >>Hi All >> >>I am having a problem where a SIP provider are sometimes sending us a 100, >>but >>then nothing afterwards. I would like to fail these calls over using a timer, >>but fr_timer wont work since we are receiving a 100, and fr_inv_timer >>requires a >>very lengthy duration which also will not work as I would like for the call >>to >>failover within 5 seconds maximum. >> >>Does anyone have any other suggestion for me please? >> >>Regards, >>Bruce Borrett >> >>___ >>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 > > ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Timer Based Failover Question
I do this.. Works really well.. -Brett On Tue, Nov 16, 2010 at 12:49 PM, Dave Singer wrote: > I ran into the same problem with one of our carriers. The way I did it, > with advice from bogdan, was to set the fr_inv_timer_avp to 6 sec (so long > because of some calls to cell phone systems have long delays) when sending > to the particular carrier then in a reply route special to that carrier, > reset it to the normal 300 if the response was a 18x. Here are > the pertinent parts: > > modparam("tm", "fr_inv_timer", 300) # Timer on Final response: > Minimum is 2 sec, Default is 120 sec. > modparam("tm", "restart_fr_on_each_reply", 1) # Reset fr_int_timer on > each reply. Needed if you want to adjust the fr_inv_timer_avp with avp > depending on reply. > modparam("tm", "fr_inv_timer_avp", "$avp(i:2)") # Used if overide of > fr_inv_timer param is needed. > modparam("tm", "onreply_avp_mode", 1) # set to 1 if you want to > access and or save avps from or for other parts of the transaction, like > changing the fr_inv_timer_avp. > > route[carrier_c] { > if (is_method("INVITE")) { > t_on_failure("2"); > t_on_reply("2"); > $avp(i:2) = 6; > } > } > onreply_route[2] { > /* once we get ring progress let it ring for upto 300 sec */ > fix_nated_contact(); > if ( $rs =~ "18." ) { > $avp(i:2) = 300; > #xlog("got ringing, reset final timer to $avp(i:2) > sec.\n"); > } > } > > On Tue, Nov 16, 2010 at 2:49 AM, Denis Putyato wrote: > >> And what about >> >> http://www.opensips.org/html/docs/modules/1.6.x/tm.html#id250384 >> >> >> >> >> >> *From:* users-boun...@lists.opensips.org [mailto: >> users-boun...@lists.opensips.org] *On Behalf Of *Bruce Borrett >> *Sent:* Tuesday, November 16, 2010 1:40 PM >> *To:* Users@lists.opensips.org >> *Subject:* [OpenSIPS-Users] Timer Based Failover Question >> >> >> >> Hi All >> >> I am having a problem where a SIP provider are sometimes sending us a 100, >> but then nothing afterwards. I would like to fail these calls over using a >> timer, but fr_timer wont work since we are receiving a 100, and fr_inv_timer >> requires a very lengthy duration which also will not work as I would like >> for the call to failover within 5 seconds maximum. >> >> Does anyone have any other suggestion for me please? >> >> Regards, >> Bruce Borrett >> >> >> >> ___ >> 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 > > ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Re: [OpenSIPS-Users] Timer Based Failover Question
I ran into the same problem with one of our carriers. The way I did it, with advice from bogdan, was to set the fr_inv_timer_avp to 6 sec (so long because of some calls to cell phone systems have long delays) when sending to the particular carrier then in a reply route special to that carrier, reset it to the normal 300 if the response was a 18x. Here are the pertinent parts: modparam("tm", "fr_inv_timer", 300) # Timer on Final response: Minimum is 2 sec, Default is 120 sec. modparam("tm", "restart_fr_on_each_reply", 1) # Reset fr_int_timer on each reply. Needed if you want to adjust the fr_inv_timer_avp with avp depending on reply. modparam("tm", "fr_inv_timer_avp", "$avp(i:2)") # Used if overide of fr_inv_timer param is needed. modparam("tm", "onreply_avp_mode", 1) # set to 1 if you want to access and or save avps from or for other parts of the transaction, like changing the fr_inv_timer_avp. route[carrier_c] { if (is_method("INVITE")) { t_on_failure("2"); t_on_reply("2"); $avp(i:2) = 6; } } onreply_route[2] { /* once we get ring progress let it ring for upto 300 sec */ fix_nated_contact(); if ( $rs =~ "18." ) { $avp(i:2) = 300; #xlog("got ringing, reset final timer to $avp(i:2) sec.\n"); } } On Tue, Nov 16, 2010 at 2:49 AM, Denis Putyato wrote: > And what about > > http://www.opensips.org/html/docs/modules/1.6.x/tm.html#id250384 > > > > > > *From:* users-boun...@lists.opensips.org [mailto: > users-boun...@lists.opensips.org] *On Behalf Of *Bruce Borrett > *Sent:* Tuesday, November 16, 2010 1:40 PM > *To:* Users@lists.opensips.org > *Subject:* [OpenSIPS-Users] Timer Based Failover Question > > > > Hi All > > I am having a problem where a SIP provider are sometimes sending us a 100, > but then nothing afterwards. I would like to fail these calls over using a > timer, but fr_timer wont work since we are receiving a 100, and fr_inv_timer > requires a very lengthy duration which also will not work as I would like > for the call to failover within 5 seconds maximum. > > Does anyone have any other suggestion for me please? > > Regards, > Bruce Borrett > > > > ___ > 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
Re: [OpenSIPS-Users] Timer Based Failover Question
And what about http://www.opensips.org/html/docs/modules/1.6.x/tm.html#id250384 From: users-boun...@lists.opensips.org [mailto:users-boun...@lists.opensips.org] On Behalf Of Bruce Borrett Sent: Tuesday, November 16, 2010 1:40 PM To: Users@lists.opensips.org Subject: [OpenSIPS-Users] Timer Based Failover Question Hi All I am having a problem where a SIP provider are sometimes sending us a 100, but then nothing afterwards. I would like to fail these calls over using a timer, but fr_timer wont work since we are receiving a 100, and fr_inv_timer requires a very lengthy duration which also will not work as I would like for the call to failover within 5 seconds maximum. Does anyone have any other suggestion for me please? Regards, Bruce Borrett ___ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users