Инструменты пользователя

Инструменты сайта


asterisk_codecs

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

asterisk_codecs [2020/06/13 13:45] (текущий)
Строка 1: Строка 1:
 +====== Asterisk codecs ======
 +[[Asterisk]] IP PBX - это ПО, распространяемое по открытой лицензии, что делает невозможным включение в состав дистрибутива некоторых коммерческих технологий, таких как патентованные алгоритмы эхо-компенсации и преобразования кодеков G.729 и G.723.1. Однако, компания Digium предоставляет возможность всем желающим  приобрести лицензию на использование кодека G729, которая позволяет использовать этот кодек для преобразования голосовых каналов (транскодирования).
 +
 +**Сервер Asterisk поддерживает работу с кодеками:**
 +  * [[G.729]], G.729 Annex А, G.729 Annex B (содержит [[VAD]] и генератор комфортного шума): Использование кодека [[G.729]] в продуктах требует лицензирования от: Sipro Lab Telecom или VoiceAge, если вы живете в США или некоторых других странах. Существует некоторое количество свободных некоммерческих экспериментальных реализаций кодека G.729: бинарные и др. Сервер Asterisk поддерживает работу кодека в режиме [[pass-thru]] (т.е. без транскодинга) или, если у Вас имеется лицензия? или у Вас есть голова и руки.
 +  * G.723.1: Использование этого кодека в продуктах требует лицензии от Sipro Lab Telecom. Сервер Asterisk поддерживает работу с этим кодеком в режиме [[pass-thru]].
 +  * G.711: ulaw, alaw
 +  * G.726: 32kbps в версии Asterisk 1.0.3, 16/24/32/40kbps в CVS HEAD версиях. Если G.711 использует полосу в 64 Kbps, то G.726 использует 32 Kbps, обеспечивая примерно такое же качество связи. Он, также, используется как стандартный кодек в системах с беспроводными [[DECT]] телефонами.
 +  * GSM:
 +  * iLBC: это VoIP кодек, разработанный Global IP Sound, и сделанный общедоступным (включая исходные коды) под свободной и довольно либеральной лицензией, которая включает в себя возможность модификации кода.
 +  * LPC10: (не рекомендуется к использованию!)
 +  * Speex: это голосовой кодек с открытым исходным кодом. Битрейт конфигурация: 4-48kbps, VBR, ABR, и т.д.
 +
 +
 +  * Для использования в командах ограничения использования кодеков allow и disallow, ниже приведена таблица соответствия используемых аббревиатур и названий кодеков:
 +<code>
 +G.711 ulaw = ulaw
 +G.711 alaw = alaw
 +G.723.1 = g723.1
 +G.726 = g726
 +G.729 = g729
 +GSM = gsm
 +iLBC = ilbc
 +LPC10 = lpc10
 +Speex = speex
 +ADPCM = adpcm
 +</code>
 +Типичный пример использования ограничения на кодеки:
 +<code>
 +disallow=all
 +allow=alaw
 +allow=ulaw
 +</code>
 +  * **Разбивка на пакеты данных**:
 +Разные клиенты поддерживают различные интервалы разбивки аудиоданных на порции цифровых данных, передаваемых в дальнейшем по сети. Сервер Asterisk поддерживает только разбивку через каждые 20ms в протоколах, использующих RTP для передачи аудиоданных, типа SIP или MGCP, из этого следует, что Вам необходимо настроить Ваше клиентское оборудование в соответствии с этим требованием.
 +
 +====== Установка кодеков ======
 +
 +  * [[http://voip.rus.net/tiki-index.php?page=ITU+G.729&highlight=%D0%BA%D0%BE%D0%B4%D0%B5%D0%BA%20729|voip.rus.net:Лицензирование. Семейство кодеков G.729]]
 +  * [[http://voip.rus.net/tiki-index.php?page=Asterisk+codecs&highlight=%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20Asterisk%20%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%20%D1%81%D0%BB%D0%B5%D0%B4%D1%83%D1%8E%D1%89%D0%B8%D0%B5%20%D0%BA%D0%BE%D0%B4%D0%B5%D0%BA%D0%B8|voip.rus.net:Кодеки Asterisk]]
 +
 +Бинарные файлы кодеков можно скачать отсюда [[http://asterisk.hosting.lv/|asterisk.hosting.lv]] или [[http://asterisk.ru/codecs|G.729 и G.723.1 кодеки]].
 +
 +Скачиваем кодеки под нужную ОС (Ubuntu 9.10 Server 64-bit) и версию [[Asterisk]] (1.6.2).
 +<code>
 +# uname -a
 +Linux keep 2.6.31-16-server #53-Ubuntu SMP Tue Dec 8 05:08:02 UTC 2009 x86_64 GNU/Linux
 +# asterisk -v
 +Asterisk 1.6.2.0~rc2-0ubuntu1.1, Copyright (C) 1999 - 2009 Digium, Inc. and others.
 +# wget http://asterisk.hosting.lv/bin162/codec_g723-ast16-icc-glibc-x86_64-core2-sse4.so
 +# wget http://asterisk.hosting.lv/bin162/codec_g729-ast16-gcc4-glibc-x86_64-core2-sse4.so
 +</code>
 +Удаляем старые кодеки codec_g729/723*.so в директории /usr/lib/asterisk/modules . Копируем в туже директорию новые кодеки.
 +<code bash>
 +cp codec_g729-ast16-gcc4-glibc-x86_64-core2-sse4.so /usr/lib64/asterisk/modules
 +cp codec_g723-ast16-gcc4-glibc-x86_64-core2-sse4.so /usr/lib64/asterisk/modules
 +</code>Перезапускаем Asterisk или подгружаем кодек вручную<file>
 +localhost*CLI> module load codec_g729-ast110-gcc4-glibc-x86_64-core2.so
 +Loaded codec_g729-ast110-gcc4-glibc-x86_64-core2.so
 +  == Registered translator 'g729tolin' from format g729 to slin, table cost, 900000, computational cost 1000
 +  == Registered translator 'lintog729' from format slin to g729, table cost, 600000, computational cost 4000
 + Loaded codec_g729-ast110-gcc4-glibc-x86_64-core2.so => (g729 Coder/Decoder, based on Intel IPP)
 +</file>
 +  * Вывести информацию о возможных кодеках, которые может понимать asterisk<file>
 +core show codecs
 +</file>
 +  * Проверим подгрузились кодеки или нет, командой<code>
 +module show like 729
 +core show translation
 +core show translation recalc 10
 +</code>
 +
  
asterisk_codecs.txt · Последнее изменение: 2020/06/13 13:45 (внешнее изменение)