All tests have been successful so far. I have two questions though:
The TM docs say "There is ICMP error report support", how is that
supposed to work? Using UDP as transport, even when I get back an ICMP
"Destination unreachable" immediately, openser waits for fr_timer to
fire. I guess that only works for TCP connections.
The second question is about caching of reachability state. The
dispatcher module exports the function ds_mark_dst() to mark a target as
unreachable. I was planning to use this function together with a script
that updates reachability state using the fifo interface. I'm wondering
if something similar would be possible with the new DNS-based failover
mechanism.
thanks,
Christian
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
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel
_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel