Задача: По факту приёма вызова оператором в queue исполнить нужную команду
Скажем в CLI такое событие:
[Sep 10 15:48:08] -- SIP/testtel-0001a3ce answered SIP/1624-0001a3cd
Как на уровне диалплана исполнить нужную команду в такой момент?
Очень уж не хочется отлавливать события через agi, т.к. это будет внешний процесс.
в относительно новых астерисках в Queue тоже можно макрос/agi вызвать при ответе.
core show application Queue
asterisk -rx "core show application dial"
там есть флаг макроса
M(macro[^arg[^...]]):
macro - Name of the macro that should be executed.
arg - Macro arguments
Execute the specified <macro> for the *called* channel before
connecting to the calling channel. Arguments can be specified to the Macro
using '^' as a delimiter. The macro can set the variable ${MACRO_RESULT}
to specify the following actions after the macro is finished executing:
${MACRO_RESULT}: If set, this action will be taken after
the macro finished executing.
ABORT: Hangup both legs of the call
CONGESTION: Behave as if line congestion was
encountered
BUSY: Behave as if a busy signal was encountered
CONTINUE: Hangup the called party and allow the
calling party to continue dialplan execution at the next priority
GOTO:<context>^<exten>^<priority>: Transfer the call
to the specified destination.
ps. не знаю почему, но както не очень люблю людей котоыре заняты поддержкой колцентров а сами ничего не хотят читать.
Уважаемый, или ты меня не понял, или самому бы почитать маны. :) Я не dial'ом вызов в очередь кидаю, а через queue Dial'ом вызывается клиент, и при принятии вызова, вызывается экстеншн с постановкой в очередь
exten => 383587,1,Answer()
same => n,Queue(spravka)
same => n,Hangup()
М-флаг М-флагом, но мне он тут не нужен.
exseos (Sep 10 '12)editЗадан: Sep 10 '12
Просмотрен: 1,431 раз
Обновлен: Sep 10 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.