The Session Initiation Protocol (SIP) is an application layer protocol used for establishing, modifying, and terminating multimedia communication sessions such as voice and video calls over the Internet.
SIP works in conjunction with several other protocols and is an integral part of the IP Multimedia Subsystem (IMS) architecture.
A key component of SIP is the SIP Uniform Resource Identifier (URI), which is a type of uniform resource identifier used to identify users and resources in SIP networks.
This article will provide an easy-to-understand overview of SIP URIs – what they are, how they differ from URLs, their structure, and common uses.
What is the SIP Protocol?
The Session Initiation Protocol (SIP) is a signaling protocol developed by the Internet Engineering Task Force (IETF) used for controlling multimedia communication sessions.
SIP is commonly used for voice-over IP (VoIP) calls, video conferencing, and other media streaming applications.
SIP works by establishing a session between end-points. The session allows for the exchange of information between the endpoints.
For example in a VoIP call, SIP will establish a session between the two phones on the call. It agrees on parameters like port numbers, codecs, etc to allow the audio data exchange.
Some key abilities of SIP include:
- Starting a session, changing a session, and ending a session between endpoints like phones or computers. This could be a voice, video, or instant messaging session.
- Authenticating and authorizing endpoints before connecting a call. Only if authentication is successful will the call connect.
- Determining the location of endpoints so calls can be redirected if needed, like if someone is not at their desk.
- Supporting various call features like call forwarding, call waiting, caller ID, etc.
So in summary, SIP establishes, manages, and terminates multimedia sessions by exchanging signaling information between endpoints.
It enables modern VoIP, video conferencing, and other media applications.
What is the Difference Between a URI and a URL?
To understand a SIP URI, it is useful to first distinguish between a URI and a URL:
- URI stands for Uniform Resource Identifier. It is a string of characters that identifies a resource such as a document, file, website, or computing service.
- URL stands for Uniform Resource Locator. It is a type of URI that also provides the location of the resource, like where it is located on the Internet.
The main differences are:
- All URLs are URIs but not all URIs are URLs. A URI simply identifies a resource but a URL also locates it.
- A URI may just provide a name like “johnsmith” while a URL will have a domain name like “johnsmith.com”.
- A URL has additional components like the protocol (http, https), domain name, path, etc. A plain URI does not need all that detailed structure.
So in summary, a URI is an identifier while a URL is an identifier + locator for resources. This distinction is important when understanding SIP URIs.
What is a SIP URI?
A SIP URI is a type of uniform resource identifier (URI) used with Session Initiation Protocol (SIP) networks.
It allows identifying users and resources in SIP-based telephony networks like VoIP or IP PBX systems.
The main purposes of a SIP URI are:
- Uniquely identify SIP user agents e.g. IP phones, softphones, or mobile apps. This allows routing calls to them.
- Identify SIP resources or services e.g. voicemail server, conference bridge.
- Carry out authentication and authorization by identifying which users can use which services.
A SIP URI identifies a user or service in SIP networks much like an email address identifies mailboxes in the email system.
The SIP URI is used in SIP signaling to establish communication sessions.
How to Use a SIP URI?
SIP URIs are used in SIP messages to indicate the originator, destination, or target of a session. Here are some ways SIP URIs are used:
- In a SIP INVITE message specify the call originator and the desired call recipient. The SIP network uses this to route the call.
- In SIP REGISTER messages to indicate the registering user agent. This allows mapping the SIP URI to the device’s current IP address.
- In SIP redirection 3xx responses to redirect a session invitation to the new target.
- In SIP records like DNS NAPTR records to determine which server to use for a domain.
- In SIP headers like From, To, and Contact to identify the parties involved in a session.
The SIP URI structure itself contains a user part and a host part separated by @. It can also have parameters and headers to specify additional info.
Frequently Asked Questions (FAQ)
Ques 1. What is SIP used for?
Ans. SIP is used for establishing, modifying, and terminating multimedia communication sessions like voice, video, and instant messaging over IP networks. It is commonly used for VoIP calls.
Ques 2. Is a SIP address the same as a phone number?
Ans. No, a SIP URI is an identifier like an email address while a phone number is used in traditional telephony. But SIP networks can be integrated with the phone network.
Ques 3. Can I make a SIP call directly to a normal phone number?
Ans. Yes, you can if the SIP network is interconnected to the phone network. The SIP service provider can route your SIP URI calls to normal PSTN numbers.
Ques 4. What is a SIP trunk?
Ans. A SIP trunk is a way to connect a PBX or VoIP system to a SIP service provider. It enables routing calls between your system and the provider’s network using SIP.
Ques 5. How do SIP URIs work with VoIP phones?
Ans. SIP phones are assigned a SIP URI which allows routing calls to them. They use this URI in the SIP signaling to handle registration, call setup, and other functions.