SIP deals with communication sessions, which are the periods of time during which parties communicate. These include Internet telephone calls, multimedia conferences and distribution etc. SIP provides the necessary signaling for creating, modifying and terminating sessions with one or more communicating participants.
SIP works in roughly the same way as other common protocols like HTTP or SMTP. It carries out the signaling by sending small messages, consisting of a header and a body.
SIP is an enabler-protocol for VoIP and Telephony in general, due to the following features it has:
Name Translation and User Location: SIP translates an address to a name and thus reaches the called party at any location. It does a mapping of session description to location, and ensures support for details of the nature of the call.
Feature negotiation: Not all communicating parties (which may be more than two) have the necessary features. For example, not everyone may have video support. SIP allows the group the negotiate for the features.
Call participant management: SIP allows a participant to make or cancel connections to other users during a call. Users can also be transferred or placed on hold.
Call feature changes: SIP allows a user to change a calls characteristics during the call. For example, as a user, you may want to enable of disable video, especially while a new user joins a session.
Media negotiation: This mechanism enables negotiation of the media used in a call, like selecting the appropriate codec for call establishment between various devices.
The structure of a SIP messageSIP works by having the communicating devices sending and receiving messages. A SIP message carries a lot of information which help identify the session, control timing, and describe the media. Below is a list of what a message briefly contains:
- Protocol information (e.g. version)
- Session information (creator, name etc.)
- Participant information (email, phone etc.)
- Bandwidth information
- Encryption information
- Time description (active time and repeat time)
- Media description (media name, title, address etc.)
- Media bandwidth information
- Media encryption key