G.729 and G.723.1 codecs x86 (and x86_64) Linux and FreeBSD binaries for Asterisk open source PBX

DISCLAIMER: You might have to pay royalty fees to the G.729/723.1 patent holders for using their algorithm.

Donate to SmileTrain

Donate to Wikipedia

Support the project


Sources

To compile the codecs it is recommended to install Intel IPP libraries for production-level performance. Asterisk 1.4, 1.6, 1.8, 10.0 and TRUNK are supported. Support for Asterisk 1.2 and Callweaver may appear eventually, for now use the pre-built binaries. Use "g723 debug" and "g729 debug" commands to print statistics about received frame sizes, can aid in debugging audio problems. You need to bump Asterisk verbosity level to 3 to see the numbers.

Binaries

  1. choose codec binary appropriate for your Asterisk version and CPU type, use x86_64 for 64-bit mode
  2. delete old codec_g729/723*.so files (if any) from /usr/lib/asterisk/modules directory
  3. copy new codec_g729/723*.so files into /usr/lib/asterisk/modules directory
  4. restart Asterisk
  5. check the codec is loaded with 'core show translation recalc 10' on Asterisk console
  6. G.723.1 send rate is configured in Asterisk codecs.conf file:
    [g723]
    ; 6.3Kbps stream, default
    sendrate=63
    ; 5.3Kbps
    ;sendrate=53
    This option is for outgoing voice stream only. It does not affect incoming stream that should be decoded automatically whatever the bitrate is.
  7. in sip.conf or/and iax.conf configure the codec(s) either globally or under respective peer, for example:
    disallow=all
    allow=g729
  8. for detailed information about Asterisk configuration visit voip-info.org
  9. for information about astconv utility read the README
  10. in case of problems read Notes and Troubleshooting
Asterisk 1.2
Asterisk 1.4
Asterisk 1.6.0
Asterisk 1.6.1
Asterisk 1.6.2
Asterisk 1.8
Asterisk 10.0
Asterisk SVN TRUNK r330379
Callweaver 1.2
Asterisk 1.2 uClibc (AstLinux 0.4)
Asterisk 1.4 uClibc (AstLinux 0.6)
Command line encoder and decoder
FreeBSD 5.3 Asterisk 1.0/1.2
FreeBSD 6.x Asterisk 1.2 by Zeta
FreeBSD 6.x Asterisk 1.4
FreeBSD 7.x Asterisk 1.2 by Sergio Lenzi
FreeBSD 7.x Asterisk 1.4
FreeBSD 8.x Asterisk 1.6.0 by Eugene M. Zheganin
FreeBSD 8.1 Asterisk 1.6.2 by Alexander Brovikov
FreeBSD 8.1 Asterisk 1.6.2 amd64 by Maxim Morgunov
FreeBSD 8.2 Asterisk 1.8.2
FreeBSD 8.1 Asterisk 1.8.3 amd64
OpenBSD 4.8 Asterisk 1.6.2 by Raphael Mazelier
OpenBSD 4.9 Asterisk 1.8
OpenBSD 4.9 Asterisk 1.8 amd64 by Stas Titov

Notes

Troubleshooting

Google Groups
Asterisk G.729
Visit this group

Getting help

The primary source of help is Asterisk G.729 Google group. Post your questions there, but first read Notes and Troubleshooting sections above. When reporting a problem it is up to you to provide as much usefull information as possible. "Doesn't work" - is not a good description.

Just a promo link for a friendly site RM Birojs
Another link for SIA Tvids