SIP - Session Initiation Protocol
- overview or tutorial about the basics of SIP, the Session Initiation Protocol used in a variety of telecommunication applications including VoIP, Voice over IP.
SIP, the Session Initiation Protocol is used in many applications and has been adopted as the signalling protocol for use with Voice over IP ( VoIP ). SIP is a signalling protocol that is used for establishing sessions on an IP network. The presence of SIP enables sessions to be set up in a way that enables a host of new services to be made available, thereby allowing far greater flexibility to be achieved.
SIP, Session Initiation Protocol, is focussed purely on establishing, modifying and terminating sessions, and has no interest in the content of the sessions. In view of the focus of SIP, it provides a level of simplicity that enables to be extensible, and to site easily within different deployment architectures and scenarios.
SIP is an RFC standard - RFC 3261 from the Internet Engineering Task Force (IETF). This is the organization that is responsible for administering and developing the mechanisms that support the Internet. While other protocols have been used in the past, SIP has now become the protocol of choice as a result of its flexibility and ability to be updated.
There are a number of key functions that SIP provides. It is able to provide name translation and user location, it negotiates the features that will be available in a session and it manages the participants in a session.
- User location and name translation - this function enables data to reach a party regardless of location. To achieve this SIP, Session Initiation Protocol addresses are used. These are very similar in format to email addresses, having elements such as a domain name and a user name or phone number. Also because of their structure, they are easy to associate with email addresses.
- Feature negotiation - as different parties may have different features that are supported it is necessary that both ends communicate in a way that both can support. For example it would be no use a video enabled phone trying to sent video to a voice only phone. Thus when a link is set up all participants negotiate to agree the features that are supported. Also when one user leaves a session, the remaining ones may renegotiate to determine whether any new features may be supported.
- Participant management - sessions need to be managed to enable users to enter or leave sessions. SIP provides this capability.
SIP comprises two basic elements, namely the SIP User Agent and the SIP Network Server:
- The SIP User Agent This is the component of the protocol that resides with the user. In turn it consists of two parts: the User Agent Client (UAC) which initiates the calls and the User Agent Server (UAS) which answers calls. It allows calls to be made using a peer to peer client server protocol.
- SIP network server This element contains three basic parts: the SIP Stateful Server, the SIP Stateless Server, and thirdly the SIP Redirect Server. These servers act to provide the location of the user and accordingly direct data to the user, and they also provide name resolution in a similar way that email addresses and domain names do on the Internet as it is unlikely that users will remember IP addresses.
SIP also provides its own transfer mechanism which is independent of the packet layer. This enables it to perform reliably over protocols such as UDP - a particularly useful feature under some circumstances.
By Ian Poole
Other telecommunications standards and protocols tutorials . . .
|• Erlang basics||• IMS||• Mobile IP||• SIP|