Понадобилось реализовать то же самое, приведу пример как это сделать, назначаем юзеру контекст `udpc_username`:
Код: Выделить всё
[udpc_username]
exten => _+X., 1, Answer()
same => n, Set(RESENDEXT=${EXTEN})
same => n, WaitExten(10)
exten => _X., 1, Answer()
same => n, Set(RESENDEXT=${EXTEN})
same => n, WaitExten(10)
exten => t, 1, Goto(out_gsm9xxxxxxxx1,${RESENDEXT},1)
exten => i, 1, Hangup()
exten => 1, 1, Goto(out_gsm9xxxxxxxx1,${RESENDEXT},1)
exten => 2, 1, Goto(out_gsm9xxxxxxxx2,${RESENDEXT},1)
exten => 3, 1, Goto(out_comtube,${RESENDEXT},1)
exten => 4, 1, Goto(out_zadarma,${RESENDEXT},1)
exten => h, 1, Hangup()
надеюсь кому-то пригодится.
Внимание! На Asterisk версии 16.6.2 это работает, но на версии 16.14.1 уже не работает, как и на 18.1.1, при нажатии на кнопку астер падает с ошибкой segfault при попытке обратиться к памяти ему не принадлежащей, хотя направление t (timeout) и i (ошибка) обрабатываются корректно. ХЗ в чем дело, переехал на 16.6.2