Codecs are used to convert an analog voice signal to digitally encoded version. Codecs vary in the sound quality, the bandwidth required, the computational requirements, etc.

Each service, program, phone, gateway, etc typically supports several different codecs, and when talking to each other, negotiate which codec they will use.

As an example, a Cisco ATA-186 supports these codecs:
G.723.1, G.711a, G.711u, G.729a (please note that ATA-186 has x2 FXS ports, there is only one port can run on (G.729) with two simultaneously
active ports, second one will be on G.711a/u)

As an example, a Cisco 7960 supports (Firmware P0S3-06-0-00):
G.711a, G.711u, G.729a

Some codecs require payment of royalities for their use in a product or program. See Codec Patents for more information.

  • AMR Codec
  • BroadVoice Codec 16Kbps narrowband, and 32Kbps wideband
  • DoD CELP - 4.8 Kbps
  • GIPS Family - 13.3 Kbps and up
  • GSM - 13 Kbps (full rate), 20ms frame size
  • iLBC - 15Kbps,20ms frame size: 13.3 Kbps, 30ms frame size
  • ITU G.711 - 64 Kbps, sample-based Comes in two flavors: A-law and mu-law
  • ITU G.722 - 48/56/64 Kbps ADPCM 7Khz audio bandwidth
  • ITU G.722.1 - 24/32 Kbps 7Khz audio bandwidth (based on Polycom's SIREN codec)
  • ITU G.722.1C - 32 Kbps, a Polycom extension, 14Khz audio bandwidth
  • ITU G.722.2 - 6.6Kbps to 23.85Kbps. Also known as AMR-WB. CELP 7Khz audio bandwidth
  • ITU G.723.1 - 5.3/6.3 Kbps, 30ms frame size
  • ITU G.726 - 16/24/32/40 Kbps
  • ITU G.728 - 16 Kbps
  • ITU G.729 - 8 Kbps, 10ms frame size
  • LPC10 - 2.5 Kbps
  • Speex - 2.15 to 44.2 Kbps

Some tables comparing different codecs:

Tables showing which VoIP clients support which codecs

Audio Examples of different Codecs

A Portal for all types of Software codecs (Audio, Video, Image & Speech)


  • 2004-12-07 - SPIRIT Offers Ip-Multi Rate - Next Generation VoIP Codec; Dedicated IP-Multi Rate Codec Provides FM-Radio Speech Quality in IP Networks Businesswire
  • 2005-05-09 - Free online codec conversion tool available at

Some potentially useful info:

Keep in mind the link layer framing that is used as well. ATM (what most of the internet backbones use) has 53 byte fixed cells. There are 5 bytes of headers. Only one packet can exist in a group of cells (a group is 1 or more cell until the whole packet is sent). This means that if you try to send a 80 byte IP packet over an ATM link it will be chopped into 2 ATM cells with 16 bytes of padding. This is only 83% efficient. By adjusing your sample size you may find that your throughput can be increased because you transfer more useful data and less padding. Make your sample size too small and you have a lot of IP overhead, make it too large and it can cause problems with call quality (think of a 30ms jitter buffer and 30ms sample sizes, in effect you have no jitter buffer because packets cant be reordered, jitter cant be controlled, etc). Its a fine balance, but something to consider. Even if you dont use ATM the internet backbones often do, so this is something that may make slightly faster transfers and better network efficiency. DSL, E1, T1, SMDS, OC1, OC3, OC12 etc generally all use ATM, so its quite common.

See also

Created by: admin, Last modification: Sat 16 of Mar, 2013 (11:03 UTC) by steelmans1980
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+