Yes it does. TeamSpeak 3 provides full support for DNS SRV records in combination with our proven TSDNS system. This means you are able to define the location (e.g. the hostname and port number) of specific voice servers and/or TSDNS services.
Currently, we support two different types SRV records:
_ts3._udp.teamspeak.com. 86400 IN SRV 0 5 9987 voice.teamspeak.com.
_tsdns._tcp. teamspeak.com. 86400 IN SRV 0 5 41144 voice.teamspeak.com.
These two entries point to a voice server named voice.teamspeak.com listening on UDP port 9987 and a TSDNS service listening on TCP port 41144. The syntax of the SRV records consists of the service (ts3/tsdns) and the protocol (tcp/udp). Both of these are prefixed with an underscore.
A detailed description of the above fields is available at the Wikipedia article on SRV Records. SRV Records provide a priority field similar to the priority field in MX records, and a weight field for DNS based load balancing.
Like TSDNS, SRV records allow people to connect to any virtual voice server without knowing the port number. For example, the following SRV record would instruct the TeamSpeak 3 Client to connect to a TeamSpeak 3 Server running on UDP port 1337 while using yourdomain.tld as server address:
_ts3._udp.yourdomain.tld. 86400 IN SRV 0 5 1337 yourdomain.tld.
SRV records can not only direct you to a voice server, but also to direct you to a TSDNS service, creating a double redirect situation. This allows you to run the TSDNS service on arbitrary machines and hosts, while still servicing the domain you wish.
_tsdns._tcp.yourdomain.tld. 86400 IN SRV 0 5 41144 tsdns.yourdomain.tld.
Before connecting to any server, the TeamSpeak 3 Client will try to resolve the IP address of the server in the following order:
1) _ts3 SRV record
2) _tsdns SRV record