Сервер Asterisk поддерживает следующие кодеки
G.711 ulaw (тот, что используется в US)
G.711 alaw (тот, что используется в Европе) Интересно, а что используется в Азии biggrin
G.723.1 - в режиме pass-thru для людей, которым нужна лицензия , свободная версия для остальных.
G.726 - 32kbps в версии Asterisk 1.0.3, 16/24/32/40kbps в CVS HEAD версиях.
G.729 - может потребоваться лицензия кроме случаев, когда аудиопоток передается в режиме pass-thru, свободная версия доступна для использования в странах, где этот патент не действует или в образовательных целях.
GSM
iLBC
LPC10 (не рекомендуется к использованию!)
Speex - битрейт конфигурация: 4-48kbps, VBR, ABR, и т.д. смотри баг
Для того, чтобы посмотреть какие кодеки используются в текущих вызовах, можно воспользоваться командами:
sip show channels
iax2 show channels
Для использования в командах ограничения использования кодеков allow и disallow, ниже приведена таблица соответствия используемых абривиатур и названий кодеков:
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
Типичный пример использования ограничения на кодеки:
disallow=all
allow=alaw
allow=ulaw
Расширения имен файлов Расширения, используемые Asterisk, для различных форматов звуковых файлов
wav: pcm: gsm:
Разбивка на пакеты данных Разные клиенты поддерживают различные интервалы разбивки аудиоданных на порции цифровых данных, передаваемых в дальнейшем по сети. Сервер Asterisk поддерживает только разбивку через каждые 20ms в протоколах, использующих RTP для передачи аудиоданных, типа SIP или MGCP, из этого следует, что Вам необходимо настроить Ваше клиентское оборудование в соответствии с этим требованием.
G.711 ulaw - это кодек, использущий большую полосу пропускания (64 Kbps), стандартизированный организацией ITU. Это базовый способ передачи аудиоданных в современных цифровых сетях телефонии.
Хотя он формально был стандартизирован в 1988 году , кодек G.711 PCM codec - это «папа» цифровой телефонии. Он был разработан компанией Bell Systems и запущен в использование в начале 70годов, для транковых каналов T1, использующих для кодирования речи 8-битную Pulse Code модуляцию без компрессии, c частотой дискретизации 8000 выборок в секунду. Это (теоретически) позволяет передавать речь в звуковом диапазоне до 4000 Hz. Транк T1 передает одновременно 24 цифровых PCM каналов. Усовершенствованный Европейский транк со стандартом E1 может одновременно передавать 30 каналов.
Существует две версии: A-law и U-law. U-law создан для стандарта T1, который используется в Северной Америке и Японии. A-law используется для стандарта E1, который используется в других странах мира. Различие этих двух методов заключается в методах семплирования аналогово сигнала. В обеих схемах, сигнал семплируется не линейно, а по логарифмической шкале. A-law обеспечивает больший динамический диапазон по сравнению с U-law. В результате мы имеем менее искаженный звук из за меньших ошибок квантования аналогово сигнала.
Использование G.711 для VoIP дает самое наилучшее качество звука; потому что не используется компрессия сигнала и используется тот же кодек что и в обычных цифровых телефонных сетях или ISDN линиях связи. Качество звука аналогично тому, что мы имеем при использовании обычных или ISDN телефонов. Так же, при использовании этого кодека, минимизируются задержки передачи речи, т.к. у нас нет компрессии, и не требуется время на декомпрессию сигнала. Обратная сторона медали - это использование большой полосы пропускания по сравнению с другими кодеками, до 84 Kbps включая все заголовки протокола TCP/IP. Однако, с повсеместным ростом пропускной способности IP каналов, это не должно быть такой уж страшной проблемой.
G.711 поддерживается большинством из VoIP провайдеров (что то я этого не особо замечал, обычно все предлагают G.729)
G.723.1 - это стандартизированный организацией ITU кодек.
Это кодек с малой требуемой полосой пропускания канала (6.3Kbps или 5.3Kbps) и в основном используется со стандартом H.323 Использование этого кодека в продуктах требует лицензии от Sipro Lab Telecom
GSM (Global System for Mobile communications) - стандарт для систем сотовой связи, который популярен за пределами США. Вы сможете найти дополнительную информацию о системе GSM вцелом по этой ссылке
Система GSM включает в себя и кодек для речи, часто, когда идет обсуждение кодеков речи, под термином GSM подразумевают именно алгоритм кодирования звука, а не систему вцелом.
Оригинальный 'Full Rate' голосовой кодек GSM назывался RPE-LTP (Regular Pulse Excitation Long-Term Prediction). Этот кодек использует информацию из предыдущего пакета данных с закодированной речью (т.к. информация не изменяется очень быстро), чтобы предсказывать текущую порцию аудио информации. Голосовой сигнал разбивается на блоки продолжительностью 20 ms. Эти блоки поступают в голосовой кодек, с требуемой полосой пропускания 13 kbps, где голос кодируется в пакеты длиной по 260 бит.
Новые GSM системы используют пару новых кодеков, однако они имеют более жесткие патентные ограничения:
EFR (Enhanced Full Rate) использует ACELP (Algebraic Code Excited Linear Prediction) HR (Half Rate) использует CELP-VSELP (Code Excited Linear Prediction - Vector Sum Excited Linear Prediction)