Страница 1 из 1

Контекст голосовой почты внутри макроса

Добавлено: 25 сен 2014, 20:02
newuser
Есть стандартный макрос звонка:
[macro-stdexten];
; ${ARG1} - Екстеншен (мы можем использовать также значение переменной ${MACRO_EXTEN} )
; ${ARG2} - Устройство (устройства) для совершения вызова
;
; Вызов через заданный интерфейс, ждем максимум 20 секунд
exten => s,1,Dial(${ARG2},20)
; Совершение перехода в зависимости от результата вызова (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s,2,Goto(s-${DIALSTATUS},1)
; Если абонент недоступен, перенаправляем вызывающего в голосовую почту с анонсом о недоступности абонента
exten => s-NOANSWER,1,Voicemail(u${ARG1})
; Если вызывающий абонент нажал #, возвращаемся в начало
exten => s-NOANSWER,2,Goto(default,s,1)
; Если абонент занят, перенаправляем вызывающего в голосовую почту с анонсом о занятости абонента
exten => s-BUSY,1,Voicemail(b${ARG1})
; Если вызывающий абонент нажал #, возвращаемся в начало
exten => s-BUSY,2,Goto(default,s,1)
; Обрабатываем все остальные ситуации, как ситуацию, когда абонент не отвечает
exten => _s-.,1,Goto(s-NOANSWER,1)
; Если вызывающий абонент нажал *, перенаправляем вызывающего в систему прослушивания голосовых сообщений
exten => a,1,VoicemailMain(${ARG1})

Для вызова этого макроса, Вам необходимо сделать примерно такое:
exten => 1234,1,Macro(stdexten,1234,sip/7960)

Вопрос:
Как подставить экстеншен голосовой почты в VoiceMail, т. к. аргумент ARG1 естественно передает только, например 101 и если номер в default, то конечно находит,
а если ящик в другом экстеншене, то, логично - не находит. как получить 101@default, 201@ooopostavka, 301@oaopokupka.
Или для каждой группы писать свой макрос, где жестко прописывать эти экстеншены?

Re: Контекст голосовой почты внутри макроса

Добавлено: 26 сен 2014, 08:52
zzuz

Код: Выделить всё

exten => 1234,1,Macro(stdexten,1234,sip/7960,ooopostavka)

exten => s-BUSY,1,ExecIF($[${EXISTS(${ARG3})}]?Voicemail(b${ARG1}@${ARG3}):Voicemail(b${ARG1})

Re: Контекст голосовой почты внутри макроса

Добавлено: 26 сен 2014, 09:19
newuser
Пока так и сделал, точнее уже немного переделал и разнес всех по разным контекстам и назвал их как в голосовой почте и третим аргументом передаю ${CONTEXT}.
Проблема при звонках между ними - из другого контекста. Инклюдом получается неверный контекст, сделал через exten => _1XX,1,Coto(ooopostavka,${EXTEN},1}.
Только намудрил где-то и при звонке во вне у меня в консоли начинается куча звонков мелькает.

Re: Контекст голосовой почты внутри макроса

Добавлено: 26 сен 2014, 12:21
zzuz
Сочувствуем.