DTMF (Dual-Tone Multi-Frequency) — это сигналы, генерируемые при нажатии клавиш на телефоне, которые используются для передачи цифровых данных, таких как номера или команды, через телефонные сети.
Мы поддерживаем следующие типы передачи DTMF:
1. RFC 2833 (по умолчанию для всех клиентов)
Этот протокол использует RTP пакеты с типом нагрузки Named Telephony Event (NTE) для передачи DTMF сигналов. В отличие от метода In-band, где звуковой тон слышен, при RFC 2833 DTMF сигналы передаются в виде отдельных пакетов, и в голосовом потоке не слышно никаких тонов. Вместо этого пакеты NTE содержат информацию о сигнале DTMF. Например, если клиент нажимает клавишу "1", в поле "Event ID" будет передано значение DTMF One 1 (1). Это означает, что другой абонент не услышит тон при нажатии клавиши, но информация о нажатии будет корректно передана и интерпретирована системой.
2. In-band
При использовании этого метода DTMF сигналы отправляются прямо в голосовом потоке RTP. Этот метод работает хорошо с кодеком G.711a, поскольку в этом случае голосовой поток не сжимается, и DTMF сигналы передаются вместе с голосом. Однако, если используется сжатие, например, с кодеком G.729, возникают проблемы. При сжатии голосового потока качество звука ухудшается, и DTMF тон становится искажённым, что может привести к неверному восприятию сигнала. Несмотря на то, что сжатие не сильно влияет на воспринимаемость голоса, сжатые DTMF сигналы теряют четкость и могут быть неправильно интерпретированы. Поэтому использование метода In-band возможно только при применении кодека G.711a, который передаёт сигнал без потерь качества.
3. IFO (Information Only)
Этот метод представляет собой передачу DTMF сигналов в виде отдельной информации, но в отличие от RFC 2833, информация передается через текстовые или управляющие пакеты. В основном используется в специализированных сетях и приложениях, где DTMF сигналы не требуют передачи через голосовые каналы.
4. Auto
Этот метод автоматически выбирает наиболее подходящий способ передачи DTMF в зависимости от сетевых условий и конфигурации, применяя предпочтения к RFC 2833 или In-band, в зависимости от того, какой метод будет более эффективным для конкретной ситуации.
Таким образом, для обеспечения точности и надёжности передачи DTMF сигналов рекомендуется использовать RFC 2833, особенно при использовании кодеков с сжатием, таких как G.729, где метод In-band может привести к потерям данных.
Также см.:
Статья помогла?
Отлично!
Спасибо за ваш отзыв
Извините, что не удалось помочь!
Спасибо за ваш отзыв
Комментарий отправлен
Мы ценим вашу помощь и постараемся исправить статью