Всем привет!
Насколько мне известно, callgroup применяется для перехвата звонка, поступающих в эту группу.
А как использовать значение callgroup при исходящем звонке? Хочу направлять разные группы через разные каналы. Делаю так: Ставлю в users.conf
callgroup=12
в диалплане пишу:
exten => 89997778888,1,NoOp()
exten => 89997778888,n,Verbose(${CHANNEL(callgroup)})
exten => 89997778888,n,GotoIf($["${CHANNEL(callgroup)}" = "11"]?loccall)
exten => 89997778888,n,Hangup()
exten => 89997778888,n(loccall),Dial(SIP/gsm_gate/${EXTEN},60,tT))
exten => 89997778888,n,Hangup()
А получаю вот так:
-- Executing [89997778888@DLPN_WorkDialPlan:1] NoOp("SIP/1042-00000281", "") in new stack
-- Executing [89997778888@DLPN_WorkDialPlan:2] Verbose("SIP/1042-00000281", "11") in new stack
11
-- Executing [89997778888@DLPN_WorkDialPlan:3] GotoIf("SIP/1042-00000281", "1?loccall") in new stack
-- Goto (DLPN_WorkDialPlan,89997778888,5)
-- Executing [89997778888@DLPN_WorkDialPlan:5] Dial("SIP/1042-00000281", "SIP/gsm_gate/89997778888,60,tT)") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/gsm_gate/89997778888
Из предположений, что 11 - это не число, а строка, ее Астер получил, и считает за true.
Как же все-таки получить числовое значение или проверять более точно callgroup?
РЕШЕНИЕ:
sip reload, т.к. у меня для юзера уже указана группа 12, а в логе определяется как 11.
Все работает.