Absent another response, I wanted to put some notes up here for the benefit of anyone searching the archives in the future. The point of my original question was to reduce the need for g729a licenses as much as possible to ensure that they are available when needed and reduce the number I need to purchase.
These transcoder licenses get used for lots of small things behind the scenes in the dialplan, such as playing back sounds, recording calls, recording voicemails, and playing back Music On Hold, among others. However, you can take some steps to make that less common, specifically by making g729 native versions of files available. For example, if a voicemail message is stored on disk as a WAV file, the system needs to transcode between that WAV voicemail message and the g729 channel. However, if the message is available in both WAV and g729, no transcoding is needed.
The “Sound Languages” module is not present in my FreePBX v.12 install, so I presume that this is a new feature in v.13. However, I was able to install g729 native sounds directly in the CLI:
[root@freepbx ~]# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-g729-current.tar.gz [root@freepbx ~]# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g729-current.tar.gz [root@vox sounds]# tar zxvf ~/asterisk-core-sounds-en-g729-current.tar.gz [root@vox sounds]# tar zxvf ~/asterisk-extra-sounds-en-g729-current.tar.gz
If you like the Digium supplied MOH, you can also install g729 versions of those files, too (though please delete “Robot Dity” in case I ever have to call you):
[root@freepbx sounds]# cd ~ [root@freepbx ~]# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-g729-current.tar.gz [root@freepbx ~]# cd /var/lib/asterisk/moh/ [root@freepbx moh]# tar zxvf ~/asterisk-moh-opsound-g729-current.tar.gz
When you’re done, you can delete the downloaded files:
`[root@freepbx moh]# cd ~
[root@freepbx ~]# rm asterisk-core-sounds-en-g729-current.tar.gz
[root@freepbx ~]# rm asterisk-extra-sounds-en-g729-current.tar.gz
[root@freepbx ~]# rm asterisk-moh-opsound-g729-current.tar.gz’
Next, if you go into the Voicemail Admin module, you can add g729 to the list of supported formats, which will cause the voicemail app to save messages in g729 format, in addition to whichever other formats you specify. This will still require a transcoder license when recording if you specify other formats, but it will not require transcoding when playing back those messages.
Lastly, it is possible to convert all of your custom system recordings into g729 format, too. I haven’t gotten this far yet, but I have found a few tools, and there are others out there:
- Asterisk’s built-in file conversion.
- Digium’s web converter
I will take the time here to state that the Digium licenses are cheap and work well, and that anyone looking to use g729 should certainly buy however many they need for things like conferences and other situations where they are needed. Trying to set up a system to never transcode g729 by always just passing through the audio is technically possible, but you’re going to spend way more time trying to make it work than you will save, and you’re almost certain to have remaining small issues. However, the above steps are simple and should help reduce the number of licenses you need at any given time.
Here’s to hoping that someone finds this useful.
Tom