login | register
Wed 03 of Dec, 2008 [02:56 UTC]

voip-info.org

History

Asterisk codecs

Created by: flavour,Last modification on Mon 03 of Nov, 2008 [15:20 UTC] by yoshac

Asterisk Codecs

Asterisk supports the following narrow-band and wideband (HD audio) codecs:

  • G.711 ulaw (as used in US)
  • G.711 alaw (as used in Europe)
  • ITS G.722 - 16 kHz wideband codec; passthrough, playback and recording in Asterisk 1.4; full support incl. transcoding in Asterisk 1.6, a backport for 1.4 is available, or use this possibly more up-to-date patch
  • G.723.1 - pass-thru for people who need a license , free for other people
  • G.726 - 32kbps in Asterisk 1.0.3, 16/24/32/40kbps in CVS HEAD; flawed until Asterisk 1.4 which corrected the implementation and introduced codec g726aal2 and setting g726nonstandard for backwards compatibility with Asterisk 1.2 installations
  • G.729 - may require a license unless using pass-thru, free version available for use in countries without patents or for educational use only
  • GSM
  • iLBC
  • LPC10 (not recommended!)
  • Speex - configurable 4-48kbps, VBR, ABR, etc. see bug 2536. For Asterisk 1.4. there is patch 10519 available that adds wideband support for the OpenWengo software client

Use this commands in the Asterisk CLI for a detailed listing of the actual capabilities:

 show codecs **
 show translation
 show translation recalc 10

    • show codecs Screen output
The 'show codecs' command is deprecated and will be removed in a future release. Please use 'core show codecs' instead.

Disclaimer: this command is for informational purposes only.
       It does not indicate anything about your configuration.
       INT    BINARY        HEX   TYPE       NAME   DESC

         1 (1 <<  0)      (0x1)  audio       g723   (G.723.1)
         2 (1 <<  1)      (0x2)  audio        gsm   (GSM)
         4 (1 <<  2)      (0x4)  audio       ulaw   (G.711 u-law)
         8 (1 <<  3)      (0x8)  audio       alaw   (G.711 A-law)
        16 (1 <<  4)     (0x10)  audio   g726aal2   (G.726 AAL2)
        32 (1 <<  5)     (0x20)  audio      adpcm   (ADPCM)
        64 (1 <<  6)     (0x40)  audio       slin   (16 bit Signed Linear PCM)
       128 (1 <<  7)     (0x80)  audio      lpc10   (LPC10)
       256 (1 <<  8)    (0x100)  audio       g729   (G.729A)
       512 (1 <<  9)    (0x200)  audio      speex   (SpeeX)
      1024 (1 << 10)    (0x400)  audio       ilbc   (iLBC)
      2048 (1 << 11)    (0x800)  audio       g726   (G.726 RFC3551)
      4096 (1 << 12)   (0x1000)  audio       g722   (G722)
     65536 (1 << 16)  (0x10000)  image       jpeg   (JPEG image)
    131072 (1 << 17)  (0x20000)  image        png   (PNG image)
    262144 (1 << 18)  (0x40000)  video       h261   (H.261 Video)
    524288 (1 << 19)  (0x80000)  video       h263   (H.263 Video)
   1048576 (1 << 20) (0x100000)  video      h263p   (H.263+ Video)
   2097152 (1 << 21) (0x200000)  video       h264   (H.264 Video)



To tell which codec is being used for a specific call use one of the following CLI commands:

 sip show channels
 iax2 show channels

To use with allow and disallow, here is the association table:

 G.711 ulaw = ยต-law (US standard)
 G.711 alaw = A-law (European standard)
 G.722 = g722 (don't confuse this with g722.1 or g722.2)
 G.723.1 = g723.1 (pass-thru only)
 G.726 = g726
 G.729 = g729
 GSM = gsm
 iLBC = ilbc
 LPC10 = lpc10
 Speex = speex
 ADPCM = adpcm

A typical use might be:

 disallow=all
 allow=alaw
 allow=ulaw


File name extensions

Extensions for various encoded files in Asterisk
  • wav:
  • pcm:
  • gsm:

Packetization

Various clients support variable sample periods / packetization. Asterisk 1.2 and earlier only supports 20ms packetization in RTP-based protocols like SIP and MGCP, so you should configure your client to use this. However, iLBC with its 30 ms packets also works with Asterisk 1.2. 1.4 and later include support for variable packetization, either settable in the config or set automatically according to the SDP.

See also:




Comments

Comments Filter
222

333variables for codecs?

by DMBrosig, Thursday 14 of December, 2006 [09:55:37 UTC]
If there variables for the used audio and video codecs for use in extension.conf? P.e. ...

exten => 100,n,GotoIf($"${CODEC_VIDEO}" = "h.264"?200:300) // play h.264 video otherwise play h.263
exten => 100,200,Playback(video264)
exten => 100,300,Playback(video263)

222

333Packetization

by serg_b, Wednesday 16 of August, 2006 [11:07:14 UTC]
Beta version of packetization code is available here: http://bugs.digium.com/view.php?id=5162
With this patch, packetization can be set for each codec for SIP peer/user, as well as match to remote packetization values if present in SDP.
222

333What CODEC am I using?

by omarn, Monday 24 of October, 2005 [15:27:35 UTC]
From my voice provider I have to choose a codec g.726, and I need to know what g.726 codec I am using.
How can I know if I am using
g.726 - 40
g.726 - 32
g.726 - 16
etc.
or ASTERISK only support g.726 - 32
222

333Re: Quality Voice

by chammoud, Friday 15 of April, 2005 [09:54:23 UTC]
it could be due to many factors. Internet bandwidth one of them. if you are using iax test different codecs and see how that cahnge the quality of the sound. also in iax.conf try a call with jitterbuffer=yes and no or comment it. whaen you make a call perform this command: iax2 show netstats and write down your results.
be a member os asterisk-lists and post your problem with much more inputs so people can help you
222

333Quality Voice

by hameds, Tuesday 08 of March, 2005 [14:21:31 UTC]
(:razz:)

Hi... i need your help .... the quality voice from my asterisk id very low how to change this!!!