SIP Uniform Resource Indicators (URIs)

SIP Uniform Resource Indicators (URIs)

Two URI schemes - similar to the form of an e-mail addresses: user@domain

SIP URI - introduced in RFC 2543

  • example: sip:maguire@kth.se

Secure SIP URI - introduced in RFC 3261

  • example: sips:maguire@kth.se
  • Requires TLS over TCP as transport for security

Three types of SIP URIs:

Address of Record (AOR) (identifies a user)

  • example: sip:maguire@kth.se
  • Need DNS SRV records to locate SIP Servers for kth.se domain

Fully Qualified Domain Name (FQDN) (identifies a specific device)

  • examples: sip:maguire@130.237.212.2 or sip:maguire@chipsphone.it.kth.se
  • sip:+46-8-790-6000@kth.se; user=phone the main KTH phone number in E.164 format via a gateway; note that the visual separators in a phone number (dashes, dots, etc.) are ignored by the protocol

Globally Routable UA URIs (GRUU) (identifies an instance of a user at a given UA, for the duration of the registration of the UA to which it is bound)[RFC 5627]


Slide Notes

J. Rosenberg, “Obtaining and Using Globally Routable User Agent (UA) URIs (GRUU) in the Session Initiation Protocol (SIP)”, IETF, Network Working Group, RFC 5627, October 2009, http://datatracker.ietf.org/doc/rfc5627/ Links to an external site.


Transcript

[slide123] So how do we deal with addressing the other party? Well, SIP introduces SIP uniform resource indicators, or URIs. There are two basic methods. SIP URI and secure SIP URI, so I can say SIP:Maguire @KTH.SE or SIPS:Maguire @KTH.SE. In the second case, it means I need to send it over a TLS connection. Right? Because I want to protect the security of that traffic. I have three basic types of URIs: an address of record that identifies the user, a fully qualified domain name which identifies a specific device, so for example, I could send an INVITE to the phone in my laboratory and only that phone would receive that INVITE. But if I send it to me, or you send it to me, it would go to any of the places that were registered as a location that I'm available at. There's also globally routable UA URI, and here the interesting feature is it's a given user at a particular user agent. So, for instance, if you sent a SIP invite to me, but I said, no, I can't answer that right now, ah, now I'm not busy, I want to call you back, do I want to send the invite to all the possible places you are? No, I want to send it to which particular user agent you were using when you just tried to send it to me. For that I used this GRUU -- as that defines both the user and the device.