G729 License Details

From Asterisk Australia
Jump to: navigation, search

Why Use G.729?

G729 Bandwidth Comparison1

G.729 compresses audio to use less bandwidth. This means you can handle more calls on your Asterisk PBX using less bandwidth. G.729 uses approximately 1/4 the data G.711 does. The advantage is not only that it uses less data, it requires less bandwidth so if you are downloading at the same time as VoIP it is less likely to intefere with the call.

G729 License Details

Asterisk Requires a G.729 license per concurrent channel handled by the Asterisk server.

You can configure your Asterisk system to use G.729 if your phone supports G.729, this is done in pass-thru mode.

Phone (G.729) -> Asterisk -> (G.729) Provider (No License Required)

Phone (G.711) -> Asterisk -> (G.729) Provider (License Required)

How to Install G.729 on your Asterisk Server

Number of Calls possible on a G729 vs G711 Codec. Only 18 with G711 140 with G729

Installation of your G.729 license should be easy.

  • First, you need to purchase the G.729 Key.
  • If you have not yet, Click Here to Buy
  • Download and execute the 'register' utility to generate a valid license. Change Permissions.
 On your Asterisk Server, Log into the console as root. 
 cd /root
 wget http://downloads.digium.com/pub/register/x86-32/register
 chmod 500 /root/register
  • Run the Register utility.
 /root/register
 Follow the prompts to complete installation of the license.
  • Download the Bench729 Utility and change permissions.
 cd /root
 wget http://downloads.digium.com/pub/telephony/codec_g729/\
 benchg729/x86-32/benchg729-1.0.7-x86_32 -O benchg729
 chmod 500 /root/benchg729
  • Run the Bench729 Utility.
 /root/benchg729
  • Download the correct module for your system. First we will need some extra information.
 uname -a
 Will give something like Linux hostname 2.6.18-92.1.6.el5 #1 SMP Wed Jun 25 13:49:24 EDT 2008 i686 athlon i386 GNU/Linux.
 .
 asterisk -r -x "show version"
 Will give us the Asterisk Version
 Right Click and select Copy Shortcut on the file. (My Example an i686 processor with Asterisk 1.4) 
 http://downloads.digium.com/pub/telephony/codec_g729/asterisk-1.4/x86-32/codec_g729a-1.4_3.1.3-i686_32.tar.gz
 
  • Back to your command line interface.
 wget http://downloads.digium.com/pub/telephony/codec_g729/asterisk-1.4/x86-32/codec_g729a-1.4_3.1.3-i686_32.tar.gz
 * Substitute for your url.
  • Extract the tar file.
 tar xzvf codec_g729a-1.4_3.1.3-i686_32.tar.gz
 * Change for your file name
 
  • Copy the module to the Asterisk modules directory.
 cp /root/codec_g729a-1.4_3.1.3-i686_32.tar.gz /usr/lib /asterisk/modules
  • Finally reload Asterisk and check the G729 Licenses are available.
 asterisk -r -x "restart when convenient"
 
  • Check G.729 is now available to Asterisk.
  asterisk -rvvv
  CLI> g729 show licenses
       0/0 encoders/decoders of 26 licensed channels are currently in use
       Licenses Found:
       Key: G729-EXAMPLE1 -- Host-ID: ex:am:pl:e0:ex:am:pl:e0:ex:am:pl:e0:ex:
       am:pl:e0:ex:am:pl:e0 -- Channels: 2 (Expires: 2026-09-26) (OK)
       Key: G729-EXAMPLE2 -- Host-ID: ex:am:pl:e0:ex:am:pl:e0:ex:am:pl:e0:ex:
       am:pl:e0:ex:am:pl:e0 -- Channels: 24 (Expires: 2026-09-26) (OK)
  • Well Done, you should now be able to configure trunks to use G.729 to make and receive calls.

How to enable G.729 on Asterisk

In the file sip.conf :

 find, then add : [general]
 disallow=all
 allow=g729
 allow=ulaw
 allow=alaw

How to enable G.729 on a trunk (eg engin)

  • In your trunk, you most likely have allow=ULAW&ALAW, you can add &G729 to the end of this to allow the trunk to also use G729.
 Optional G729 (If the phone or provider requests it)
 disallow=all
 allow=alaw&ulaw&g729
  • To force G729.
 disallow=all
 allow=g729


Where To Buy G.729 License

  • Digium Direct Usually the best, check how the exchange rate is. It is usually much faster than resellers.