@Aborigen1020

А как проверять callgroup при звонке?

Всем привет!

Насколько мне известно, 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.
Все работает.
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
callgroup=12
$["${CHANNEL(callgroup)}" = "11"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы