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а.
Статья помогла?
Отлично!
Спасибо за ваш отзыв
Извините, что не удалось помочь!
Спасибо за ваш отзыв
Комментарий отправлен
Мы ценим вашу помощь и постараемся исправить статью