The dilemma I have is a UAC (service provider) sends an INVITE with
transport=tls in the Request header as well as in the Contact header, using
the SIP: URI scheme (not SIPS:). 

 

The UAS (an SBC) responds with a 200 OK, but it's Contact header doesn't
provide a transport parameter, just a SIP: URI with IP and port (5061).
However, the Via: header does reflect TLS (there are no Record-Routes).

 

The UAC responds with the ACK, but because the transport parameter isn't
listed in the 200 OK Contact header, the UAC sends it UDP instead of TLS. 

 

The UAS then discards this as it's listening only on port 5061 (signaling
port is strictly TLS over TCP, no UDP).

 

The service provider insists that the Contact header on the SBC's 200 OK
needs to specify transport=tls, and by not specifying it, the SBC changes
the transport mid-dialog, regardless if it has the default port for TLS
5061, and TLS is specified in Via: header. Thus why they send the ACK UDP
which then isn't received. 

 

This call flow is setup similarly for several other SBC clientele, and this
is the first time ever to have this problem. Others respond with the ACK
using TLS even though transport=tls isn't a parameter in the 200 OK's
Contact header, but does have port 5061 and TLS listed in Via: header.  

 

I've been reading through RFC 3263 as well as 3261 sections 18 & 19, but I'm
not finding anything definitive that a UAC MUST or SHOULD send the ACK using
the same transport as INVITE, Via header, or default port when it's not
directly indicated within the SIP reply's Contact header. or that by not
specifying transport=tls in the Contact header on a SIP reply (200 OK), that
then changes the transport to UDP. 

 

Any suggestions on RFC sections or threads that my provide better clarity on
this particular dilemma? 

 

_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/sip-implementors

Reply via email to