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

Переадресация на добавочный сотовый по макросу

Добавлено: 11 ноя 2013, 11:08
Menog
Есть куча пользователей, хотелось бы написать скрипт, при дозвоне на внутренний номер пользователя, если он не отвечает, чтобы звонил на сотовый
но т.к. пользователей достаточно много, для каждого прописывать что-то типа

exten => _101,1,Dial(SIP/${EXTEN},20)
exten => _101,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => _101,n(busy),Dial(SIP/betamax/7926*******,20)
exten => _101,n,HangUp()
exten => _101,n(unavail),Dial(SIP/betamax/7926*******,20)
exten => _101,n,HangUp()

не хочется, а хотелось бы что-то типа такого:

exten => _1XX,1,Dial(SIP/${EXTEN},20)
exten => _1XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => _1XX,n(busy),Followme(${EXTEN})
exten => _1XX,n,HangUp()
exten => _1XX,n(unavail),Followme(${EXTEN})
exten => _1XX,n,HangUp()

но в данном случае Followme может звонить только на внутренние сиповские номера, а мне нужно именно на сотовый через betamax.
вроде как-то можно через AstDB, но не совсем понятно как, особенно как вносить туда список номеров....
возможно ли как то выносить информацию из sip.cfg ?

[101](gs715)
callerid = "Secretary" <101>
callgroup=1
pickupgroup=1
....
mobile=7926****** ;<<<=---как нибудь типа такого?))

Re: Переадресация на добавочный сотовый по макросу

Добавлено: 11 ноя 2013, 11:15
shaverdoff
в генерал описать переменные.. arg1...

[macro-redirect]
exten => s,1,Dial(${ARG1},${ARG2},${ARG3},${ARG4})
exten => s,n,HangUp()

дальше вызов макроса

exten => _1XX,1,Dial(SIP/${EXTEN},20)
exten => _1XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => _1XX,n(busy),Followme(${EXTEN})
exten => _1XX,n,Macro(redirect)
exten => _1XX,n(unavail),Followme(${EXTEN})
exten => _1XX,n,HangUp()

или в макрос остальное вогнать..

Re: Переадресация на добавочный сотовый по макросу

Добавлено: 11 ноя 2013, 11:24
Menog
shaverdoff писал(а):[macro-redirect]
exten => s,1,Dial(${ARG1},${ARG2},${ARG3},${ARG4})
exten => s,n,HangUp()

дальше вызов макроса

exten => _1XX,1,Dial(SIP/${EXTEN},20)
exten => _1XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => _1XX,n(busy),Followme(${EXTEN})
exten => _1XX,n,Macro(redirect)
exten => _1XX,n(unavail),Followme(${EXTEN})
exten => _1XX,n,HangUp()

или в макрос остальное вогнать..

хм...не понял, если я звоню на тот же 101 и он занят, то срабатывает FollowMe в котором прописан 7926******* для этого номера

/cf/conf/asterisk/followme.conf
[101]
context => employees
number => 101
number => 89268420192,10

он звонит вначале по тому же SIPу и естественно не дозванивается
а затем запускается macro-redirect в который я как-то должен передать 7926*** ?

exten => s,1,Dial(SIP/betamax/${ARG1},20)
exten => s,n,HangUp()


и как туда передать аргумент из followme?

Re: Переадресация на добавочный сотовый по макросу

Добавлено: 11 ноя 2013, 11:28
shaverdoff
вы же сами сказали что followme может только по внутренним звонить.
я вам предложил вариант без followme.

Re: Переадресация на добавочный сотовый по макросу

Добавлено: 11 ноя 2013, 11:50
Menog
shaverdoff писал(а):вы же сами сказали что followme может только по внутренним звонить.
я вам предложил вариант без followme.
ну в таком случае как в макрос передать номера сотовых телефонов, взависимости от внутреннего SIP номера?
т.е. если звоним на 101, то через 20 сек звоним на 7903****
если звоним на 102, то через 20 сек звоним на 7910****

чтобы не писать для каждого 1ХХ такое:
exten => _101,1,Dial(SIP/${EXTEN},20)
exten => _101,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => _101,n(busy),Dial(SIP/betamax/7926*******,20)
exten => _101,n,HangUp()
exten => _101,n(unavail),Dial(SIP/betamax/7926*******,20)
exten => _101,n,HangUp()

exten => _102,1,Dial(SIP/${EXTEN},20)
exten => _102,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => _102,n(busy),Dial(SIP/betamax/7910*******,20)
exten => _102,n,HangUp()
exten => _102,n(unavail),Dial(SIP/betamax/710*******,20)
exten => _102,n,HangUp()

Re: Переадресация на добавочный сотовый по макросу

Добавлено: 11 ноя 2013, 12:08
awsswa
Вы видать концепцию макроса не понимаете
при макросе просто передаются параметры
(${ARG1},${ARG2},${ARG3},${ARG4})
а вы за место аргументов впишите нужные номера 101 и сотовый
а конструкцию которую надо повторять для каждого номера - напишет всего 1 раз в макросе

exten => _1XX,1,Dial(SIP/${ARG1},20)
exten => _1XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => _1XX,n(busy),Followme(${ARG1})
exten => _1XX,n,HangUp()
exten => _1XX,n(unavail),Followme(${ARG1})
exten => _1XX,n,HangUp()

Re: Переадресация на добавочный сотовый по макросу

Добавлено: 11 ноя 2013, 12:46
Menog
Да нет....просто не так понял....
в общем сделал так:

[macro-redirect]
exten => s,1,Dial(SIP/${MACRO_EXTEN},5)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => s,n(busy),HangUp()
exten => s,n(unavail),Dial(SIP/addpac/8${ARG1},20)
exten => s,n,HangUp()


...
exten => _101,1,Macro(redirect,926*******)
exten => _102,1,Macro(redirect,910*******)

спасибо ))

Re: Переадресация на добавочный сотовый по макросу

Добавлено: 11 ноя 2013, 12:47
shaverdoff
отлично:) рад что получилось:)