My first stumbling block when installing and trying to get Asterisk PBX working were the codecs and mismatching. If both ends of a connection can’t negotiate the same codec, the call won’t complete.
I grabbed the recommended asterisk config for gizmo5 and when attempting to place a call to my gizmo call-in number which should have landed it into my PBX I got the following errors and it disconnected:
[Jan 14 01:40:20] WARNING channel.c: Unable to find a codec translation path from 0x400 (ilbc) to 0x4 (ulaw) [Jan 14 01:40:21] WARNING channel.c: Unable to find a codec translation path from 0x400 (ilbc) to 0x2 (gsm)
When trying to determine what went wrong, I found that ilbc is no longer part of Asterisk config, and ulaw is actually G.711 using the µ-law algorithm. I also found that one can add iLBC codec to Asterisk by agreeing to a license agreement and running a script.
So hence this blog post, so I can document what I’ve learned and hopefully prevent someone else from having same frustrations.