Core Protocol of NGN-Details of SIP protocol

Source: Internet
Author: User

I. background and functions of the SIP protocol
SIP (Session Initiation Protocol) is developed to help provide advanced telephone services that span the internet. Internet telephone IP telephone) is evolving to a formal business telephone model, and SIP is an important member of the series of protocols to ensure the implementation of this evolution.
SIP is part of the IETF standard process. It is built based on simple SMTP Mail Transfer Protocol and HTTP Hypertext Transfer protocol. It is used to create, change, and terminate calls between users based on IP networks. In order to provide telephone services, it also needs to combine different standards and protocols: in particular, it needs to ensure the transmission of RTP), and The Signaling connection with the current telephone network, to ensure the voice quality RSVP ), can provide Directory LDAP), can authenticate user RADIUS, and so on.
SIP is described as used to generate, modify, and end sessions between one or more participants. These sessions include Internet Multimedia conferences, Internet or any IP Network) telephone calls and multimedia Publishing. The members of a session can communicate with each other through multicast or unicast networks. SIP supports session description, which allows participants to agree on a set of compatible media types. It simultaneously supports user mobility through proxy and redirect requests to the current user location. SIP is not bundled with any specific conference control protocol.
Essentially, SIP provides the following features:
Name Translation and user positioning: ensure that the call reaches the called party wherever the called party is. Map any description information to the positioning information. Ensure that call sessions are supported.
Feature negotiation: it allows call-related groups, which can be called by multiple parties) to reach an agreement on the supported features. Note: not all parties can support the same level of features ). For example, videos can or cannot be supported. In short, there are many scope for negotiation.
Call participant management: Call participants can introduce other users to call or cancel connections to other users. In addition, the user can be transferred or set to call persistence.
Call feature change: the user should be able to change the call features during the call process. For example, a call can be set to "voice-only", but you can enable the video function during the call. That is to say, a third party that joins the call can enable different features to join the call.
Ii. SIP network elements
There are two elements in SIP. SIP User proxy and SIP network server. The user agent is the terminal system element of the call, and the SIP server is the network device that processes the connection orders related to multiple calls.
User proxy itself has a client element user proxy client UAC) and a server element user Proxy Server UAS ). The client element initiates a call and the server element responds to the call. This allows point-to-point calls to be completed through the client-server protocol.
The SIP server element provides multiple types of servers. There are three types of servers in the Network: SIP stateful proxy server, SIP stateless proxy server, and SIP redirection server. Because the caller may not know the IP address or Host Name of the caller, the main function of the SIP server is to provide name resolution and user location. You can obtain an email address or a phone number associated with the called party. With this information, the caller's user agent can determine the specific server to parse the address information-this may involve many servers on the network.
The SIP proxy server receives requests, determines where these requests are sent, and sends them to the next server using the next hop routing principle ). There can be multiple hops in the network.
The difference between a stateful proxy server and a stateless proxy server is that the stateful Proxy Server remembers the incoming requests it receives, as well as the return response and the outgoing requests it transfers. The stateless Proxy Server forgets all the information once it transfers the request. This allows the stateful proxy server to generate requests to try multiple possible user locations in parallel and return the best response. Stateless proxy servers may be the fastest and backbone of the SIP structure. The stateful proxy server may be the local device closest to the user proxy. It controls the user domain and is the main platform for application services.
The redirection server receives requests, but instead of passing these requests to the next server, it sends a response to the caller to indicate the address of the called user. This allows the caller to directly contact the address of the called party on the next server.
Iii. Implementation Mechanism of the SIP protocol
SIP is a layered protocol, which means its behavior is described based on a set of equal and independent processing stages, and each stage is loosely coupled. The hierarchical description of the protocol is used to express the function, so that the description of the function can span several elements in one part. It does not specify any implementation method. When we say that an element contains a layer, we mean that it complies with the Rule Set defined by this layer.
Not every element specified by the Protocol contains layers. Moreover, the elements specified by SIP are logical elements, not physical elements. A physical implementation can be selected as different logical elements, or even based on transactions.
The bottom layer of SIP is syntax and encoding. Its Encoding is defined using the enhanced Backus-Nayr format syntax BNF.
The second layer is the transport layer. It defines how a client on the network sends requests and receives responses, and how a server receives and sends responses. All SIP elements include the transport layer.
The third layer is the Transaction layer. Transactions are the basic elements of SIP. A transaction is composed of a request sent by a client transaction to a server transaction using the transport layer) and all the responses sent to the client from the server transaction that should be requested. The transaction layer processes Application Layer retransmission, matches the response to the request, and the application layer times out. Any user agent client UAC) to complete the task using a set of transactions generated. The User Agent contains a Transaction layer, and a stateful agent also has. The stateless proxy does not contain the Transaction layer. The transaction layer has a client component called a client transaction) and a server component called a server transaction). Each component represents a finite state machine, which is constructed to process specific requests.
The layer above the Transaction layer is called the Transaction user TU ). Every SIP entity, except the stateless proxy, is a Transaction user. When an TU wants to send a request, it generates a client transaction instance and transmits the request and IP address, port, and transmission mechanism used to send the request to it. A client transaction generated by a TU can also be deleted. When the client cancels a transaction, it requests the server to stop further processing, restore the State to before the transaction initialization, and generate a specific error to respond to the transaction. This is completed by the CANCEL request, which constitutes its own transaction, but involves the transaction to be canceled.
SIP uses an EMAIL address to indicate the user address. Each user is identified by a hierarchical URL that constructs elements such as a user's phone number or host name, such as a SIP: user@company.com ). Because of its similarity with the EMAIL address, SIP URLs is easy to associate with the user's EMAIL address.
SIP provides its own reliability mechanism to be independent from the grouping layer, and only requires unreliable data packet service. SIP can be typically used over UDP or TCP.
SIP provides necessary protocol mechanisms to ensure that the terminal system and proxy server provide the following services:
● User Positioning
● User capability
● User availability
● Call Creation
● Call handling
● Call forwarding, including: 1) equivalent to 800 calls; 2) call forwarding without response; 3) call forwarding before busy calls; 4) Unconditional call forwarding
● Call number transfer, which can be any naming mechanism.
● Individual mobility, such as reaching the called party through a single location-independent address, even if the called party changes the terminal.
● Terminal-type negotiation and Selection: A caller can determine how to arrive at the recipient, for example, through an Internet phone, mobile phone, or response service.
● Terminal capability negotiation
● Caller and authorized caller Authentication
● Uninformed and guided call transfer
● Invitation to multicast meetings
When a user wishes to call another user, the caller uses INVITE to request an initial call. The request contains sufficient information for the caller to participate in the session. If the client knows where the other party is, it can directly send the request to the IP address of the other party. If you do not know, the client sends the request to the locally configured SIP network server. If the server is a proxy server, it will parse the location of the called USER and send the request to them. There are many ways to complete the previous step, such as searching DNS or accessing the database. The server can also be a redirection server, which can return the location of the called user to the called client for direct contact with the user. In the process of locating the user, the SIP network server can, of course, proxy or redirect the call to another server until it reaches a server that explicitly knows the IP address of the called user.
Once a user address is found, the request is sent to the user. Several options are available. In the simplest case, the user's phone client receives the request-that is, the user's phone rings. If the user accepts the call, the customer uses the specified capability of the client software to respond to the request and establish a connection. If the user rejects the call, the session will be redirected to the voice mail server or another user. For "specify capabilities", refer to the features you want to enable. For example, the client software can support video conferencing, but the user only wants to use audio conferencing, then only the audio function is enabled.
SIP also has two important features. The first is that the stateful SIP proxy server can split incoming calls or replicate incoming calls, so that several extension branches can run simultaneously. The branch of the first response receives the call. This feature is very convenient when a user is working between two locations, such as a lab and an office) or when both the manager and his/her secretary are ringed.
The second feature is the unique ability of SIP to return different media types. For example, you can contact a company. When the SIP server receives a connection request from the client, it can return to the client through the WEB interactive voice response page, this page has available department branches or users on the list. After clicking the appropriate link, a request is sent to the selected user to create a call.
Iv. Composition of SIP messages
There are two types of SIP messages:
● Request: Send from client to server
● Response: from the server to the client
The SIP request message contains three elements: request line, header, and message body.
A sip response message contains three elements: Status line, header, and message body.
The request line and header field define the nature of a call based on the business, address, and Protocol features. The message body is independent of the SIP protocol and can contain any content.
SIP defines the following methods:
INVITE -- INVITE users to join the call.
BYE -- terminate the call between two users on a call.
OPTIONS -- request information about server capabilities.
ACK -- confirm that the client has received the final response to INVITE.
REGISTER -- provides address resolution ing to let the server know the location of other users.
INFO -- used to send messages in a session.
V. Conclusion
Because of its simplicity, scalability, and implementation convenience, the SIP Protocol has become increasingly popular in the industry. It is gradually becoming an important protocol in the Next Generation Network of NGN) and 3G Multimedia Subsystem domain, in addition, there are more and more client software and smart Multimedia Terminals supporting SIP, as well as servers and SoftSwitch devices using the SIP protocol. Although the SIP protocol is not yet mature, it is foreseeable that SIP will surely become a star in the future of network multimedia communication.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.