Search This Blog

Tuesday 1 March 2011

VOICE OVER INTERNET PROTOCOL


VOICE OVER INTERNET PROTOCOL



Abstract
This paper first discusses the key issues that inhibit Voice over IP (VOIP) “A technology used to send voice data in the form of packets in internet protocol” to be popular with the users. Then it discusses the protocols and standards that exist today and are required to make the VOIP products from different vendors to interoperate. The main focus is on H.323 and SIP (Session Initiation Protocol), which are the signaling protocols. This paper also discusses some hardware standards for internet telephony.





A PAPER ON
VOICE OVER INTERNET PROTOCOL


CONTENTS
                   1. Introduction
                                    a. Main Issues
                        2. H.323
                                    a. Protocol Stack
                                  b. Overview
Ø     Terminals
Ø     Gate Keepers
Ø     Gate Keeper Zones
Ø     MCU’S
Ø     Gate Ways
c. How Gate keepers, Terminals, Gate Ways work           together
                        3. Session Initialization Protocol (SIP)
                                    a. Components
                                    b. Overview
                                    c. Sample SIP Operation
                        4. Comparison of H.323 and SIP
                        5. Hardware
                                    a. SCBUS
                                    b. S100
                        6. Summary
                        7. Bibliography

Department of Computer Science and Engineering (CSE)
Koneru Lakshmaiah College of Engineering
Vaddeswaram.
1)INTRODUCTION
Voice over IP (VOIP) uses the Internet Protocol (IP) to transmit voice as packets over an IP network. So VOIP can be achieved on any data network that uses IP, like Internet, Intranets and Local Area Networks (LAN). Here the voice signal is digitized, compressed and converted to IP packets and then transmitted over the IP network. Signaling protocols are used to set up and tear down calls, carry information required to locate users and negotiate capabilities. One of the main motivations for Internet telephony is the very low cost involved. Some other motivations are:
Ø      Demand for multimedia communication
Ø      Demand for integration of voice and data networks
1a)Main Issues
For VOIP to become popular, some key issues need to be resolved. Some of these issues stem from the fact that IP was designed for transporting data while some issues have arisen because the vendors are not conforming to the standards. The key issues are stated below:

Ø      Quality of voice
Ø      Interoperability
Ø      Security
Ø      Integration with Public Switched Telephone Network (PSTN)
Ø      Scalability

2)H.323 STANDARD
This is the ITU-T’s (International Telecommunications Union) standard that vendors should comply while providing Voice over IP service. This recommendation provides the technical requirements for voice communication over LANs while assuming that no Quality of Service (QoS) is being provided by LANs. It was originally developed for multimedia conferencing on LANs, but was later extended to cover Voice over IP. The first version was released in 1996 while the second version of H.323 came into effect in January 1998. The standard encompasses both point to point communications and multipoint conferences. The products and applications of different vendors can interoperate if they abide by the H.323 specification.

2a) H.323 Protocol Stack
The following figure shows the H.323 protocol stack. The audio, video and registration packets use the unreliable User Datagram Protocol (UDP) while the data and control application packets use the reliable Transmission Control Protocol (TCP) as the transport protocol. Except for the T.120 protocol, the other protocols are described in the paper. The T.120 protocol is used for defining the data conferencing part.

2b) OVERVIEW OF H.323 PROTOCOL:
H.323 Network

H.323 Terminals

An H.323 terminal is an endpoint in the LAN that participates in real-time, two-way communications with another H.323 terminal, gateway, or multipoint control unit (MCU). A terminal must support audio communication and can also support audio with video, audio with data, or a combination of all three.
H.323 terminals must support the following standards and protocols:
H.245—an ITU standard used by the terminal to negotiate its use usage of the channel. Recommended audio CODECs include G.711, G.722, G.723, G.723.1, G.728, and G.729. Recommended video CODECs include H.261 and H.263.
H.225.0—An ITU standard that uses a variant of Q.931 to set up the connection between two H.323 endpoints.
RAS—(Registration Admission Status) A protocol used to communicate with the H.323 gatekeeper.
RTP and RTCP—(Real-Time Transport Protocol and Real-Time Control Protocol) Protocols used to sequence the audio and video packets. The RTP header contains a time stamp and sequence number, allowing the receiving device to buffer as much as necessary to remove jitter and latency by synchronizing the packets to play back a continuous stream of sound. RTCP controls RTP and gathers reliability information and periodically passes this information onto session participants.

