[Users] Re: [Devel] NEW FEATURE: DNS-based failover

Klaus Darilion klaus.mailinglists at pernau.at
Thu Jan 25 17:02:26 CET 2007

Hi Bogdan!

Good news. How are the DNS lookups done in detail? E.g. the following setup:

t_relay to domain.com:

      NAPTR   90 50 "s" "SIP+D2T" "" _sip._tcp.domain.com.
      NAPTR   100 50 "s" "SIP+D2U" "" _sip._udp.domain.com.

      SRV     0 0 6060 sip1.domain.com.
      SRV     1 10 6060 sip2.domain.com.

      SRV     0 0 6060 sip1.domain.com.
      SRV     1 10 6060 sip4.domain.com.

sip1.domain.com   A

sip2.domain.com   A
sip2.domain.com   A

sip4.domain.com   A

Is the following assumption correct?

1. lookup NAPTR domain.com
2. lookup SRV _sip._tcp.domain.com
3. lookup A sip1.domain.com
4. request to; if failure
5. lookup A sip2.domain.com
6. request to; if failure
7. request to; if failure

8. lookup SRV _sip._udp.domain.com
9. (sip1 cached) send request to; if failure
10. lookup A sip4.domain.com
11 request to; if failure
12 reply error


Bogdan-Andrei Iancu wrote:
> 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
> _______________________________________________
> Devel mailing list
> Devel at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/devel

Klaus Darilion

More information about the sr-users mailing list