SIP – Session Initiation Protocol

Session initiation protocol (SIP), proposed by the IETF standard for scheduling sessions between one or more clients. It is currently the dominant signaling protocol for Voice over IP and is gradually replacing H.323.

Protocol construction

SIP is intended to provide a set of call handling features and other features present in a public telephone network (PSTN). As such, it includes features that enable familiar dial-up operations such as dialing, ringing in the phone, busy tone, etc. However, their implementation and terminology are different.

SIP also implements many more advanced connection capabilities available in the SS7 signaling protocol. But these two protocols are very different. SS7 is a highly centralized protocol characterized by complex network architecture and ‘non-smart’ end nodes (traditional telephone terminals). SIP is a peer-to-peer protocol. Requires only a simple (and thus highly scalable) backbone network. Intelligence is distributed on the edge of the network – sewn on end nodes (end devices implemented in hardware or software). This is in contrast to the features offered by the SS7, which is provided by the network itself.

There are many other signaling protocols for VoIP, however, SIP has been defined among the web community rather than the telecommunication. SIP is a standard managed by the IETF. Older and more complex VoIP protocols were usually proposed by ITU-T.

The SIP is compatible with several other protocols and is only involved in signaling part of the communication session. SIP is a Session Description Protocol (SDP) media that describes the transported media on the network. Such as used IP ports, used codecs, and so on.

SIP Standards

The first proposed standard version (SIP 2.0) was defined in RFC 2543. The protocol is then further refined in RFC 3261 ↓, although many implementations use the templated drafts. Still, the official version number is still 2.0.

SIP is similar to HTTP and shares many construction rules with it: it uses plain text (it is readable directly by humans). A very simple request-response mechanism. Some users, however, complain that despite their original intentions simplicity in their present state. The complexity of the SIP resembles the complexity of H.323. In addition, SIP shares many common code identifiers such as 404. HTTP endpoints are identified using addresses similar to e-mail addresses: user @ domain: port, the default port is 5060.

SIP network elements

User agent

A user agent is a logical network end-point used to create or receive SIP messages. The user agent manages SIP sessions. As a client (UAC), it sends SIP requests, and as a server (UAS) it receives requests and returns a SIP response. Unlike other network protocols that fix the roles of client and server. For example: in HTTP, in which a web browser only acts as a client, and never as a server, SIP requires both peers to implement both roles.

The roles of UAC and UAS only last for the duration of a SIP transaction.

Gateways (nodes)

A gateway can be applications run on a computer (softphone) or devices similar to the look and feel of traditional phones but connected to a network socket and use SIP and RTP protocols for communication. They can also be used as gateways to connect a traditional telephone to a computer network.

Currently, they are offered by several manufacturers and are gaining in popularity. Regardless of the type of terminal used, if the service provider provides the appropriate network infrastructure (PSTN gateway), these terminals can talk to ordinary PSTN network users (initiated by either party).

Registrar

Is a special database that communicates with SIP nodes to collect and archive information about SIP users. This data is used when establishing a connection to find the target nodes on the network. When a node registers in a register, it passes on the IP address and node port that will be used for further communication. The recorder acts as a SIP level router, allowing the initiator node to find the target node.

SIP connections that are not local (connected to different SIP loggers) must be forwarded by a special proxy server:

SIP Proxy

The proxy server is responsible for forwarding the requested domain to the appropriate domain. The proxy examines the SIP INVITE command. And based on the address it has addressed to another node on the network. This way of making connections avoids problems with address translation (NAT). Although the two SIP endpoints can communicate without the involvement of the SIP network infrastructure (therefore, the protocol belongs to the peer-to-peer class). In this form it is impractical for mass applications.

SIP proxy can also fulfill other functions. One of the most important tasks of a SIP proxy server is to allow connections between VoIP terminals and the PSTN network. If your local network requires you to use a proxy server when making connections, then that server will be able to run billing records, control tariff plans, or record conversations.

Call flow through redirect server and proxy.

Call flow through redirect server and proxy.