Перекодировка кодеков

Перекодировка кодеков возникает, когда Smartswitch договорился с оригинатором использовать кодек А, а с терминатором - кодек Б.
После этого, для того чтоб конечные абоненты услышали друг друга, Smartswitch должен выполнять перекодировку А <-> Б в режиме реального времени.

Перекодировка кодеков - очень затратная для CPU операция.
К тому же она практически всегда приводит к ухудшению качества передаваемого аудио.
По возможности следует ее избегать.

Существует 2 возможных подхода к конфигурированию согласования кодеков:

Пир выбирает кодек.

При этом подходе вы указываете список допустимых кодеков в настройках пира в Smartswitch.
Этот список может не полностью пересекаться с списком реально поддерживаемых кодеков у партнера.
Это может быть актуальным, если вы не знаете точно, какие кодеки поддерживает пир.
При установке исходящего звонка, Smartswitch предлагает пиру все сконфигурированные кодеки.
Пир выбирает один из предложенных кодеков, при этом он может либо принять по внимание предложенную Smartswitch приоритетность, либо выбрать кодек по своему усмотрению - Smartswitch на его решение никак не может повлиять.
Такой подход может привести к тому, что для входящей ноги и исходящей ноги пиры выберут различные кодеки, и Smartswitch будет вынужден выполнять перекодировку кодеков.
Этот режим работает по умолчанию, поскольку предполагается, что администратор Smartswitch обычно не захочет выяснять, какие точно кодеки поддерживает партнер при конфигурировании пира и внимательно заполнять список кодеков для пира.

Smartswitch выбирает кодек.

При этом подходе Smartswitсh самостоятельно подбирает наиболее подходящий кодек, чтоб не включалась перекодировка кодеков.
И при выполнении исходящего звонка предлагает только выбранный кодек.
Подбор кодека Smartswitch выполняет по сконфигурированному списку кодеков.
Для включения этого режима следует включить опцию "только предпочтительный кодек" в настройках пира, для которого вы уверены в правильности конфигурирования списка кодеков.
Использовать такой режим предпочтительнее, однако это требует больше внимания при настройке, для конфигурирования точного списка кодеков, которые поддерживает партнер.
Например, если вы по невнимательности сконфигурируете поддержку G.729 и G.711 ulaw для пира, а пир поддерживает только G.711 ulaw, то Smartswitch может выбрать G.729 для очередного звонка, и пир отобъет его, поскольку не поддерживает G.729.

только предпочтительный кодек на оригинаторе только предпочтительный кодек на терминаторе сконфигурированные кодеки на оригинаторе сконфигурированные кодеки на терминаторе кодеки в SDP оригинатор -> Smartswitch кодеки в SDP Smartswitch -> оригинатор кодеки в SDP Smartswitch -> terminator
нет да ulaw g729 ulaw ulaw g729
да да ulaw g729 ulaw ulaw g729
да да ulaw g729,ulaw ulaw ulaw ulaw
да да g729,ulaw ulaw,alaw g729,ulaw ulaw ulaw
да да g729,ulaw ulaw,g729 g729,ulaw ulaw ulaw
да да g729,ulaw alaw,gsm g729,ulaw ulaw alaw (ulaw <-> alaw = 9150 us)
да да g729,ulaw gsm,alaw g729,ulaw ulaw alaw
да да g729,ulaw gsm,g729 g729,ulaw g729 g729

English translation