Anyone know how to enable asterisk to transcode. I’m unable to find a guide for it. Currently, I’m trying to see whether the different codecs such as g711a/g711u/g723/g726-32 are able to communicate with each other. Anyone able to guide me thru? or post me a list of configuration.
Heres what a vanilla system supports. Add g729 codec to include that and relevent hardware will add g723
g723 gsm ulaw alaw g726 adpcm slin lpc10 g729 speex ilbc
g723 - - - - - - - - - - -
gsm - - 3 3 6 3 2 7 - - 32
ulaw - 6 - 1 5 2 1 6 - - 31
alaw - 6 1 - 5 2 1 6 - - 31
g726 - 8 4 4 - 4 3 8 - - 33
adpcm - 6 2 2 5 - 1 6 - - 31
slin - 5 1 1 4 1 - 5 - - 30
lpc10 - 10 6 6 9 6 5 - - - 35
g729 - - - - - - - - - - -
speex - - - - - - - - - - -
ilbc - 11 7 7 10 7 6 11 - - -
Asterisk needs a format_.so and codec_.so module (/usr/lib/asterisk/modules) to provide transcoding.
to see what codecs Asterisk knows about use “show codecs” at the CLI, and “show translation” to see which it can transcode between.
My show core translation:
Translation times between formats (in milliseconds) for one second of data
Source Format (Rows) Destination Format (Columns)
g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722
g723 - - - - - - - - - - - - -
gsm - - 2 2 3 2 1 9 - - 26 3 -
ulaw - 6 - 1 3 2 1 9 - - 26 3 -
alaw - 6 1 - 3 2 1 9 - - 26 3 -
g726aal2 - 7 3 3 - 3 2 10 - - 27 1 -
adpcm - 6 2 2 3 - 1 9 - - 26 3 -
slin - 5 1 1 2 1 - 8 - - 25 2 -
lpc10 - 8 4 4 5 4 3 - - - 28 5 -
g729 - - - - - - - - - - - - -
speex - - - - - - - - - - - - -
ilbc - 10 6 6 7 6 5 13 - - - 7 -
g726 - 7 3 3 1 3 2 10 - - 27 - -
g722 - - -
My show core codecs
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)
Sorry I’m not very good in reading this … so does it mean that my asterisk server supports all these and why am I still not able to translate if this is so
Perhaps, you didn’t add:
allow=all
to the configure file of the channel you use (iax2.conf, sip.conf, whatever).
Also check that translations are alloweded to the peers.