[Users] Best practice for DNS failover using OpenSER?

Kerker Staffan staffan.kerker at saabgroup.com
Thu Jan 11 08:19:43 CET 2007

I'm trying to get something to work that I thought should work
out of the box, but when implemented didn't work the way I thought
it would... Please comment.

I'm using OpenSER as a core SIP proxy, among other things to connect
to a POTS network via two independent Cisco PGW2200 SS7 GW. These
gateways have fully DNS resolvable SIP domains (rfc 3263, NAPTR, SRV and A records).
NAPTR (udp only) => SRV (udp only) => 2x A records (one for each redundant GW). Calls
directed to POTS nicely load shares between the two A records. So far so good. 

Now, if I disable one of the Gateways, I hang every second call. OpenSER does not
try the second A record address if the first doesn't answer. How can I solve
this? Shouldn't OpenSER fail over to the second A record listed in the NAPTR => SRV
resolving? Or will OpenSER continue to resend all SIP INVITES until timers fire? Would
it help if the proxy recieved an ICMP port/destination unreachable from the network? Is
there anyway to get around this? In the other direction, from POTS to sip, the PGW2200
nicely switches over to the second of my two OpenSER servers if I shut one of them down. 
These servers have the same DNS entries (but for another SIP domain, NAPTR => SRV => 2x A record). 

I would love some best practice implementation clues regarding OpenSER and multiple
GW fail over, if anyone of you have such knowledge or experience. 

Best regards,

Staffan Kerker, 
Saab Communication
Ljungadalsgatan 2, 35180 Växjö, Sweden

p. +46 470 42185
c. +46 705 391365
m. staffan.kerker at saabgroup.com
w. http://www.saabgroup.com 

More information about the sr-users mailing list