Android Native SIP DTMF

Я использую android SIP(android.net.sip) для вызова VOIP . Попытка отправить DTMF. В SipAudioCall Класс android был дан два метода

 void sendDtmf(int code, Message result) Sends a DTMF code. void sendDtmf(int code) Sends a DTMF code. 

Я думаю использовать sendDtmf(int code) для отправки DMTF. Но я не знаю, как я могу определить, действительно ли оно отправлено или нет. После реализации этого, я не получаю никакого тона на стороне приемника / отправителя. Призыв к этому не дает мне эффекта (поскольку его фоновая обработка не видна). Может кто-нибудь, пожалуйста, дайте мне знать, как я могу его изменить? Также, пожалуйста, объясните мне использование второго метода sendDtmf(int code, Message result) .

Существует три основных метода отправки DTMF с помощью sip:

  1. Внутриполосные полезные данные RTP
  2. Генерируемые тональные сигналы DTMF
  3. Sip информационные сообщения (устаревшие и, скорее всего, не используются)

Скорее всего, он использует внутриполосные пакеты полезной нагрузки RTP. Altho большинство sip стеков, которые я знаю, имеют какую-то опцию для выбора типа DTMF для отправки.

Извините, я ничего не знаю о встроенном стеке SIP для Android, поэтому я не могу напрямую ответить на вопросы о реализации.

Что бы я сделал, чтобы проверить правильность отправки DTMF, используйте что-то вроде WireShark для захвата аудиопотока RTP. Затем вы можете использовать опцию анализа графика вызовов вызовов voip, которая будет отображать события DTMF в RTP!

Вывод графика вызовов VOIP

У android.net.sip есть поддержка только для режима dtmf RFC 2883. Вы можете легко видеть эти сообщения с помощью программного обеспечения, такого как wirehark и / или из ваших журналов на стороне сервера (или других журналов одноранговых узлов). Просто убедитесь, что у другой стороны есть поддержка такого типа dtmf (поддержка RFC 2883).

Я использую Counterpath X-Lite V4.9.8, чтобы помочь разработать приложение SIP для ОС Android, используя собственную SIP-библиотеку. X-Lite Softphone / Preferences / Calls должен быть установлен на «Отправить через RFC 2833».

Как только у вас есть активный SIP-вызов с двунаправленным звуком, и вы используете yourcall.sendDtmf (5), в качестве примера, во время этого вызова вы можете услышать тональные сигналы DTMF через приложение X-Lite с тонами продолжительностью около 1 / 2 секунды каждый.