SIP URI Overview

Everyone knows that SIP headers like R-URI, To, From, P-Asserted-Identity, Path, Route and others contain Uniform Resource Identifiers (URI) –  sip uri or tel uri. But do you know what formats we can use, with what parameters? As URI is one of the IP communication’s corner stones, it worth to have some better understanding.

volte-sip-uri

SIP URI in VoLTE

Let’s start from the beginning. SIP URI is defined in RFC 3261, TEL URI in RFC 3966 (this RFC defines also modem and fax URL schemes).

SIP URI has a similar form to an email address. It contains typically a username and a hostname, for example test@realtimecommunication.info, where realtimecommunication.info is the domain of a SIP service provider. TEL URI is simply a telephone (landline or mobile) number as tel:+611234567890. It is needed mainly to support CS related scenarios and Mobile Number Portability (MNP). In practice we can see various forms of sip-uris:

sip:+611234567890@operator.com
sip:+611234567890@ims.mnc000.mcc000.3gppnetwork.org
sip:ims.mnc000.mcc000.3gppnetwork.org
tel:+611234567890
sip:+611234567890@ims.mnc000.mcc000.3gppnetwork.org;user=phone;npdi
tel:4567890;phone-context=+61123
tel:7890;phone-context=operator.com
sip:ffffffff@tas.ims.operator.com:5060;transport=udp

Last but not least we have also a SIPS URI, which specifies that the resource is to be contacted securely. For that we use TLS as a transport layer protocol. The format for a SIPS URI is the same, except that the scheme is “sips” instead of sip. Note, that any resource described by a SIP URI can be “upgraded” to a SIPS URI by just changing the scheme, if it is desired to communicate with that resource securely.

Continue reading