Какие виды DTMF мы поддерживаем?

Изменено Wed, 01 Apr 2020 на 01:51 PM

RFC 2833 — стоит у нас по умолчанию для всех клиентов. В этом протоколе для переноса информации DTMF используются RTP пакеты c Payload Type = Named Telephony Event (NTE). При таком типе передачи тон в звуковом потоке слышен не будет, поскольку пакеты NTE не голосовые. Вместо этого будет тишина, а информация о DTMF уйдёт в отдельном пакете. К примеру, когда клиент набирает 1, то это передаётся в поле «Event ID: DTMF One 1 (1)». Т.е. если один абонент нажмёт у себя какую-либо клавишу, другой абонент никакого тона не услышит. 

In-band — при таком методе передачи DTMF отсылается прямо в голосовом потоке RTP, это прекрасно работает при использовании кодека G.711а, т.е. если голосовой поток не подвергается сжатию. Основная проблема возникает при использовании алгоритмов сжатия, например, кодека G.729. Дело в том, что при сжатии качество голосового потока заметно ухудшается, и, хотя это почти не сказывается на способности абонентов понимать друг друга, DTMF-тон уже не достаточно четкий и воспринимается неправильно. Так что использование In-band возможно только при использование кодека G.711а.

Статья помогла?

Отлично!

Спасибо за ваш отзыв

Извините, что не удалось помочь!

Спасибо за ваш отзыв

Расскажите, как мы можем улучшить эту статью!

Выберите хотя бы одну причину

Комментарий отправлен

Мы ценим вашу помощь и постараемся исправить статью