A Primer on Voice over Internet Protocol (VoIP)
Voice over Internet Protocol (VoIP) is a type of transmission technology used in delivering voice communications over IP networks such as the Internet or ethernet networks. It is a communications mode that migrated from several traditional forms and eventually to the Internet. The trend started with the e-mail in the early 1990s and it has now replaced the regular mail for written communications. Then next to come is instant text messaging applications like ICQ, AOL Instant Messenger and Yahoo Messenger. These applications later came out with voice chat features in which users do one-way voice conversations in communicating with one another. Other services like conference calling, voicemail, call forwarding and contact management were later added that lead to the creation of a new revolutionary technology – Voice over Internet Protocol or VoIP. The most popular protocols are H.323 and SIP and we will focus our discussions on these two.
H.323
H.323 is a communication standard for the transmission of audio, video, and data information over IP networks. It contains specifications on the components and protocols required in providing multimedia communication over local-area networks (LANs), metropolitan-area networks (MANs) and wide-area networks (WANs). H.323 applications may include IP telephony (audio only), videotelephony (audio and video), audio+ data and audio+video+data. It can also be used for point-to-point or point-to-multipoint-multimedia communications like videoconferencing.
H.323 Components
1. Terminals - an H.323 terminal can either be a personal computer (PC) or a stand-alone device, running the multimedia applications. The primary goal of H.323 is to interface standard-defined equipment with other multimedia terminals.
2. Gateways - a gateway refers to the equipment used to provide connectivity between an H.323 network and a non–H.323 network. The H.323 network can consist of personal computers or PC-based peripherals while a non-H.323 network can refer to a PBX or a PSTN network.
3. Gatekeepers - a gatekeeper is necessary if an H.323 network is to be implemented with services such as addressing, call-routing, billing, bandwidth management and authorization and authentication of terminals and gateways.
4. Multipoint Control Units (MCU) - an MCU is required when implementing a multi-point conferencing using three or more H.323 terminals. All terminals participating in the conference should make a connection to the MCU, which manages conference resources and determines which audio/ video codecs to use.
H.323 Protocols
1. Audio CODEC - an audio CODEC (encoder/ decoder) digitizes the audio signal from analog sources such as microphones before transmission through the H.323 terminal. At the other end, the same type of audio CODEC decodes the received digital audio signal and converts it to analog form at the speaker of the receiving H.323 terminal.
2. Video CODEC - a video CODEC (encoder/ decoder) digitizes the video signal from analog sources such as video cameras before transmission through the H.323 terminal. At the other end, the same type of video CODEC decodes the received digital video signal and converts it to analog form at the display or video output of the receiving H.323 terminal.
3. Registration, Admission and Status (RAS) - RAS is the protocol between endpoints (can be terminals or gateways) and gatekeepers. The functions of RAS are terminal or gateway registration, bandwidth changes, status admission control and disconnect procedures.
4. H.225 Call Signaling - the H.225 call signaling is used to establish a connection between two H.323 endpoints (can be terminals or gateways).
5. H.245 Control Signaling - once H.323 endpoints or gatekeepers are connected, H.245 control signaling is used to exchange end-to-end control messages that manage the operation of the H.323 endpoint.
6. Real-Time Transport Protocol (RTP) - refers to the protocol that defines end-to-end delivery services of real-time audio and video. RTP is used to transport data via the user datagram protocol (UDP).
7. Real-Time Transport Control Protocol (RTCP) - RTCP refers to the protocol that defines control services, which function is to provide feedback on the quality of the data distribution.
The Session Initiation Protocol (SIP) is a signalling protocol used to establish sessions in an IP network. A session can be a simple point-to-point telephone call or it can be a multi-point conference session. The development of SIP made possible the implementation of new IP telephony services like web page click-to-dial, Instant Messaging with buddy lists, voice-enriched e-commerce and IP Centrex services. SIP has become the preferred protocol in the VoIP industry over other protocols such as the H.323 standard. With SIP, telephony becomes just another Internet application and integration into other web-based services becomes natural.
SIP Components
SIP has two basic components: the SIP user agent and the SIP network server. The user agent is a client application that initiates SIP requests and the SIP server is the network device that handles the signalling associated with multiple calls. It has a client element, the User Agent Client (UAC) and a server element, the User Agent Server (UAS). The client element initiates the call requests and the server element contacts the user when a SIP request is received. Examples of devices that have UA function are PC workstations, IP phones, gateways, call agents and automated answering devices.
The function of the SIP server is to provide name resolution and user location. These messages are passed to other servers by using next hop routing protocols. SIP servers can operate in two different modes: stateful and stateless. A server in a stateful mode remembers the incoming requests it receives and the responses it sends back to callers. On the other hand, a stateless mode forgets all information once it has sent a request. Other functions of SIP servers are re-direct and forking. A re-direct server receives requests and then passes these onto the next server. Forking is the ability of the server to split an incoming call so that several locations can ring at once.
SIP Signaling
• Requests—sent from the client to the server.
• Responses—sent from the server to the client.
SIP Request Methods
SIP Method Description
INVITE Invites a user to a call
ACK Used to facilitate reliable message exchange for INVITEs
BYE Terminates a connection between users or declines a call
CANCEL Terminates a request, or search, for a user
OPTIONS Solicits information about a server's capabilities
REGISTER Registers a user's current location
INFO Used for mid-session signalling
SIP Responses
*1xx Informational (e.g. 100 Trying, 180 Ringing)
*2xx Successful (e.g. 200 OK, 202 Accepted)
*3xx Redirection (e.g. 302 Moved Temporarily)
*4xx Request Failure (e.g. 404 Not Found, 482 Loop Detected)
*5xx Server Failure (e.g. 501 Not Implemented)
*6xx Global Failure (e.g. 603 Decline)
Future Trends
The implementation of VoIP in consumer, enterprise and carrier applications is expected to increase in the years to come. The increase is predicted to be almost double in 2010 from the number of users last year, based on industry estimates. This could have been bigger but the current economic downturn saw many consumers and organizations focusing only on the most important expenditures. The big players like Cisco, Avaya and Nortel will continue to be the market leaders in providing equipment and solutions. In terms of providing service, Skype is still on top overtaking telco providers like Verizon and AT&T. In consumer VoIP services, Skype is also the most popular, followed by Yahoo Messenger and Google Talk.
As to what protocol will dominate the industry, developments show that Session Initiation Protocol (SIP) may become the de facto standard. Today, more VoIP phone and software vendors are coming out with SIP hardware and software solutions. SIP is easier to implement because it follows the client/server model that has proved so successful with the Internet. It is also possible for applications to be written by end-users in the same way that web applications are being developed today. There are several open source VoIP development softwares like FreeSWITCH, Asterisk, YATE, PJSIP and VOCAL to name a few.
- Diego Villa's blog
- 472 reads





Post new comment