Saturday, 01 January 2011 00:00

Voice Codecs For VoIP

Written by  admin
Rate this item
(1 Vote)

 A codec (Coder/Decoder) converts analog signals to a digital bitstream, and another identical codec at the far end of the communication converts the digital bitstream back into an analog signal.

In the VoIP world, codecs are used to encode voice for transmission across IP networks; Codecs for VoIP use are also referred to as vocoders, for "voice encoders".

Codecs generally provide a compression capability to save network bandwidth. Some codecs also support silence suppression, where silence is not encoded or transmitted

There are many codecsfor audio, video, fax and text. Below is a list of the most common codecs for VoIP gateways, IP phone, IP PBX, VoIP phone adapter, and Softswitch; As a user, you may think that you have little to do with what these are, but it is always good to know a minimum about these, since you might have to make decisions one day relating codecs concerning VoIP in your business;

Common VoIP Codecs for Audio (VoIP SIP gateway, IP phone, IP-PBX...)

Codec 

Bandwidth/kbps 

Comments 

G.711 

              64

Delivers precise speech transmission. Very low processor requirements. Needs at least 128 kbps for two-way. 

G.722 

            48/56/64 

Adapts to varying compressions and bandwidth is conserved with network congestion. 

G.723.1 

             5.3/6.3 

High compression with high quality audio. Can use with dial-up. Lot of processor power. 

G.726 

        16/24/32/40 

An improved version of G.721 and G.723 (different from G.723.1) 

G.729 

             8

Excellent bandwidth utilization. Error tolerant. License required. 

GSM 

              13

High compression ratio. Free and available in many hardware and software platforms. Same encoding is used in GSM cellphones (improved versions are often used nowadays). 

iLBC

               15

Robust to packet loss. Free

Speex

            2.15 / 44

Minimizes bandwidth usage by using variable bit rate. 

 

VoIP Per Call Bandwidth

These protocol header assumptions are used for the calculations:

  • 40 bytes for IP (20 bytes) / User Datagram Protocol (UDP) (8 bytes) / Real-Time Transport Protocol (RTP) (12 bytes) headers.

  • Compressed Real-Time Protocol (cRTP) reduces the IP/UDP/RTP headers to 2or 4bytes (cRTP is not available over Ethernet).

  • 6 bytes for Multilink Point-to-Point Protocol (MP) or Frame Relay Forum (FRF).12 Layer 2 (L2) header.

  • 1 byte for the end-of-frame flag on MP and Frame Relay frames.

  • 18 bytes for Ethernet L2 headers, including 4 bytes of Frame Check Sequence (FCS) or Cyclic Redundancy Check (CRC)

Bandwidth Calculation Formulas

These calculations are used:

  • Total packet size = (L2 header: MP or FRF.12 or Ethernet) + (IP/UDP/RTP header) + (voice payload size)

  • PPS = (codec bit rate) / (voice payload size)

  • Bandwidth = total packet size * PPS

Sample Calculation

For example, the required bandwidth for a G.729 call (8 Kbps codec bit rate) with cRTP, MP and the default 20 bytes of voice payload is:

  • Total packet size (bytes) = (MP header of 6 bytes) + ( compressed IP/UDP/RTP header of 2 bytes) + (voice payload of 20 bytes) = 28 bytes

  • Total packet size (bits) = (28 bytes) * 8 bits per byte = 224 bits

  • PPS = (8 Kbps codec bit rate) / (160 bits) = 50 pps

    Note: 160 bits = 20 bytes (default voice payload) * 8 bits per byte

  • Bandwidth per call = voice packet size (224 bits) * 50 pps = 11.2 Kbps

Read 5672 times Last modified on Friday, 23 September 2011 09:45