Freeswitch: start_dtmf не обнаруживает DTMF - PullRequest
3 голосов
/ 16 июня 2010

Я читал о приложении start_dtmf в freeswitch, которое используется для обнаружения внутриполосного dtmf.Я проверил это, но он не обнаружил DTMF.

<extension name="dtmf_test">
<condition field="destination_number" expression="^6000$">
<action application="answer"/>
<action application="start_dtmf"/>
<action application="bridge" data="user/6888"/>

Пожалуйста, помогите мне.

Ответы [ 3 ]

3 голосов
/ 29 июля 2011

Старый вопрос, но стоит еще один выстрел в ответ.

Предположение

Я делаю одно предположение, что пользователь / 6888 является инициатором DTMFцифры.

Проблема

Важно помнить о любом приложении, основанном на вызовах, - оно работает с участками / каналами вызова, вызываемым абонентом, вызывающим абонентом или a-leg, b-leg.Это очень важно при выполнении приложений, основанных на диалплане, которые привязаны к конкретному участку (то есть включены только на одном участке), например, start_dtmf, см. документацию , в частности строку, в которой указано:

Приведенная выше строка start_dtmf запускает приложение start_dtmf на этом канале, чтобы разрешить обнаружение DTMF.

В вашем примере приложение start_dtmf прослушивает пользователя, который вызвал 6000, а не мостовой добавочный пользователь / 6888.Пример freeswitch работает, потому что он набирает номер в IVR, а входящий абонент нажимает цифры dtmf.

Решение

Чтобы установить приложение start_dtmf на другом участке,вы хотите посмотреть на exec_after_bridge приложение .

<action application="set" data="exec_after_bridge_app=start_dtmf"/>
1 голос
/ 03 августа 2016

Я считаю, что mod_spandsp внутриполосное обнаружение DTMF более надежно, чем встроенное обнаружение FreeSwitch. Также я обнаружил, что это не работает в Windows, только в Linux.

0 голосов
/ 24 июня 2010

откуда вы знаете, что он не работает?

1) Убедитесь, что в телефонном тракте используются внутриполосные DTMF. Какие типы пользовательских агентов или телефонов SIP участвуют в этом тестовом вызове?Программные телефоны обычно имеют возможность изменять настройки DTMF.

2) Убедитесь, что в журнале консоли установлено значение DEBUG, чтобы увидеть, распознаются ли DTMF.Обычно вы можете установить его в DEBUG, нажав клавишу F8 на консоли FreeSWITCH.

Ciao!

...