[Devel] NEW FEATURE: DNS-based failover

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Jan 25 15:10:46 CET 2007


Hi everybody,


OpenSER 1.2.0 has now the capability to do DNS based failover, according 
to RFC3263 (http://www.ietf.org/rfc/rfc3263.txt).

The SIP resolver was enhanced to to be able to save and resume later the 
DNS queries in order to get all possible IP destinations. The resolving 
process is step-by-step done (get next IP only on demand) to minimize 
the total number of DNS queries. So having this support does not imply, 
in normal processing, more load on the DNS server. Additional queries 
are done only when needed (after failure detected).

The scanning for new IP destinations is done by the SIP resolver on all 
DNS levels: NAPTR, SRV, A.

Both core and TM are using this new feature.

In core, the stateless forwarding can do only DNS-based failover at 
transport level (if no egress interface found or send operation
failed due whatever reason).

In TM, the DNS-based failover is extended to transaction level. If the 
transaction completes with 503 or 408 with no reply, automatically, a 
new branch will be fork if any destination IP can be found by the DNS 
resolver.
Read more here http://www.openser.org/docs/modules/1.2.x/tm.html#AEN103


For controlling this feature use:
     - newly added core parameter "disable_dns_failover" - use to 
generally disable the DNS-based failover. By default is false.
     - in TM, t_relay() take a new flag for turning off the DNS-based 
failover. This setting is per transaction. By default, the failover is done.


Any feedback is appreciated.

regards,
Bogdan



More information about the Devel mailing list