VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Ответить
Menog
Сообщения: 16
Зарегистрирован: 11 ноя 2013, 10:56

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

Сообщение 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****** ;<<<=---как нибудь типа такого?))
shaverdoff
Сообщения: 197
Зарегистрирован: 04 апр 2011, 15:39
Контактная информация:

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

Сообщение 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()

или в макрос остальное вогнать..
Последний раз редактировалось shaverdoff 11 ноя 2013, 11:27, всего редактировалось 1 раз.
Menog
Сообщения: 16
Зарегистрирован: 11 ноя 2013, 10:56

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

Сообщение 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?
shaverdoff
Сообщения: 197
Зарегистрирован: 04 апр 2011, 15:39
Контактная информация:

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

Сообщение shaverdoff »

вы же сами сказали что followme может только по внутренним звонить.
я вам предложил вариант без followme.
Menog
Сообщения: 16
Зарегистрирован: 11 ноя 2013, 10:56

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

Сообщение 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()
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

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

Сообщение 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()
платный суппорт по мере возможностей
Menog
Сообщения: 16
Зарегистрирован: 11 ноя 2013, 10:56

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

Сообщение 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*******)

спасибо ))
Последний раз редактировалось Menog 11 ноя 2013, 12:49, всего редактировалось 1 раз.
shaverdoff
Сообщения: 197
Зарегистрирован: 04 апр 2011, 15:39
Контактная информация:

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

Сообщение shaverdoff »

отлично:) рад что получилось:)
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH