Asterisk G.729 Licensing
How to license G.729 codec for use in Asterisk
G.729 requires a license per channel unless it is used in pass-thru mode.
This license is purchased from Digium.
This license is keyed to all NICs in the system. If any NICs changed/added/removed then need to re-register. This can only be done once without contacting Digium.
When upgrading the number of licenses, Digium will have to merge the old licences with the new & provide a new license file.
Reboot the server to be sure that the license is seen correctly.
Study or experiment with G.729 for free
Under patent law, it is a legitimate use to study or experiment with a patented technology without paying for a patent license. You only have to pay royalty fees if you sell a product based on the technology or use the technology in products internally (this includes using the codec in a commercial setting, even if you aren't selling your platform, but only a service).Opensource implementation
An opensource implementation of G.729 codec can be found at http://www.readytechnology.co.uk/open/ipp-codecs-g729-g723.1/. It is a wrapper around Intel Integrated Performance Primitives. Please note: You might still have to pay royalty fees to the G.729 patent holders for using their algorithm and to Intel for using their libraries!Binaries can be found at http://asterisk.hosting.lv/
Warning
Please see Marks response on the user list (dated 25 Sep 2004) regarding use of G.729 codec from other sources. In short, this violates the GPL license and jeopardizes the asterisk project, specifically because the advocacy of its use may be seen by patent lawyers as contributory infringement. If you do choose to use this module, please be aware of the restrictions on using it without purchasing licenses, and do not advocate its use on any Digium-sponsored mailing lists (again, this could be seen as contributory infringement, if Digium resources are used to encourage its use).There is some disagreement about whether this truly does violate the GPL. The FSF, in particular, has rendered the legal opinion that it does not violate the GPL even if the modules are not GPL compatible. The GPL violation would occur only if GPL and non-GPL compliant code is distributed together or if the module links to GPL code (use ldd to verify what it links to) or is derived from GPL code (see copyright.gov for US copyright law on derivative works; look to your own countries' laws potentially in addition to the US laws since Digium is in the US). There is a page on this wiki that talks about asterisk GPL compliance and another that talks about how to make non GPL modules for asterisk legally.
GPL Myth Note: the GPL is a distribution license, not a use license. If you downloaded Asterisk from someone else and are using it, the person you downloaded Asterisk from must comply with the GPL. If you combine a static G.729 binary (non-GPL compatible licensed) with GPL software, YOU DO NOT VIOLATE THE GPL UNTIL YOU DISTRIBUTE THE COMBINATION. You ARE, however, allowed to use it yourself. Acceptance of the GPL is NOT required to download and use Asterisk, either by itself or in combination with the above G.729 implementation. Therefore, if you're not planning on giving copies of Asterisk away to others, the above GPL violation statement doesn't apply to you. For more information, please see the GPL FAQ.
Old Voiceage codec info:
This license is keyed to inodes on an IDE disk (hard disk or CD-ROM in drive), which can be reused up to 3 times (e.g. if HDD dies) before having to contact Digium.Older versions needed IDE disk to be one of hda, hdb, hdc, hdd and wouldn't work on SCSI-only systems. This is no longer true for new versions.
Need to run Asterisk with a console (this can be done in the background, by using safe_asterisk or screen).
How to count the number of licences required?
A license is required only when the codec functionality is *actually* in usei.e. when asterisk needs to transcode g729 into anything else, or the other way around
During a transcoded g729 call both directions (encoding and decoding) count as 1 license (but there could also be bugs crawling around in VA code regarding this matter)
You need 2 licenses to use 2 Cisco 7960s at the same time, assuming they are not calling each other at that moment. Accessing Voicemail counts as any other regular call
A license is required for any other "internal" asterisk function (C7960 to IVR, C7960 to MOH, Voicemail, etc), unless you could record all your IVR prompts in g729, in which case you would not need a VA license to play them to a g729 phone.
If you record Voicemails in g729 (which is possible with * by using format_g729.c) and all your phones used g729, you would not need a license, however you would need a license to access the Voicemail from PSTN!
If your g729 C7960 calls someone, and the called party places the callee on hold with MOH, a total of *2* licenses will be necessary — 1 for the call and 1 for MOH;
To confirm your purchased G.729 license key works:
Run the Asterisk console and check:# asterisk -r
*CLI> show g729
If this gave an error message, then either you have not run the Digium-supplied register utility, something about your system hardware changed (particularly Ethernet adapters), or there was a problem preventing the g729 codec from loading.
If you run Asterisk as an user other than root (highly recommended!), you may also need to ensure the user you run it under has access to the license information.
This assumes you run Asterisk with the asterisk user and asterisk group:
# chown -R asterisk:asterisk /var/lib/asterisk/licenses
If codec installation and license key works, you should see something like this — e.g. for three purchased licenses:
# asterisk -r
*CLI> show g729
0/0 encoders/decoders of 3 licensed channels are currently in use
See also:
- Asterisk | FAQ | Tips & Tricks
Comments
333Re: bad link
333
logger.c: codec_g729a.so => (Annex A/B (floating point) G.729 Codec (optimized for i686))
codec_g729.c: G.729 transcoding module Copyright (C) 1999-2005 Digium, Inc.
codec_g729.c: This module is supplied under a commercial license granted by Digium, Inc.
logger.c: == Found total of 893 G.729 licenses
logger.c: == Registered translator 'g729tolin' from format g729 to slin, cost 5
logger.c: == Registered translator 'lintog729' from format slin to g729, cost 15
333bad link
333