Gatekeepers

Gatekeepers are optional nodes that manage other nodes in an H.323 network. Other nodes communicate with the gatekeeper using the RAS protocol. A gatekeeper is not required in an H.323 network, but it must be used if one is present.

Gatekeeper Zones

H.323 endpoints are grouped together in zones. Each zone has one gatekeeper that manages all the endpoints in the zone. A zone is an administrative convenience similar to a DNS domain. Gatekeeper zones are normally set up to correspond to geographic zones.
MCU’S
An MCU is an endpoint on the LAN that provides the capability for three or more terminals and gateways to participate in a multipoint conference. It controls and mixes video, audio, and data from terminals to create a robust video conference.

Gateways

An H.323 gateway can provide an interface between H.323 and the Public Switched Telephone Network (PSTN), H.320 terminals, V.70 terminals, H.324 terminals, and other speech terminals. It provides standard interfaces to the PSTN, processes the voice and fax signals using Codec’s to convert between circuit-switched and packet formats, and works with the gatekeeper through the RAS protocol to route calls through the network. Gateways provide translation between transmission formats, such as H.245 and H.242. Figure  shows a gateway between an H.323 terminal and a speech-only telephone.
Gateway Between an H.323 Terminal and a Speech-only Telephone

2d)How Terminals, Gatekeepers, and Gateways Work Together

Gateways provide protocol conversion between terminals running different types of protocols. Gateways communicate with gatekeepers using the RAS protocol. The gatekeeper maintains resource computing information, which it uses to select the appropriate gateway during the admission of a call. In following figures:
Ø      TA1 is an H.323 terminal registered to GK1.
Ø      GW1 is an H.323-to-H.320 gateway registered to GK1.
Ø      TA2 is a telephone.
Figure illustrates the processing of a call that originates with a device in the zone (TA1) and is intended for a device outside the zone (TA2).

 Processing of Calls Going Out of the Zone

A call from TA1 to TA2 is set up as follows:
Ø      TA1 asks GK1 for permission to connect to TA2's E.164 address.
Ø      The gatekeeper looks through its local registrations and does not find any H.323 terminals registered with that E.164 address, so the gatekeeper assumes that it is a telephone outside the scope of H.323. The gatekeeper instructs TA1 to connect to the GW1 IP address.
Ø      TA1 connects to GW1.
Ø      GW1 completes the call to TA2.
illustrates the processing of a call that originates with a device outside the zone (TA2) and is intended for a device in the zone (TA1).

Processing of Calls Coming Into the Zone

A call from TA2 to TA1 is set up as follows:
Ø      TA2 calls GW1 and provides the TA1 E.164 address as the final destination.
Ø      GW1 sends a message to GK1 asking to connect to that address.
Ø      GK1 gives GW1 the address of TA1.
Ø      GW1 completes the call with TA1.
3)SESSION INITIATION PROTOCOL (SIP)
This is the IETF’s standard for establishing VOIP connections. It is an application layer control protocol for creating, modifying and terminating sessions with one or more participants. The architecture of SIP is similar to that of HTTP (client-server protocol). Requests are generated by the client and sent to the server. The server processes the requests and then sends a response to the client. A request and the responses for that request make a transaction. SIP has INVITE and ACK messages which define the process of opening a reliable channel over which call control messages may be passed. SIP makes minimal assumptions about the underlying transport protocol. This protocol itself provides reliability and does not depend on TCP for reliability. SIP depends on the Session Description Protocol (SDP) for carrying out the negotiation for codec identification. SIP supports session descriptions that allow participants to agree on a set of compatible media types. It also supports user mobility by proxying and redirecting requests to the user’s current location. The services that SIP provide include:
User Location: determination of the end system to be used for communication
Call Setup: ringing and establishing call parameters at both called and calling party
User Availability: determination of the willingness of the called party to engage in communications
User Capabilities: determination of the media and media parameters to be used
Call handling: the transfer and termination of calls
Sip protocol

3a)Components of SIP
The SIP System consists of two components:
 User Agents:
A user agent is an end system acting on behalf of a user. There are two parts to it: a client and a server. The client portion is called the User Agent Client (UAC) while the server portion is called User Agent Server (UAS). The UAC is used to initiate a SIP request while the UAS is used to receive requests and return responses on behalf of the user.
 Network Servers:
