[OpenSER-Users] issue - remote sip client must re-register after failover in Openser Registrar HA config

Naija Man voip4naija at gmail.com
Fri Mar 7 18:51:26 CET 2008


Thanks Patrick,

I have re-configured a common database for the servers and I am still having
the same issues. Can this be an issue with PAT at the Load balancer after
failover since the INVITE is coming from  openser_2 and going to the same
IP:port associated with openser_1.

I am also open to trying other methods to achieve OpenSER registrar HA if
any available.

Thanks.

Buki A


>
> > ---------- Forwarded message ----------
> > From: Patrick Miccio <pmiccio at upcbroadband.com>
> > To: <users at lists.openser.org>
> > Date: Thu, 6 Mar 2008 11:04:40 +0100
> > Subject: Re: [OpenSER-Users] issue - remote sip client must re-register
> > after failover in Openser Registrar HA config
> > Hi,
> >
> > you need to have a common mysql table for the registrations so that when
> > OpenSER_2 taks over it has the informations
> > OpenSER_1 wrote in the DB.
> >
> > you can achieve this with a single mysql server, or better with a
> > cluster ;)
> >
> >
> > cheers,
> >
> > Patrick.
> >
> >
> > > Hi friends,
> > >
> > > I am having problems setting up seamless openser registrar failover. I
> > am trying to setup OpenSER registrar HA using
> > > 2 openser registrars v1.3.0 behind a Netscaler citrix Load balancer
> > and I cant get the failover scenario to work
> > > without re-registration of the remote sip client.
> > >
> > > I am desperately looking for tips to make this configuration work or
> > any other ideas to achieve SIP registrar HA
> > > using OpenSER. Thanks.
> > >
> > >
> > >
> > > The setup is configured as active-passive and the 2nd OpenSER becomes
> > active only after a Openser_1 fails and the LB
> > > fails-over to the 2nd. The 2 openser servers are SIP registrars for my
> > voice network.
> > >
> > > REGISTRATION:
> > > remote SIP UA ---> remote firewall ---> internet ---> my firewall --->
> > citrix NA loadbalancer (VIP) ----> openSER_1
> > >
> >                                                                    \--->
> > > openSER_2
> > >
> > > 1.   Remote SIP client configures the LB VIP as the SIP proxy and
> > registers
> > > 2.   the citrix LB gets the registrations and forwards to the active
> > openser (say, openser_1)
> > > 3.   openser_1 stores the contact as MIP:port in the mysql database
> > > 4.   openser_1 replicates the registration to openser_2 (t_replicate)
> > >
> > > OUT-GOING CALL - before fail-over
> > > remote SIP UA <--- remote firewall <--- internet <--- my firewall <---
> > citrix NA loadbalancer (VIP) <----> openSER_1
> > >
> >                                                 ^
> > > openSER_2 |
> > >
> >                                           Asterisk
> > >
> > > 1.   call (INVITE) is generated from asterisk and sent to LB VIP
> > > 2.   the citrix LB gets the INVITE and forwards to the active openser
> > (say, openser_1)
> > > 3.   openser_1 looks-up the URI in the MySQL database, finds the
> > MIP:port that the registration was received from the
> > > LB and forwards the INVITE to that destination. 4.   the LB receives
> > the INVITE and forwards it to the remote SIP
> > > client
> > >
> > >
> > > OUT-GOING CALL - after fail-over
> > > remote SIP UA ---x remote firewall ---x internet   ---x my firewall
> > ---x citrix NA loadbalancer (VIP) ----x  openSER_1
> > >
> >                                                 ^
> > > \-----<   openSER_2 |
> > >
> >                                           Asterisk
> > >
> > > 1.   call (INVITE) is generated from asterisk and sent to LB VIP
> > > 2.   the citrix LB gets the INVITE and forwards to the openser now
> > active (openser_2)
> > > 3.   openser_2 looks-up the URI in the MySQL database, finds the same
> > MIP:port of the LB that was replicated from
> > > openser_1 and forwards the INVITE to that destination. 4.   the LB
> > receives the INVITE and drops the packet without
> > > forwarding it out to the remote SIP client
> > >
> > >
> > >
> > > For the outgoing call to work: the remote sip client either has to
> > re-register, so the registration gets passed to
> > > openser_2. OR, openser_1 is made active again.
> > >
> > >
> > > Configuration of OpenSER:
> > >
> > > REGISTRATION:
> > >                 # If this is a registration from the public UA,
> > >                 # then we store it
> > >                 fix_nated_contact(); # use ip address of the packet
> > instead of the sip message
> > >                 force_rport(); # append rport. might not be necessary
> > >
> > >                 # save Registration in location table
> > >                 save("location");
> > >                 xlog("L_DBG", "SipMsgId[$mi] Save Registration:
> > To[$tu] Contact[$ct]\n");
> > >     append_hf("CtlRegFwd: \r\n");
> > >                 # replicate the register message to the backup
> > registrar
> > >     # if I am the backup, ignore the message
> > >                 if(!t_replicate("sip:openser_2:5060")) {
> > >                     xlog("L_WARN", "SipMsgId[$mi] Fail to replicate
> > Contact[$ct] to fail over registrar\n");
> > >
> > > OUTGOING CALL:
> > >
> > >             # Do lookup so it gets to the correct NATed destination
> > >             if (!lookup("location"))
> > >             {
> > >                 # this user has not REGISTERed or registration has
> > expired
> > >                 xlog("L_INFO", "SipMsgId[$mi] Send 404-Not Found (Msg
> > rejected because user not found)\n");
> > >                 sl_send_reply("404", "Not Found");
> > >                 exit;
> > >             };
> > >
> > >     # keep track of reply
> > >     t_on_reply("11");
> > >     if (!t_relay())
> > >     {
> > >         xlog("L_DBG", "SipMsgId[$mi] Failed t_relay. Do
> > sl_reply_error.\n");
> > >         sl_reply_error();
> > >     };
> > >
> > >
> > >
> > > Thank you for your anticipated help.
> > >
> > > Regards,
> > >
> > > Buki A
> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kamailio.org/pipermail/users/attachments/20080307/6f5614e6/attachment.htm 


More information about the Users mailing list