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

Объединить два добавочных номера

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

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

Kucherow
Сообщения: 52
Зарегистрирован: 30 мар 2015, 12:31

Объединить два добавочных номера

Сообщение Kucherow »

Так случилось, что в компании используется два диапазона номеров: ZXX и ZXXX,при звонке на них должны выполняться одинаковые действия и в принципе можно обойтись так:

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

exten   =>      _ZXXX,1,Answer()
same    =>      n,Dial(SIP/${EXTEN},60,tT)
same    =>      n,Playtones(congestion)
same    =>      n,Hangup()

exten   =>      _ZXX,   1,Answer()
same    =>      n,Dial(SIP/${EXTEN},60,tT)
same    =>      n,Playtones(congestion)
same    =>      n,Hangup()
Но с ростом функционала крайне не хочется добавлять его в два места(ошибок не избежать). единственным вариантом объединить вижу такой(либо попробовать макросы, конечно):

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

exten   =>      _ZXXX,1,Answer()
same    =>      n,Set(DIALTO=${EXTEN})
same    =>      n,Goto(company,1)
exten   =>      _ZXX,1,Answer()
same    =>      n,Set(DIALTO=${EXTEN})
same    =>      n,Goto(company,1)

exten   =>      company,1,NoOp()
same   =>      n,Dial(SIP/${DIALTO},60,tT)
same    =>      n,Playtones(congestion)
same    =>      n,Hangup()
Есть-ли более правильный способ решить данную задачу? Вообще идеалом был-бы шаблон "Один или ноль символов", но к сожалению не увидел такого в *.
ded
Сообщения: 15631
Зарегистрирован: 26 авг 2010, 19:00

Re: Объединить два добавочных номера

Сообщение ded »

1) Не надо !
exten => _ZXX, 1,Answer()
exten => _ZXXX,1,Answer()

2) Для одновременного вызова используйте конструкцию
exten => _ZXXX,1,Dial(SIP/${EXTEN}&SIP/${EXTEN:1},60,tT)
Kucherow
Сообщения: 52
Зарегистрирован: 30 мар 2015, 12:31

Re: Объединить два добавочных номера

Сообщение Kucherow »

Вызовы должны быть не одновременными.
Просто есть номера трех- и четырех- значные, но и те и другие должны обрабатываться одинаково.
ded
Сообщения: 15631
Зарегистрирован: 26 авг 2010, 19:00

Re: Объединить два добавочных номера

Сообщение ded »

Ох, поставили бы Вы freePBX и не городили бы самодельные конструкции. Все базовые вопросы там решены вполне элегантно. Например Ваш -
каждый экстен заводится обычным образом, и для системы не важно - они трёх значные или четырёх. Все вызовы обрабатываются одинаково.
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: Объединить два добавочных номера

Сообщение Glukinho »

Ну сделайте так:
[macro-action]
exten => s,1,Answer()
same => n,Dial(SIP/${ARG1},60,tT)
same => n,Playtones(congestion)
same => n,Hangup()

...
exten => _ZXXX,1,Macro(action,${EXTEN})
exten => _ZXX,1,Macro(action,${EXTEN})
Если говорить вообще, то это всё через одно место и мешать номера екстеншенов и имена SIP учеток не следует.
Kucherow
Сообщения: 52
Зарегистрирован: 30 мар 2015, 12:31

Re: Объединить два добавочных номера

Сообщение Kucherow »

Glukinho писал(а):Ну сделайте так:
[macro-action]
exten => s,1,Answer()
same => n,Dial(SIP/${ARG1},60,tT)
same => n,Playtones(congestion)
same => n,Hangup()

...
exten => _ZXXX,1,Macro(action,${EXTEN})
exten => _ZXX,1,Macro(action,${EXTEN})
Если говорить вообще, то это всё через одно место и мешать номера екстеншенов и имена SIP учеток не следует.
Ну да, видимо макрос и придется использовать, он выглядит наиболее вменяемым из всех вариантов. а можете развернуто сказать. почему мешать номера экстеншенов и учеток не хорошо?
ded писал(а):Ох, поставили бы Вы freePBX и не городили бы самодельные конструкции. Все базовые вопросы там решены вполне элегантно. Например Ваш -
каждый экстен заводится обычным образом, и для системы не важно - они трёх значные или четырёх. Все вызовы обрабатываются одинаково.
Используется доб. номер s, а потом в зависимости от номера назначения выбирается вариант обработки?
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: Объединить два добавочных номера

Сообщение Glukinho »

Я уже вот здесь излагал: http://asterisk-support.ru/question/142 ... kak/#17902

Еще одна причина - при взломе подобрать пару "буквенный логин + пароль" намного сложнее, чем "цифровой логин + пароль", особенно принимая во внимание, что часто делают пароли, совпадающие с SIP учетками (100/100 и так далее).
А вот подобрать aivanov-office с паролем h29sj2n уже близко к невозможному.
Kucherow
Сообщения: 52
Зарегистрирован: 30 мар 2015, 12:31

Re: Объединить два добавочных номера

Сообщение Kucherow »

Спасибо. Насчет написанного по ссылке подумаю.
ded
Сообщения: 15631
Зарегистрирован: 26 авг 2010, 19:00

Re: Объединить два добавочных номера

Сообщение ded »

Kucherow писал(а):
ded писал(а):Ох, поставили бы Вы freePBX и не городили бы самодельные конструкции. Все базовые вопросы там решены вполне элегантно. Например Ваш -
каждый экстен заводится обычным образом, и для системы не важно - они трёх значные или четырёх. Все вызовы обрабатываются одинаково.
Используется доб. номер s, а потом в зависимости от номера назначения выбирается вариант обработки?
Нет.
доб. номер s - это специальная конструкция для макросов, в которые передаются из диал плана параметры вызова, и после обработки макросом выполнение диалплана возвращается в ту же точку диалплана, откуда был вызов макроса. В последних версиях Астериск используются конструкции GoSub, которые несколько удобнее макросов, но макросы тоже поддерживаются.
Я очень буду советовать читать книгу про Будущее телефонии, чтобы избежать шаблонных 1000 раз заданных вопросов и объяснений.
Kucherow
Сообщения: 52
Зарегистрирован: 30 мар 2015, 12:31

Re: Объединить два добавочных номера

Сообщение Kucherow »

Вообще я интересовался как оно в FreePBX сделано, и предположил насчет s.

По поводу Будущего телефонии - читал и все настраивал исходя из нее.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH