[Users] SRV Lookups

Douglas Garstang dgarstang at oneeighty.com
Wed Nov 23 20:12:09 CET 2005


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           .
;





More information about the Users mailing list