Страница 1 из 2

Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 21 июл 2015, 17:12
sasha2
Здравствуйте,

Коротко вопрос в следующем:
PlayDTMF только передаёт звук на конечного абонента или же ещё и заворачивается в asterisk и полностью равноценен посылке ДТМФ от абонента в плане реакции на этот ДТМФ в asterisk-е?

Подробнее вопрос в следующем:
1) Астериск настроен так, что когда установлено соединение между 2-мя абонентами, любой из них может путём посылки ДТМФ выполнять некоторые действия, например, один может поставить на удержание другого послав 11.
2) Я сторонний наблюдатель за этим процессом и наблюдаю через AMI-интерфейс
3) Вопрос!!! Могу ли я послав ДТМФ AMI-командой PlayDTMF в нужный канал сэмулировать посылку ДТМФ одним из абонентов так, чтобы произошла реакция на этот ДТМФ и, например абонент стал на удержание?

Спрашиваю, потому, что я попытался выполнить команду PlayDTMF, но только лишь услышал звук этого ДТМФ у абонента, а реакцию в asterisk на этот ДТМФ не увидел.

Re: Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 21 июл 2015, 17:47
ded
Хорошо бы Вам не только слышать звук этого ДТМФ у абонента, но и видеть (включить логгирование ДТМФ в logger.conf
а реакцию в asterisk наблюдать ещё и в командной строке.
Есть подозрение, что эта посылка будет пытаться выполниться не в том контексте, где ваши наблюдаемые абоненты.

Re: Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 21 июл 2015, 18:13
sasha2
В logger.conf-е стоит:

Код: Выделить всё

console => notice,warning,error,dtmf
Когда ДТМФ посылает абонент, то я в консоли вижу, что они ловятся, когда посылаю командой PlayDTMF, то не вижу.

Re: Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 21 июл 2015, 19:09
ded
Посылка ДТМФ в контекст диалплана это не то же самое, что посылка ДТМФ в канал.

Re: Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 22 июл 2015, 13:38
sasha2
Хорошо (точнее, пока ничего хорошего), тогда у меня 2 вопроса:
1) Ф-я SendDTMF (как я понял она используется в диалплане) - это аналог PlayDTMF с теми же ограничениями, или с её помощью можно послать ДТМФ так, чтобы он поймался астериском?
2) С помощью чего можно сделать так как я хочу - выполнить действия, выполняемые по приходу ДТМФ от абонента, не привлекая для этого самого абонента. Другими словами, как можно реализовать помощьника, который может выполнять действия, вместо абонента.

Re: Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 22 июл 2015, 13:46
Wapo
Забудьте о посылках DTMF - раз вы и так в AMI - используйте управление тем каналом через функции AMI. Поищите тут что вам надо из команд: http://www.voip-info.org/wiki/view/Asterisk+manager+API

Re: Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 22 июл 2015, 14:53
sasha2
Дело в том, что большая часть сервисов реализована диалпланом и работает обрабатывая последовательности ДТМФ.
Я правильно понимаю, что теперь мне придётся все необходимые сервисы полностью переписать на AMI? И нет никакой возможности как-то вклиниваться в диалплан и использовать его, или его отдельные части, например, вызвать со стороны (из командной строки или ещё как-то) его часть, выполняющую постановку на удержание?

Re: Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 22 июл 2015, 15:18
Wapo
Абсолютно правильно понимание. Изначально вам сказали, что одно дело активный-существующий канал и управление им, а другое дело активация функционала диалплана (вот и кто же его будет активировать-то - -иной канал?)

Re: Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 22 июл 2015, 16:50
sasha2
Я думал, что функционал диалплана активируется какими-то событиями (например, приходом того-же ДТМФ-а) и думал, что эти события можно подсунуть со стороны какой-нибудь функцией типа SendEvent (по аналогии с программой в которую может прийти сообщение о том, что нажата клавиши, как непосредственно от клавиатуры, так и от другой программы)

Вдобавок, кроме того, что нужно будет дублировать на AMI уже готовый функционал, проблемма ещё и в том, что управление каналом при помощи AMI может начать конфликтовать с управлением им же диалпланом.

Re: Возвращается ли ДТМФ по команде PlayDTMF в астериск

Добавлено: 22 июл 2015, 16:57
Wapo
Уважаемый - вы чет все свалили вместе в одну кучу в голове и запутали в первую очередь себя. Включайте ЛОГИКУ и анализируйте происходящее: AMI "видит" event-ы, но управляется через Action-ы.