You should compile Asterisk 11, so prepare your PC/server for it. Install development packages, get Asterisk 11 source, compile and install it.
Suppose you don’t want to install Asterisk 11 in your PC/server. You can configure and compile Asterisk 11, but don’t need to install it. After that you can continue compile the codec.
Now, assumed you have compiled Asterisk 11 and install it in /opt/asterisk on your PC/server.
Follow below steps to compile codec g723 and g729:
wget -c http://asterisk.hosting.lv/src/asterisk-g72x-1.1.tar.bz2 tar -jxf asterisk-g72x-1.1.tar.bz2 cd asterisk-g72x-1.1/ ./configure --with-asterisk-includes=/opt/asterisk/include --with-asterisk100 --enable-pentium4 --with-itu make cd .libs ls -l *.so
Copy codec_g723.so and codec_g729.so to your Asterisk 11 modules directory.
Should you use not a Pentium 4 compatible just replace –enable-pentium4 with your PC/server architecture. Get options by running ./configure –help in the codec source directory asterisk-g72x-1.1.
These are complete steps when you don’t want to install Asterisk 11 but need to compile the codec.
apt-get install build-essential wget -c http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz tar -zxf asterisk-11-current.tar.gz cd asterisk-11.4.0 ./configure --disable-xmldoc make cd ../ wget -c http://asterisk.hosting.lv/src/asterisk-g72x-1.1.tar.bz2 tar -jxf asterisk-g72x-1.1.tar.bz2 cd asterisk-g72x-1.1/ ./configure --with-asterisk-includes=../asterisk-11.4.0/include --with-asterisk100 --enable-pentium4 --with-itu make cd .libs ls -l *.so
apt-get install build-essential checkinstall cvs subversion git-core mercurial cd /usr/src wget http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/bcg729-1.0.0.tar.gz tar xzf bcg729-1.0.0.tar.gz cd bcg729-1.0.0/ ./configure make && make install cd /usr/src hg clone http://bitbucket.org/arkadi/asterisk-g72x cd asterisk-g72x/ vi configure.ac
在 case "${host}" in 這行下方
armv7l-unknown-linux-gnueabihf*) cflags="-O3 -funroll-loops -marm -mtune=cortex-a7 -Wall" march="armv7-a" ;;
開始編譯
./configure --with-asterisk-includes=/usr/src/asterisk-12.4.0/include/ --with-bcg729 make make install ldconfig
NOTE:
必須先編譯安裝 Asterisk
--with-asterisk-includes Asterisk 原始安裝檔目錄內的 include 目錄
--with-bcg729 會自動偵測 bcg729 函式庫,如果想指定特定目錄,直接改成 --with-bcg729=/path/to/lib