Hi Klaus,
yes, that is more than correct. You example points out exactly what I
was warning Christian of - during DNS-based failover, the used protocol
may changes, based on the DNS records and proxy configuration.
regards,
Bogdan
Klaus Darilion wrote:
Hi Bogdan!
Good news. How are the DNS lookups done in detail? E.g. the following
setup:
t_relay to
domain.com:
@domain.com
NAPTR 90 50 "s" "SIP+D2T" ""
_sip._tcp.domain.com.
NAPTR 100 50 "s" "SIP+D2U" ""
_sip._udp.domain.com.
@_sip._tcp.domain.com.
SRV 0 0 6060
sip1.domain.com.
SRV 1 10 6060
sip2.domain.com.
@_sip._udp.domain.com.
SRV 0 0 6060
sip1.domain.com.
SRV 1 10 6060
sip4.domain.com.
sip1.domain.com A 1.2.3.4
sip2.domain.com A 2.2.3.4
sip2.domain.com A 2.2.3.5
sip4.domain.com A 4.2.3.4
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 1.2.3.4; if failure
5. lookup A
sip2.domain.com
6. request to 2.2.3.4; if failure
7. request to 2.2.3.5; if failure
8. lookup SRV
_sip._udp.domain.com
9. (sip1 cached) send request to 1.2.3.4; if failure
10. lookup A
sip4.domain.com
11 request to 4.2.3.4; if failure
12 reply error
regards
klaus
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(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/devel