[OpenSIPS-Users] I need some help in failover scenario while TCP connection breaks .

Sasmita Panda spanda at 3clogic.com
Fri May 10 01:06:58 EDT 2019


Hi ,

Thank you so much for the quick reply . You guys are really awesome   .

t_relay()flags[1] did the trick for me .

I haven't tried the modparam option . I will test with that also .

*Thanks & Regards*
*Sasmita Panda*
*Senior Network Testing and Software Engineer*
*3CLogic , ph:07827611765*


On Thu, May 9, 2019 at 7:15 PM Johan De Clercq <Johan at democon.be> wrote:

> Sasmita,
> can you try with this setting :
>
> # Disable automatic 100 Trying
> modparam("tm", "auto_100trying", 0)
>
> BR,
>
> Op do 9 mei 2019 om 13:28 schreef Sasmita Panda <spanda at 3clogic.com>:
>
>> My scenario :
>>
>> Register Request flow
>> *B --> opensips (tcp proxy )  --> opesips (registrar)*
>>
>> tcp proxy add itself in the path .. so that whenevr any request come for
>> B that goes through TCP proxy .
>>
>> Invite Request flow
>> *A -- > opensips (registrar) -->  opensips (tcp proxy) --> B*
>>
>> Problem . Sometime tcp connection between TCP proxy and B breaks down ,
>> at that time TCP proxy sends "477 Send Failed " .
>>
>> *A--> Opensips (registrar)--> opensips (tcp proxy) -\\-> B*
>> *A <-- Opensips (registrar) <-- (477 send Failed) Opensips (tcp proxy)*
>>
>> What I am trying to do is , If B is register from 2 location and
>> registrar server has 2 contact in the data base .When Invite come for B ,
>> then it try 1st contact and if TCP proxy not able to send that request to B
>> and sends back "477  send failed " to registrar .
>>
>> Now My registrar server sends that 477 back to A . But I want  registrar
>> o do failover and send the same Invite to 2nd destination rather than
>> sending error message Back to A .
>>
>> As for my understanding it not doing failover because proxy 1st sends
>> "100 trying " for invite then "477 send failed " .
>>
>> Is there any option through which I can do this ,
>>
>> Failover block in my registrar config :
>> failure_route[3] {
>>         # the previous contact is not good
>>
>>         if (t_check_status("408|404|477|486|50[234]|603")) {
>>                 # route to the next contact
>>                 if (next_branches()) {
>>                         # prepare for lcr failover
>>                         xlog( "L_NOTICE", "[$Tf] FR: $ci Next contact $fU
>> -> $tU via $rd\n" );
>>                         #t_on_reply("1");
>>                         t_on_failure("3");
>>                         if (!t_relay()){
>>                                 exit;
>>                         }
>>                 } else {
>>                         xlog( "L_WARN", "[$Tf] FR: $ci No more buscuits
>> in the biscuit tin -> 503.\n" );
>>                         #t_reply("503", "Service unavailable -- no more
>> gateways");
>>                         exit;
>>                 };
>>
>>         };
>>         exit;
>> }
>>
>>
>> Please do help . I am blocked in a production environment .
>>
>>
>> *Thanks & Regards*
>> *Sasmita Panda*
>> *Senior Network Testing and Software Engineer*
>> *3CLogic , ph:07827611765*
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20190510/d9fa43c6/attachment.html>


More information about the Users mailing list