Переадресация вызовов по звездочке на каналы DAHDI
Все каналы на Asterisk настроены как каналы DAHDI. После оплаты клиентом я хочу передать клиента представителю, который ранее взаимодействовал с клиентом.
Я пытаюсь сделать это с помощью команды Dial(). Это диалплан
exten => s,1,Set(TRFNUM=${CALLERID(num)})
exten => s,2,Set(TRFNAME=${CALLERID(name)})
exten => s,3,AGI(agi://192.168.7.20/customivr)
exten => s,4,Dial(DAHDI/1/${TRFNUM}&DAHDI/2/${TRFNUM}&DAHDI/3/${TRFNUM}&DAHDI/4/${TRFNUM}&DAHDI/5/${TRFNUM}&DAHDI/6/${TRFNUM}&DAHDI/7/${TRFNUM}&DAHDI/8/${TRFNUM},30)
exten => s,5,Hangup
Например: Звонок поступает в DAHDI/1 после оплаты DAHDI/1, набирают все каналы, один из них, Отвечает на другие зависания DAHDI/1 соединяется с DAHDI/2. Однако, хотя Клиент и представитель закрывают телефоны, Каналы не зависают. Они остаются занятыми.
Где я могу ошибиться Я должен повесить каналы вызова или найти другой способ перевода.
1 ответ
Похоже, что он настроен правильно, я думаю, что ваш AGI-скрипт зависает при вызове, когда он заканчивает свою работу. Это может произойти, если у вас есть $agi> зависание в конце, или если вы сделаете какие-либо выходные данные в скриптах (echo, print_r и т. Д.)...), даже вывод пустых пробелов может вызвать такое поведение,
другая вещь, которую вы можете попробовать, это сделать команду Dial из самого agi, используя:
agi-> Exec("Dial","варианты");