SIP – Closing the Real-Time Gap
The Internet as we know it began as ARPANET (a.k.a. the Advanced Research Projects Agency Network) in 1969. ARPANET started out as a four-node packet switching network through a government-awarded contract. It was initially deployed to support three main applications: e-mail, remote terminal access to host computers, and file transfers. The common thread running through these three applications is the characteristic of non-real-time operation. Meaning, if there is a network delay of a few seconds, none of these functions will suffer any noticeable interruption of service.
However, as part of the ARPANET research, the Internet Protocol (IP) (providing addressing and packet delivery) and the Transmission Control Protocol (TCP) (for end-to-end reliability between communication hosts) emerged in 1981. The creation of these protocols helped to transition the Internet to the state we know it in today – a worldwide collection of interconnected networks, supporting over a billion end-users across the globe.
Nowadays, the Internet has grown to include real-time applications like voice and video. As a result, the standards organization that handles Internet process and protocol development – the Internet Engineering Task Force (IETF) – is focused on supporting these types of traffic. Even so, the basic infrastructure of the Internet – based upon the Internet Protocol (IP) standard and its basic structure as a connectionless, data-centric network – has not changed.
In today’s Internet full of real-time applications, running over a connectionless environment can cause interruptions in service like packet delay and loss, and a degraded experience for the end user. To fix these potential issues and prevent them from occurring, the IETF created a number of additional protocols like:
- Real Time Protocol (RTP)
- RTP Control Protocol (RTCP)
- Session Initiation Protocol (SIP)
- SIP Transforms
For the past 10 years, SIP in particular has played a key role in transforming the data-centric Internet into a broader infrastructure capable of handling both data-focused and real-time applications. This additional protocol has become a favorite of software developers, designers, and manufacturers.
To assist the IETF with the development and implementation of Internet technologies, a non-profit organization, the Internet Society, was founded in 1992. The Internet Society helps provide overall leadership to the international Internet community. Together, these two organizations help to guide the progression of Internet standards and improvements.
In delving deeper into the requirements for real-time protocols like SIP, we need to examine various options for network architecture. There are two main communications network services options for end-user applications, connection-oriented and connectionless networks:
- A classic example is the Public Switched Telephone Network (PSTN) – where the path from the source to the destination is established prior to any information transfer.
- The signaling process uses resources but the path through the network is defined.
- Transmission Control Protocol (TCP)
- A typical example is the U.S. Postal System – where a person drops a letter into the mailbox and if everything works as it should, the letter arrives to its intended destination.
- Networking example is Ethernet Local Area Network (LAN)
- Full source and destination address is attached to a packet of information
- Sometimes called “Best efforts” and unreliable
- Internet Protocol (IP) and User Datagram Protocol (UDP)
Both connection-oriented and connectionless networks require addressing to uniquely identify both the source and destination end stations. The addresses are made up of 48-bit Media Access Control (MAC) address ids for their Ethernet hardware interface.
Although there are limitations that come with the connectionless nature of the Internet, they can be overcome through the use of additional protocols. Back in the 1970’s, computer manufacturers and telecommunications companies designed proprietary architectures to try and maintain and grow their market share. But once the Open Systems Interconnection (OSI) Reference was published in 1984 by the International Organization for Standardization (ISO), this began to change. The OSI model broke the complex communication processes down into 7 layers that have been used by these manufacturers widely in the last few decades for standardization.
Similarly, the ARPANET developers divided communication processes down into four layers:
- Network Interface – physical connection to the LAN/WAN
- Internet – end-to-end delivery of datagrams or packets (IP)
- Host-to-Host – assures reliability of end-to-end datagram flow (TCP and UDP)
- Process/Application – providing end-user services like email or file transfer
This structure worked at the time that TCP/IP was developed, since applications like e-mail and file transfers were not real-time. In the 1970’s there were no active server pages or YouTube videos or other time-sensitive applications. Support for real-time applications was not part of original design requirements outlined by ARPANET.
So fast-forwarding to 2015, how do we support connection-oriented applications like voice and video over a connectionless environment like IP without redesigning network infrastructure? The solution is to enhance IP with additional algorithms and protocols that fill in gaps. These include such items as:
- Audio and video encoders: codec functions defined in mathematical algorithms that are implemented in software or firmware
- Real-time Transport Protocol (RTP): end-to-end delivery services for applications requiring real-time support, such as payload identification, sequence numbering, and timestamps
- RTP Control Protocol (RTCP): monitors the quality of the RTP connection and provides information about the participants in the communication session
- Session Description Protocol (SDP): conveys standard representation of communication details to session participants and information about the sessions media streams
- Session Announcement Protocol (SAP): transmits packets periodically to identify open sessions of interest to the end-user community
- Session Initiation Protocol (SIP): application layer control protocol used to create, modify, and terminate communication sessions between participants
SIP, specifically, is implemented frequently, because it bridges across wired, wireless, and Internet communications, and therefore can be used in today’s converged networks. Thus, supplementary protocols like SIP are enabling data-centric traffic and real-time conversations like voice and video to co-exist harmoniously.