Using g.729 on Asterisk with SNOM Phone

The why:  Using g729 on Asterisk is a great option if you want to save bandwidth on a crappy WAN link, it will about double the amount of concurrent calls you can handle and still sound great. You’ll need to of course get the appropriately legally licensed codec and driver and either put the binary in

g.729 is not an open source codec, you need to buy a license for it, probably quite a few depending on your application. Its available from Digium amongst other places and definitely don’t use the open source for educational purposes one from here unless you are just testing things out according to the laws etc….

If you do download the binaries for non-commercial testing for your flavor of linux and system, wget the .so file here:

sudo wget http://binaryweblocation…..*.so /usr/lib64/asterisk/modules/

Then restart Asterisk and run (On the Elastix Asterisk Cli in the GUI under PBX >Tools)

 core restart gracefully

(this waits for any active calls to stop the other option is “now” instead of “gracefully”)

 core show translation recalc 10

If you see numbers next to g729, you did it right. If you see all “–” horizontally in the g729 line the codec did not load correctly.

Now you need to set the PBX to favor g729

Add these lines to sip_custom.conf in the handy dandy Elastix conf editor also under PBX>Tools


Now restart Asterisk (gracefully) again

and you should be GTG, your device will use g729 but still support ulaw if you need it for a softphone or something else like recording your IVR and VM prompts at the highest possible quality.

 You need to set up the phone to default to g729.

 From the SNOM web based control panel, you need to dig up:

Indentity1>RTP Tab and set the codecs like so:

 Now your phone will be awesome and your calls will take half the bandwidth and you can squeeze a million concurrent calls through a 300 baud modem! But wait.

 Now our DTMF may not not work 🙁

 I am totally sure there is a reason, and a more elegant solution to this, but this one works and I am not always an elegant man.

 For this same Identity, go to the SIP tab (2 over from the RTP Tab) and change DTMF via SIP INFO to on:

That one took some hair pulling. I tested on a softphone and DTMF worked fine grep’d the settings for the snom for DTMF and experimented.

Make a test call into your snom through your trunk and then while the call is connected you can go back to the Cli and use:


You should see g.729 through the whole chain and no ulaw in sight.

Posted in Uncategorized.

Leave a Reply

Your email address will not be published. Required fields are marked *