Tuesday, August 5, 2008

8. Codec - Coder/Decoder

What is the function of Codec?

  • Voice transmission is in analog signal, whereas the data network is digital.
  • So codec is help to convert analog signal into digital form and transport it to the network. There are many standards to sample an analog signal and the process is done through PCM(Pulse Code Modulation or variations.
  • How the PCM works? Firstly the analog signal is input to a low pass filter. After that, the filter signal is sampled using one of the codec. Next the waveform is converted into a discrete digital signal. This sample is than represented by a code that indicate the amplitude of the waveform at the instant the sample was taken.

The following show an example of PCM:


Types of codec
  • G.711 - It is a 64kps PCM voice encoding method that encode voice that is ready in PCM format for digital voice delivery in the public network or through PBX.
  • G.726 - Describe ADPCM coding at 40,32,24,and 16kpbs. It allow user to interchange ADPCM voice between packet voice and public phone or PBX.
  • G.728 - A 16kpbs low-delay variation of CELP voice compression.
  • G.729 - A CELP compression that enale voice to be coded into 8kpbs streams. There are two types of variation of this standard(A and B) that are differ in computational complexity and both also provide good speech quality.
  • G.723.1 - It compresses speech or other audio signal components of multimedia service at low bit rate, as part of the overall H.324 Standards. There are two bit rates associated with this coder : 5.3 and 6.3kpbs.

7. Media Gateway Control Protocol (MGCP)

What is MGCP?
  • It is protocol used within a VoIP system
  • It was developed to address the demands of carrier-based IP telephone network.
  • Also a complementary protocol for H.323 and SIP, which was designed as an internal protocol between Media Gateway Controller and Media Gateway.
What does MGCP consists of?
  • It comprised o a Call Agent, one MG (media gateway) which performs the conversion of media signals between circuits and packets, and one SG (signaling gateway) when connected to the PSTN (Public Switched Telephone Network).
  • MGCP is widely used between elements of a decomposed multimedia gateway. The gateway has a Call Agent, which is comprised of the call control "intelligence" and a media gateway boasting the media functions, for example conversion from TDM voice to Voice over IP.
MGCP Connection

MGCP connection can be point to point or point to multipoint. Once there is a connection, data transfer takes place between the endpoints. In multipoint connections, it is set up between endpoint and a multipoint session. In multipoint connection, it can be created over various types of bearer network.

The Architecture of MGCP

  • The architecture does not involved in the frustrating work of encoding ,decoding and transfer of voice signals.
  • The MGCP call agent works as a software switch for the VoIP network,.
  • It does noting more than simply direct the media gateway and media signalling gateway which perform all the work.
  • The main task of Call Agent is to implement numerous possibilities in the protocol.
  • In every architecture, each and every components features a transaction ID, gets an anknowledgement and receives a responses.
The MGCP Packets
  • MGCP packets are generally found wrapped in UDP port 2427.
  • An MGCP packer can either be a command or a response.
  • Commands start with a four-letter verb while "responses" start with a three number response code.

Saturday, August 2, 2008

6. The Session Initiation Protocol(SIP)

Introduction to SIP

SIP is an application layer signalling protocol used to establish, maintained and terminate multimedia session. It can also perform both unicast and multicast session and sipport user mobility. It can also handles signals and identifies user location , call setup , termination and busy signal.

Since 2007, SIP has become the defacto signalling standard for VoIP and multimedia communication. It has been said that SIP has been benefited by being an IETF standard, The IETF being quicker to adapt to industry forces than the ITU. SIP is supported by both standard committees, as in H.323.

SIP is a text based protocol that is part of an overall IETF multimedia architecture. The IETF also include Resource Reservation Protocol, Real-time Transport Protocol , RTSP and SAP, SPP. it in-coperate in conjunction with other signalling Protocol such as H.323.

SIP Messages

There are two kinds of SIP messages : request from client and responses returned from servers.
Every messages contain a header that describe the details of the link. It is also able to send message syntax and header fields identical to Hypertext Transfer Protocol(HTTP). Besides that, SIP messages can sent either over UDP or TCP with multiple messages carried in a single TCP connection or UDP datagram.

What are the Message header in SIP?

There are four groups of message header which are described below:
  • General headers- Apply to request and responses
  • Entity headers - Define information about the content in the body and the length
  • Request headers - Enable user to include additional request information.
  • Response headers - Enable server to include additional responses information.
What are the Message request in SIP?

There are 6 kind of message request. Theses are referred to as methods, enable user agents and network servers to locate, invite and handle calls.The six SIP message request are describe below:

1. Invite
This is used to indicate that user or service is invited to join in a session. It include session description, for two-way call, the calling party indicates the media type.The user can recognize the capabilities of the other end and open a conversation session with a limited number of messages and round trips.

2. ACK
It is a correspond to an Invite request. It also represent the final confirmation from the end system and conclude the traction initiated by the invite command. If the calling party includes a session description in the ACK request, no additional parameters are used in the session. If it is absent, the session parameters in Invite request are used as the default.

3.Options
Used to enable user to query and collect user agents and network server capabilities. However this is not used to establish session.

4.Bye
Used by calling and called parties to release a call. Before ending the call, the user agent sens this request to server to indicate that the desired to end this session.

5.Cancel
Enables user agent and server to cancel any progress request. It does not affect complete request in which the final response were already received.

6.Register
This is used by the client to register location information with SIP servers.

SIP Signalling Model

The following show the signalling model between 2 user:


The following diagram can be sumarized above:

  • Firstly, the caller send a signal to establish using the INVITE message to the PBX of the callee.
  • The invite message contain information such as from, to via and call-id,in addition to routing information.
  • Next the proxy server will communicate with the server at the callee side.
  • Once the callee received the message, it will then send a TRYING message to the caller from the proxy server, indicate the signal is being routed.It is also used to keep track of the call process.
  • At the same time , a ringing signal is send form the callee to caller.
  • When the callee accept the call, an OK signal is send to the caller to indicate that the called party has accept the call.
  • The last signal is anknowledge by an ACK messge without any response.
  • After that, both user can communicate directly through the media session.
  • When the callee want to end the call, it will send a BYE message to terminate the session.
  • After that, the caller will send a OK message and the call is terminate.
Components In SIP

The components in SIP are:
1. User Agent
2.Back-to-Back User Agent
3.Proxy server
4.Redirect Server
5.Registrar server

1. User Agent
They are endpoint devices that initiate and terminate the session through a series of request/response quries. It can be an IP Phone and each devices can dind each other without the need of other entities.

2.Back-to-Back User Agent
It is an application that acts an intermediary between two endpoint. It also maintained the state of the call and responsible for call termination. It may function as a gateway representing as an endpoint on the IP side to an endpoint on the PSTN.

3.Proxy server
Translate request by passing hem to other SIP server by rewrite the message before passing it on if required. It can perform address translation within the domain by resolving the e-mail URL or telephone to IP address and use the DNS to find the SIP server outside the domain

It helps in call setup and termination, leaving call connect to the endpoints themselves.

4.Redirect Server
Maps a request from client to the URL of the party being called and send it back to the caller.
It does not pass request to other server.

5. Registrar Server
Register users into a databases as they come online. Information indicating the user identity and the devices on which they choose to be researched is stored by IP address, phone number or URL. Enable user to update their location.

Both Registrar and Redirect server are often resides on a SIP Proxy server.






Friday, July 25, 2008

5. The H.323 signaling protocol

The three commonly used signaling protocols in VoIP are:
  • H.323
  • Session Initiation Protocol(SIP)
  • Media Gateway Control Protocol(MGCP)
The H.323 Signaling protocol

H.323 is an ITU-T specification for transmitting audio, video and data across an IP network . It is implemented at layer 5 of the OSI reference model. It provides ideal telephone communication, support simultaneous voice and data transmission and can also transmit binary message that are encoded using basic encoding rules. It also relies o 2 additional signaling protocols, the H.225 and H.245 for call setup and management.

H.323 components include the following:
  • Terminals
  • Gateway
  • Gate keeper
  • Multipoint control Units.
Terminals

  • It is an end point device such as IP telephone, softphone or a dedicated conferencing device.
  • It is designed to support voice, data traffic and IP telephony.
  • It mus H.245 for channel and negotiation, RAS(Registration Admission stations)
  • Q931 is used for signalling and setup. It also provide setup and support RTP and RTCP on the stream of the media
  • Terminals must support audio with video and data transmission.
Gateway
  • It perform call setup and tear down of the session between two parties
  • It also help to translate audio and video signals.
  • Besides that, it provide RAS for registration .
  • It reflects the characteristics of a switched circuit network(SCN) endpoint and H.323 endpoint.
  • Provides an interface between IP telephony system and PSTN.
  • Can be implemented on a gate keeper , a MCU or on a voice enabled router and switch.
Gatekeeper
  • Provides pre-call and call level control services to H.323 endpoints.
  • It is separated from other network elements in H.323 environment.
  • If more than one gatekeeper is used, an intercommunication is accomplished in an unspecified manner.
  • Manage all the registered terminals, gateways and MCUs in a single H.323 zone.
  • Services such as addressing, authorization of H.323 components , bandwidth management , accounting and billing can be configured on the gatekeeper.
  • It can be implemented on a dedicated server.
Multipoint Control Units(MCU)
  • Support conferences between 3 or more endpoints in a multi point conference.
  • Consists of a Multipoint controller(MC) and an optional Multipoint Processor(MP)
  • The MC is responsible for H.245 functions while the optional MP handles the actual mixing of media streams to avoid bandwidth contention.
  • It act as a bridge between centralized and decentralized enviornment.
  • It receives audio, video and data and distribute them to endpoint participating in a multipoint conferences.
  • Both MC and MP can resides on to a dedicated components , a gateway, terminals or gatekeeper. But it is recommended that MC be utilized on a gateway.
The 5 steps of signaling in H.323 is as followed:
1. Call setup
2. Initial communication capability
3. Audio/video communication establishment
4. Communication
5. Call termination.

At step 1, when user dial the number of the other party, the first set of signal that are exchange is the TCP connection. TCP-SYN, TCP-SYN-ACK and then the TCP-ACK are generated between two user. At this point the H.225.0 SETUP ON TCP signal informs the party that the connection can be set up on TCP. Next, the users can now request a certain bandwidth from it associated gateway server of the called party.

The requested bandwidth from the gateway granted the bandwidth if there are sufficient bandwidth, id not the call has to find another gatekeeper to register. This phase is handle by H.225 and H.245 protocols.

At step2, all the end point's communication are available over TCP. This phase is necessary as the type of communication service requested depends on the communication capabilities at both ends.

At Step3. it implements the establishment of a logical channel, which H.323 is unidirectional, so a logical channel must be establish in either direction in order to have a full duplex communication.But at the same time more band width is needed

Step 4 handles the communication between two user. This phases is control by using RTP over UDP. This step can be any kind of media flow depending on the size and type of the channel establish in step 4.

At step 5 , is the termination by either user and the termination is usually done by gatekeeper.

The following shows the signalling process of H.323:
H.323 Protocol suite

The H.323 protocol suite is based on several protocols. The protocol family support admission, call setup, status ,tear-down , media streams and message in H.323 systems. These protocols are supported by both reliable and unreliable packet delivery mechanism over data networks.

Although most of the H.323 implement TCP as the transport protocols for signalling, H.323 version 2 does not implement TCP but instead use UDP as the transport protocol.

The following shows the H.323 protocol suite

Fig 5 H.323 Protocol suite

This protocol suit can be divided into three main areas of control:

  • Registration, Admission , and Status(RAS) Signalling
  • Call control Signalling
  • Media control and Transport


4. VoIP Signalling Protocol

In VoIP, a signaling Protocol handle call setup, conversion of phone number to IP address mapping and proper call terminating . It usually involves the user location phone number , finding route between a caller and a called party . It also handle things like all forwarding and other call features.

IP telephony signaling can either use a distributed or a centralized signaling scheme.

In distributed signaling scheme, it enable two IP Phone to communicated using a client/server model. It works well with VoIP network within a single company. In a centralized approach, it uses the conventional model and provides some level of guarantee. Signaling is usually done between two IP phones and each phones will exchange those packets to ensure there is a communication link.

In the next section, we are going to look at different types of signaling protocols used in IP telephony.

3. Packets

A packet is a unit of data that is routed between an origin and destination on the internet or other packet switched network. Each packet has a header and a trailer. The header usually consist of the sources and destination address. It may also provide error checking . The trailer usually consists of check sum and error detection function. In VoIP, a voice packet usually consists of several protocol such as Internet Protocol(IP), User Datagram Protocol (UDP) and Real-time Transport Protocol (RTP).

Another similar term to packet is called Datagram which is used in User Datagram protocol. Packet is usually transported using IP, and the re sequencing is usually done by Transmission Control Protocol.

The following diagram show the IP Packet format:

2. Differences between Packet switching and circuit switching.

Circuit Switching is the basis of a conventional telephone system. A circuit between two user must established for a communication to occur and it must maintained for the duration of the call until one of the party hang up. This network need resources to be reserved for each pair of end user. Also, there must be no other user that can use the already dedicated resources for the duration of network use.

Circuit switching is ideal when data must be transmitted quickly, arrive at a sequence order and at a constant rate. So, it is used for audio, video and real time application. This type of network is establish as a virtual circuit between endpoints and the single route which does not vary during connection and the nest connection may take a difference route.

The following diagram show an example of circuit switching network. In the diagram, the communication link is set by thick blue line for the conduit of data from device A to device B and a matching purple line form B to A. Once set up, all communication between devices take plcaes over the conduit , even though there are possible ways that data could be conceivably passed over the network of devices between them.









Fig 1 Circuit Switching Network


Packet switched network is a unified, integrated data between infrastructure that can provide a variety of communication services that needs a different bandwidth.. It keeps the connection long enough to send packets form one end to the other. It is used for the integration and transmission of voice and data . Besides that, it span a large geographical are and comprise a web switching nodes interconnected through transmission links. It allocate resources when required.

The following diagram show a packet switching network. In this network, no circuit is set to prior to sending data between devices. Blocks of data, even from the same file, may take any number of paths as it journey form one devices to another


Fig2 Packet Switching network

The advantage of packet switching is that both parties can transmit at different rates. But the problem is that too many packets can cause congestion and packets that cannot be stored or delivered might be discarded by the packet switching exchange.

VoIP uses packet switching as It needs to send those voice packets at a faster rate while the conventional telephone uses a circuit where it needs dedicated path between two user.

1. Introduction to VoIP - Voice over IP




VoIP, also know as Internet Telephony, is the technology that make it possible to have a telephone conversation between two parties over the internet or a dedicated IP network instead of voice transmission lines. Early Voice over IP system requires the dedicated user PC to be eqqupied with the sound capability and a software application.
This software application convert speech signal into digital packet using a specified type of protocol as the transport medium. It also translates into free or very low cost long-distance calling.

The basic scheme of IP telephony starts with Pulse Code Modulation(PCM). The encoded data is transmitted as packets over packet switched network. Onces it reaches the receiver side, the data is decoded and convert back to analog form which travel through the handset. The process of digitization, compression and packetization is handle by Codec - Codec/Decoder.

In VoIP, voice are transported in packets form through the internet and usually an IP phone or software is used between two parties. These devices will convert the analog signal into digital format, followed by compression. The purpose of compression is to save bandwidth and the more it compressed, the lesser quality of the voice. After that, the binary value is input to a packetizer which consists of IP packets and transmit through the internet.

At the receiving end, the packets will input to a depacketizer that will only keep the payload. After that the payload(digital signal) is converted to analog signal using DAC and input to a standard.

In short, to transmit voice over the IP network, the three steps must be followed:
1. Digitization
2. Compression
3. Packetization

There are three methods of connecting to a VoIP network:
  • Using a VoIP telephone
  • Using a "normal" telephone with a VoIP adapter
  • Using a computer with speakers and a microphone

VoIP telephone calls can be placed either to other VoIP devices, or to normal telephones on the PSTN (Public Switched Telephone Network).

There are two types of PSTN to VoIP services: Direct inward dialing and access numbers.

Direct Inward Dialing(DID) will connect a caller directly to the VoIP user ,while the access numbers need a caller to provide an extension number for the called VoIP user.