All,
I'm trying to get SRV lookups to work with OpenSER 1.0.0. I've exhausted every
avenue of documentation including newsgroups, various forums etc.
Using t_relay, OpenSER seems to be performing the correct DNS SRV queries and obtaining a
list of hosts to try. Below are the relevant sections of my DNS zone file. We're
talking UDP, and based on the priority and weights below, OpenSER should be basically
doing a round-robin approach, and it seems to be.
The problem occurs when one of the hosts is not contactable. OpenSER simply stops and does
not try the next host in it's list. I would have thought that for OpenSER to fully
support SRV lookups, it should try each until it is successful. After all, that's a
large part of the whole point of SRV records.
Does the t_relay() function have logic within itself to keep trying hosts until it gets a
connection? What would be the definition a failure that would make it move onto the next
host be anyway? Network failure certainly, but would a 'Not found' be considered a
failure that would cause it to move on? Would anything other than an ACK be a failure?
Is there some variable I can set or some function I can call that causes t_relay() to
retry all hosts in it's SRV list?
Without this feature, OpenSER's usefulness is very limited.
Help very much appreciated.
Doug
bil-pdev-3 IN A 192.168.10.4
proxy1 IN CNAME bil-pdev-3
proxy2 IN CNAME bil-pdev-3
proxy.bil.voip.com. IN NAPTR 50 50 "s"
"SIPS+D2T" ""
_sips._tcp.proxy.bil.voip.com.
proxy.bil.voip.com. IN NAPTR 60 60 "s"
"SIP+D2U" ""
_sip._udp.proxy.bil.voip.com.
proxy.bil.voip.com. IN NAPTR 70 40 "s"
"SIP+D2T" ""
_sip._tcp.proxy.bil.voip.com.
_sips._tcp.proxy.bil.voip.com. IN SRV 100 10 5061
proxy1.proxy.bil.voip.com.
_sips._tcp.proxy.bil.voip.com. IN SRV 100 10 5061
proxy2.proxy.bil.voip.com.
_sip._udp.proxy.bil.voip.com. IN SRV 100 10 5060
proxy1.proxy.bil.voip.com.
; This line and the next are SRV records being looked up
_sip._udp.proxy.bil.voip.com. IN SRV 100 10 5060
proxy2.proxy.bil.voip.com.
;
_sip._tcp.proxy.bil.voip.com. IN SRV 100 10 5060
proxy1.proxy.bil.voip.com.
_sip._tcp.proxy.bil.voip.com. IN SRV 100 10 5060
proxy2.proxy.bil.voip.com.
*._tcp IN SRV 0 0 0 .
*._udp IN SRV 0 0 0 .
;