SIP (Session Initiation Protocol) is a standardized and standardized protocol IETF (described by RFC 3261, which obsoletes RFC 2543, and completed by the RFC 3265) which was designed to establish, modify and terminate multimedia sessions. It is responsible for Authentication and location of the multiple participants. It is also responsible for trading on the types of media used by different participants by encapsulating Posts SDP (Session Description Protocol).
SIP does not carry the exchanged data during the session such as voice or video. SIP is independent of the transmission of data, any type of data and protocols can be used for this exchange. However, the RTP (Real-time Transport Protocol) provides mostly audio and video sessions. SIP is gradually replacing H323. SIP is an open standard VoIP, interoperable, the largest and aims to become the multimedia telecommunications standard (sound, image, etc.).
Skype for example, using a proprietary format does not allow interoperability with other VoIP network and provides only pay gateways to standard telephones. SIP is not only meant for VoIP but for many other applications such as video telephony, instant messaging, virtual reality or even video games.
Operating Principle of SIP
Since SIP is chosen to do our work, we will deepen in explain different aspects, features that make SIP a good choice for the establishment of the session, the main features of SIP protocol are:
Attaching a SIP account
It is important to ensure that the called party is always available. For this, a SIP account is associated with a unique name. For example, if a user of a voice service IP has a SIP account and every time he restarts his computer, IP address changes, however it must always be reachable. SIP account must be associated with a SIP server (SIP proxy) whose IP address is fixed. This server will allocate an account for him and he will make or receive a few calls of location. This account will be identifiable through its name (or nickname).
Changing characteristics during a session
A user should be able to change the characteristics of an active call. For example, a call initially configured (voice only) can be changed (voice + video).
Different modes of communication
With SIP, users who log on can communicate point mode point in diffusive mode or a manual combination thereof. Point-to-point mode: we speak in this case of 'unicast' which corresponds to the communication between two machines. diffusive mode: we speak in this case of 'multicast' (multiple users via a control unit MCU - Multipoint Control Unit). Combinatorics: combines the previous two modes. Multiple users interconnected multicast via a full mesh network connection.
Participant management
During a call session, new participants can join participants an already open session by directly participating, being transferred or being set hold (this feature joins the features of a PBX for example, where the caller can be transferred to a given number or be put on hold).
Negotiation of supported media
This allows a group during a call to negotiate on the types of supported media. For example, the video may or may not be supported in a session.
Addressing
Users with a number (account) SIP have an address like an email address (sip: numéro serveursip.com). The SIP number is unique for user.
Exchange Model
SIP is based on a request / response model. The exchanges between a terminal calling and a called terminal are through queries. The list of requests exchanged is:
- Prompt: this request indicates that the application (or user) corresponding to the url SIP specified is invited to attend a session. The message body described this session (for eg media supported by the caller). In case of positive response, the guest must specify the media it supports.
- Ack: this request confirms that the calling terminal has received a response ultimately to a request Prompt.
- Options: a proxy server able to contact the UAS (terminal) called, must meet Options to a request specifying its ability to contact the same terminal.
- Bye: This query is used by the terminal of the called end indicate that it would to end the session.
- Cancel: this request is sent by a terminal or a proxy server to annul a request not validated by a final answer, for example, if a machine was invited to participate in a session, and having accepted the invitation does not receive a request Ack, then it sends a request Cancel.
- Register: This method is used by the client to save the address listed in URL TO by the server to which it is connected.
An answer to a query is characterized by a code and a pattern called respectively status code and reason sentence. A status code is an integer coded on 3 digits indicating a result after receiving a query. This result is explained by a sentence, textbased (UTF-8), explaining the reason for refusal or acceptance of the application. The status code is for the controller managing workplace SIP sessions and the reasons for programmers. There are six classes of responses and thus status codes, represented by the first digit:
- 1xx = Information - The application was received and continues to be treated.
- 2xx = Success - The action was successfully received, understood and accepted.
- 3xx = Redirection - Another action is needed to validate the request.
- 4xx =Client Error - The request contains incorrect syntax or can not be handled by this server.
- 5xx = Server Error - The server failed to process a request apparently correct.
- 6xx = General failure - The application may be processed by any server.
In a SIP system there are two types of components, user agents (UAS, UAC) and a network of servers (Registrar, Proxy) The UAS (User Agent Server) is the agent of the called party. It is a type application server that contacts the user when a SIP request is received. And returns a response name of the user. The UAC (User Agent Client) is the agent of the appellant.
This is an application of customer type that initiates requests. The Registrar is a server that manages the REGISTER requests sent by Users Agents to signal their current location. These requests therefore contain an IP address, associated to a URI, which will be stored in a database. SIP URIs are very similar in form to email addresses: sip: utilisateur domaine.com. Typically, authentication mechanisms allow to avoid that anyone can register with any URI. A SIP Proxy serves as the intermediary between User Agents that do not know their respective locations (IP address). Indeed, the URI-IP address association was stored beforehand in a database by a Registrar. The proxy can therefore question this database to direct messages to the recipient. The Proxy merely only relaying SIP messages to establish, monitor and terminate the session. Once the session data, such as a stream RTP for VoIP, do not pass through the proxy server. They are exchanged directly between the User Agents.
Advantages and disadvantages
Open, standard, simple and flexible are the main advantages of SIP, here in detail these advantages:
- Open: the official protocols and documents are detailed and accessible to all in download.
- Standard: IETF has standardized the protocol and its evolution continues with the creation or the evolution of other protocols that work with SIP.
- Simple: SIP is simple and very similar to http.
- Flexible: SIP is also used for any type of multimedia sessions (voice, video, but also music, virtual reality, etc.).
- Voice over public networks: there are many gateways (charges apply) to the public telephone network (PSTN, GSM, etc.) capable of transmitting or receiving voice calls.
- Similarities with H323: using RTP and some codecs and sound video are shared.
As against poor implementation or incomplete implementation of the protocol SIP User Agents in messing around or generate unnecessary traffic network. Another disadvantage is the low number of users: SIP is still little known and used by the general public, who have not reached a critical mass, it does not have the effect network.
No comments:
Post a Comment