Как выполнить AGI-скрипт во время разговора по нажатию клавиши

Я хочу запустить сценарий AGI (чтобы активировать открывание двери) во время звонка. Желательно, чтобы скрипт выполнялся при нажатии клавиши #.

Как внедрить это поведение в диалплан? Все примеры, которые я нашел, не зависят от нажатия клавиши.

Я использую FreePBX 2.8.1.4. Это то, что я пробовал:

exten => s,1,Wait(1)
exten => s,n,AGI(test.py)
exten => s,n,Dial(SIP/mk55/203,20,tr)
exten => #,n,AGI(/home/pi/.scripts/dooropen.py)
exten => s,n,Hangup()

и это:

exten => s,n,Read(inPut,,1)
exten => s,n,Dial(console/dsp)
exten => s,n,GotoIf($["${inPut}" = "#"]?keypressed,1)
exten => keypressed,1,AGI(/home/pi/.scripts/dooropen.py)
exten => s,4,Hangup

person DrOetker    schedule 24.02.2015    source источник


Ответы (1)


На самом деле AGI(имя_сценария, аргументы...) — правильное приложение для использования https://wiki.asterisk.org/wiki/display/AST/Application_AGI

Чтобы получить DTMF-нажатие, вы можете использовать WaitExten https://wiki.asterisk.org/wiki/display/AST/Application_WaitExten

Здесь вы можете найти пример использования WaitExten Поиск справки относительно меню IVR в Asterisk

С Уважением

person generaltux    schedule 27.02.2015