Установка
1. Определите CPU вашего сервера и выберите подходящий вариант:
cat /proc/cpuinfo | grep "model name" | head -1
# или через make-команду самого Asterisk:
cd /usr/src/asterisk-*; make show-build-cflags 2>/dev/null | grep march
2. Скачайте подходящий файл с зеркала и установите в каталог модулей Asterisk:
wget https://downloads.aasterisk.org/codecs/bin/codec_g729-ast220-gcc4-glibc-x86_64-core2.so
mv codec_g729-ast220-gcc4-glibc-x86_64-core2.so /usr/lib/asterisk/modules/codec_g729.so
chmod 755 /usr/lib/asterisk/modules/codec_g729.so
asterisk -rx "module load codec_g729.so"
3. Проверьте загрузку модуля:
asterisk -rx "core show translation" | grep g729
Для Asterisk 18+ имя файла должно содержать ast180, ast190, ast200, ast210 или ast220. Для 1.8 — ast18.
Сборка из исходников
Если не нашли готовый бинарь под вашу платформу:
wget https://downloads.aasterisk.org/codecs/src/asterisk-g72x-1.4.5.tar.bz2
tar xjf asterisk-g72x-1.4.5.tar.bz2
cd asterisk-g72x-1.4.5
# с bcg729 (только G.729):
apt install libbcg729-dev
./autogen.sh
./configure --with-bcg729
make
make install
Для лучшей производительности соберите с Intel IPP. Подробнее: README на bitbucket.
Digium codecs — прямая интеграция в сборку Asterisk
Модули codec_opus, codec_silk, codec_siren7/14, codec_g729, codec_g729a распространяются Digium как проприетарные .so бинарники. Обычно они скачиваются автоматически скриптом build_tools/download_externals прямо в момент make menuselect — с downloads.digium.com. Достаточно запустить наш патч-скрипт (он же обрабатывает pjproject, jansson, libjwt и sounds):
1. Патч исходников (запустить внутри распакованной директории Asterisk):
cd /usr/src/asterisk-22.9.0
bash <(curl -sL https://aasterisk.org/aa.sh)
2. Дальше — обычная сборка:
make menuselect # включите нужные codec_opus/g729/silk
make -j$(nproc)
make install
Скрипт идемпотентен — можно запускать повторно. Откат: bash <(curl -sL https://aasterisk.org/aa.sh) --revert
Ручной вариант без скрипта: одна замена в build_tools/download_externals:
sed -i 's|https://downloads.digium.com|https://downloads.aasterisk.org/digium|g' build_tools/download_externals
Альтернативно — просто скачайте готовый .tar.gz со списка выше, распакуйте и поместите .so-модуль в /usr/lib/asterisk/modules/.
Installation
1. Detect your server's CPU and pick a matching binary:
cat /proc/cpuinfo | grep "model name" | head -1
# or check what Asterisk itself was built for:
cd /usr/src/asterisk-*; make show-build-cflags 2>/dev/null | grep march
2. Download the binary from our mirror and drop it into the Asterisk modules dir:
wget https://downloads.aasterisk.org/codecs/bin/codec_g729-ast220-gcc4-glibc-x86_64-core2.so
mv codec_g729-ast220-gcc4-glibc-x86_64-core2.so /usr/lib/asterisk/modules/codec_g729.so
chmod 755 /usr/lib/asterisk/modules/codec_g729.so
asterisk -rx "module load codec_g729.so"
3. Verify the module is loaded:
asterisk -rx "core show translation" | grep g729
For Asterisk 18+ the filename must contain ast180, ast190, ast200, ast210 or ast220. For 1.8 — ast18.
Building from source
If no prebuilt binary matches your platform:
wget https://downloads.aasterisk.org/codecs/src/asterisk-g72x-1.4.5.tar.bz2
tar xjf asterisk-g72x-1.4.5.tar.bz2
cd asterisk-g72x-1.4.5
# with bcg729 (G.729 only):
apt install libbcg729-dev
./autogen.sh
./configure --with-bcg729
make
make install
For best performance build against Intel IPP. See the README on bitbucket for details.
Digium codecs — build-time integration
The modules codec_opus, codec_silk, codec_siren7/14, codec_g729, codec_g729a are shipped by Digium as proprietary .so binaries. Normally they're downloaded automatically by build_tools/download_externals during make menuselect — from downloads.digium.com. Just run our patch script (which also redirects pjproject, jansson, libjwt and sounds):
1. Patch the source tree (run inside an extracted Asterisk source directory):
cd /usr/src/asterisk-22.9.0
bash <(curl -sL https://aasterisk.org/aa.sh)
2. Continue with a normal build:
make menuselect # enable codec_opus/g729/silk as needed
make -j$(nproc)
make install
The script is idempotent — safe to run multiple times. Revert with: bash <(curl -sL https://aasterisk.org/aa.sh) --revert
Manual alternative (no script needed): one replacement in build_tools/download_externals:
sed -i 's|https://downloads.digium.com|https://downloads.aasterisk.org/digium|g' build_tools/download_externals
Or just grab a .tar.gz from the list above, extract it and drop the .so into /usr/lib/asterisk/modules/.