Moore, Steve wrote:
> Hello Everyone,
>
>
>
> I have a question about the interaction of RFC3261 and RFC3263. When
> the transport layer of a UAC decides to change the transport of a
> request from UDP to TCP due to size constraints (RFC3261 Section 18.1.1)
> and a DNS NAPTR query returns SRV records for both UDP and TCP, which
> SRV record should be used?
It should use the UDP SRV record, but with the TCP transport. Section
18.1.1 says that the client transport receives the IP address and port,
so this is done after the RFC 3263 processing. This works because it is
mandatory to listen on TCP on the same port than the UDP port (see
section 18.2.1).
Interestingly, this means that in this case the request can be sent in
TCP to a different destination than is provisioned in the SRV record.
Here's an example:
$ORIGIN example.com.
NAPTR 90 50 "s" "SIP+D2U" "" _sip._udp.example.com.
NAPTR 100 50 "s" "SIP+D2T" "" _sip._tcp.example.com.
_sip._udp SRV 0 1 5060 server1.example.com
_sip._tcp SRV 0 2 5060 server2.example.com
If the client supports only TCP, then it will connect to
sip:server2.example.com:5060;transport=tcp.
If the client supports UDP and the packet is bigger than the MTU, then
it will connect to sip:server1.example.com:5060;transport=tcp.
--
Marc Petit-Huguenin [ ]
Home: [EMAIL PROTECTED] [ RFC1855-compliant space for rent]
Work: [EMAIL PROTECTED] [ ]
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors