Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

G729_LICENSE_EXCEEDED IP-Телефония и СКУД

Asterisk: G.729 license counter exceeded / License not found (Ошибки codec_g729)

Обновлено: 24.08.2026 · Официальная документация ↗
  • В журнале Asterisk регистрируется ERROR[5678]: codec_g729.c: G.729 license counter exceeded (limit 10, attempted 11).
  • Ошибка G.729 license not found: falling back to passthrough only.
  • Внезапный сброс входящих или исходящих звонков в часы пиковой нагрузки.
  • Команда g729 show licenses возвращает No licenses installed.

1. Проверка текущих лицензий Digium G.729

asterisk -rx "g729 show licenses"

2. Переход на открытую библиотеку Belledonne bcg729 (Безлимитный open-source)

Срок действия патентов на G.729 истек в 2017 году. Рекомендуется удалить старый проприетарный модуль Digium и установить открытый транскодер asterisk-g729 на базе bcg729.

# Установка сборочных зависимостей
apt-get install -y git build-essential cmake libbcg729-dev asterisk-dev

# Клонирование открытого модуля
git clone https://github.com/BelledonneCommunications/bcg729.git
cd bcg729 && mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make && make install

# Сборка модуля для Asterisk
cd /tmp
git clone https://github.com/arkadijs/asterisk-g729.git
cd asterisk-g729
./autogen.sh
./configure --with-asterisk-includes=/usr/include
make && make install

3. Выгрузка старого и загрузка нового модуля

asterisk -rx "module unload codec_g729.so"
asterisk -rx "module load codec_g729.so"

4. Проверка матрицы транскодирования

asterisk -rx "core show translation" | grep g729
💡 Практика специалистов: Если на вашем сервере до сих пор работает утилита register от Digium для привязки ключей G.729 к MAC-адресу/DMI сетевой карты, немедленно мигрируйте на bcg729, так как серверы валидации Digium давно выведены из эксплуатации.

Частые вопросы (FAQ)

Законно ли использовать open-source кодек bcg729 без лицензий Digium?

Да. Все базовые мировые патенты на алгоритм компрессии G.729 (ITU-T G.729) официально истекли к 2017 году, поэтому кодек перешел в общественное достояние.

Чем отличается G.729 passthrough от transcoding?

В режиме passthrough Asterisk просто пересылает сжатые RTP-пакеты между двумя клиентами (лицензия не требуется). В режиме transcoding Asterisk декодирует звук в PCM для записи, микширования или смены кодека.

Как ограничить количество транскодируемых каналов G.729 в диалплане?

Используйте функцию GROUP() и GROUP_COUNT() в extensions.conf для подсчета одновременных вызовов перед маршрутизацией на внешний транк.

Почему после обновления ОС модуль codec_g729.so перестает загружаться?

Бинарные модули жестко слинкованы с ABI конкретной версии ядра Asterisk. При обновлении пакета asterisk модуль codec_g729 необходимо пересобирать заново.

Полезные материалы
Рекомендуем