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

Johan De Clercq Johan at democon.be
Thu May 9 09:44:04 EDT 2019


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20190509/b8bb9a3e/attachment-0001.html>


More information about the Users mailing list