There are 3 types of servers within a network. A registration server receives updates concerning the current locations of users. A proxy server on receiving requests, forwards them to the next-hop server, which has more information about the location of the called party. A redirect server on receiving requests, determines the next-hop server and returns the address of the next-hop server to the client instead of forwarding the request.


3b)Overview of SIP operation
Callers and callees are identified by SIP addresses. When making a SIP call, a caller first needs to locate the appropriate server and send it a request. The caller can either directly reach the callee or indirectly through the redirect servers. The Call ID field in the SIP message header uniquely identifies the calls. Below I briefly discuss how the protocol performs its operations
  SIP Addressing
The SIP hosts are identified by a SIP URL which is of the form sip:username@host. A SIP address can either designate an individual or a whole group.
 Locating a SIP server
The client can either send the request to a SIP proxy server or it can send it directly to the IP address and port corresponding to the Uniform Request Identifier (URI).
SIP Transaction
Once the host part of the Request URI has been resolved to a SIP server, the client can send requests to that server. A request together with the responses triggered by that request make up a SIP transaction. The requests can be sent through reliable TCP or through unreliable UDP.
SIP Invitation
A successful SIP invitation consists of two requests: a INVITE followed by ACK. The INVITE request asks the callee to join a particular conference or establish a two party conversation. After the callee has agreed to participate in the call, the caller confirms that it has received that response by sending an ACK request. The INVITE request contains a session description that provides the called party with enough information to join the session. If the callee wishes to accept the call, it responds to the invitation by returning a similar session description.
 Locating a User
A callee may keep changing its position with time. These locations can be dynamically registered with the SIP server. When the SIP server is queried about the location of a callee, it returns a list of possible locations. A Location Server in the SIP system actually generates the list and passes it to the SIP server.
Changing an Existing Session
Sometimes we may need to change the parameters of an existing session. This is done by re-issuing the INVITE message using the same Call ID but a new body  to convey the new information.

3c)Sample SIP Operation
The following figure illustrates the sample SIP Operation
Simple SIP Operation
4) COMPARISON OF H.323 WITH SIP
 The table given below lists the differences in a tabular form.
H.323
SIP
Complex protocol
Comparatively simpler
Binary representation for its messages
Textual representation
Requires full backward compatibility
Doesn’t require full backward compatibility
Not very modular
Very modular
Not very scalable
Highly scalable
Complex signaling
Simple signaling
Large share of market
Backed by IETF
Hundreds of elements
Only 37 headers
Loop detection is difficult
Loop detection is comparatively easy
Comparing H.323 with SIP

5) Hardware standards
Some hardware standards for computer telephony have come up over the past few years. They attempt to provide interoperability among the telephony products form different vendors. Two of these standards (SCBus and S.100) are discussed below:

5a)SCBUS                                                                                                                The SCBus is a high speed digital TDM (Time Division Multiplexing) bus developed for computer telephony. The features provided by SCBus include

  • It is based on a single distributed switching model
  • It provides clock management for real-time communications
  • it allows developers to build large distributed systems
  • It supports 16 synchronous serial data lines for real-time communication between devices in a single node

5b)S.100

S.100 is a standard API (Application Programming Interface) for computer telephony. The services provided by S.100 can be mainly categorized under the following heads
  • Session/Event Management:
  • Group Management:
  • Resource Allocation and Management:
  • Run Time Control:

6)SUMMARY

In this paper, we discussed the signaling protocols H.323 (ITU-T standard) and SIP (IETF standard). We compared both the protocols and noted that although H.323 has more share of the market at present, but SIP is a much better protocol given its simplicity and scalability. For both H.323 and SIP, we need some real-time protocols that do the actual transport. We also saw some protocols that are required in conjunction with SIP so as to advertise the session (SAP) and give a description of the session (SDP). RSVP is used to reserve resources in the network and thereby provide some Quality of Service. Finally, we discussed two hardware standards, viz SCBus and S.100.
7.Bibliography
1. Ulyess Black, "Voice over IP", 1999, 328 pages, Prentice Hall
This book explains the protocols for VOIP
2. W Goralski, M Kolon, "IP Telephony", 1999, 468 pages, McGraw Hill
This book gives a good overview of Voice over Internet Protoco

No comments: