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

Dialplan - выборочный запрет исходящих звонков

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

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

tonny_bennet
Сообщения: 169
Зарегистрирован: 21 дек 2011, 13:00
Откуда: Ростов-на-Дону
Контактная информация:

Dialplan - выборочный запрет исходящих звонков

Сообщение tonny_bennet »

Здравствуйте.

Есть необходимость поставить телефон на проходной и на посту охраны. Соответственно с одного из них можно будет звонить только на внутренние номера, а с другого только на некоторые внутренних номеров. Погуглил. Создал тестовую учётку 155. Залез в extensions_custom.conf (Elastix).

Просто запретить вызовы на все телефоны с номера 155 получилось:

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

[from-internal-custom]
   exten => _./155,1,Playback(invalid)				
   exten => _./155,2,Hangup()
А вот как теперь разрешить звонить на все трёхзначные внутренние номера? И как разрешить звонить только на 101, 102 и 142? Какой логики стоит придерживаться в моём случае и как это реализовать правильно?

Попробовал возвращать звонок обратно в from-internal: exten => 142/155,1,Goto(from-internal,155,1) - не работает.

Заработало если просто позвонить на этот телефон exten => 142/155,1,Dial(SIP/142,60), но у этого звонка нет CallerID и на экране телефона отображается Device.
Помогите пожалуйста разобраться.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Dialplan - выборочный запрет исходящих звонков

Сообщение zzuz »

Для начала определитесь, что Вы хотите. Копаться в дебрях конфигурационных файлах или настраивать всё через Freepbx.
В первом случае подойдет "голая" установка астериска , во втором всё замечательно делается через веб-интерфейс.
Линия24 - Системы Массового Телефонного Обслуживания
tonny_bennet
Сообщения: 169
Зарегистрирован: 21 дек 2011, 13:00
Откуда: Ростов-на-Дону
Контактная информация:

Re: Dialplan - выборочный запрет исходящих звонков

Сообщение tonny_bennet »

Практически все настройки я сделал через веб-интерфейс Elastix. Я читал про модуль, позволяющий кастомизировать настройки в FreePBX, но почему-то мне показалось, что сложнее будет его ставить и потом разбираться в нём чем поправить несколько строк в файле extensions_custom.conf. Опять же я с опытом настройки Elastix и теми задачами которые ставит мне руководство, я понимаю что до всего функционала у веб-интерфейса доступа нет и рано или поздно всё же придётся разбираться в контекстах и т.д.

Вы думаете всё же стоит поставить Custom Contexts и не мучаться?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Dialplan - выборочный запрет исходящих звонков

Сообщение ded »

А Вы уже мучаетесь. И ещё будете много.
Вот волшебный порошок, первая доза, как всегда - бесплатно!

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

[from-internal-custom]
exten => _XXX/155,1,Goto(ext-local,${EXTEN},1) 
exten => i,1,Playback(invalid)            
exten => i,2,Hangup()
exten => _X./155,1,Hangup()

;   exten => _./155,1,Playback(invalid)            
;   exten => _./155,2,Hangup()
april22
Сообщения: 2187
Зарегистрирован: 09 июл 2012, 09:47

Re: Dialplan - выборочный запрет исходящих звонков

Сообщение april22 »

ded писал(а):Вот волшебный порошок, первая доза, как всегда - бесплатно!
А ded то , диллер. :D
Своими вопросами , вы загоняете меня в ГУГЛЬ.
tonny_bennet
Сообщения: 169
Зарегистрирован: 21 дек 2011, 13:00
Откуда: Ростов-на-Дону
Контактная информация:

Re: Dialplan - выборочный запрет исходящих звонков

Сообщение tonny_bennet »

ded, спасибо за дозу, она меня натолкнула на нужные мысли :)

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

;с телефона 155 можно позвонить только на 142,101 и 102
exten => 142/155,1,Goto(ext-local,${EXTEN},1)

exten => 101/155,1,Goto(ext-local,${EXTEN},1)

exten => 102/155,1,Goto(ext-local,${EXTEN},1)
; набрав любой другой номер будет сообщение о неправильном наборе и повесят трубку.
exten => _./155,1,Playback(invalid)            
exten => _./155,2,Hangup()
Соответственно создав номер 121 и добавив правила

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

;с телефона 121 можно позвонить только на внутренние трёхзначные номера начинающиеся с 1
 exten => _1XX/121,1,Goto(ext-local,${EXTEN},1)
; набрав любой другой номер будет сообщение о неправильном наборе и повесят трубку.
exten => _./121,1,Playback(invalid)            
exten => _./121,2,Hangup()
, я разрешу ему звонить только на внутренние трёхзначные номера начинающиеся с 1.

Это всё заработало уже :)

Насколько я понял, правила:

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

exten => i,1,Playback(invalid)           
exten => i,2,Hangup()
распространяются на всё, что есть в контексте from-internal-custom? И при наборе любого несуществующего екстеншена (i) система проиграет сообщение и отобъёт вызов. По идее в from-internal уже есть что-то подобное и система говорит: "Соединение невозможно. Пожалуйста проверьте номер и перезвоните".

Почему вы указали правило запрета exten => _X./155,1,Hangup() с одним X а не просто точку (_.) как у меня? В чём разница то?
ded писал(а):А Вы уже мучаетесь.
Мне кажется Вы в слове "учитесь" слишком много ошибок сделали. ;)
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Dialplan - выборочный запрет исходящих звонков

Сообщение ded »

tonny_bennet писал(а):Вы думаете всё же стоит поставить Custom Contexts и не мучаться?
ded писал(а):А Вы уже мучаетесь. И ещё будете много.
tonny_bennet писал(а):Почему вы указали правило запрета exten => _X./155,1,Hangup() с одним X а не просто точку (_.) как у меня? В чём разница то?
Предлагаю читать книжку про настоящее и будущее. Я имею ввиду не катрены Нострадамуса.
Там описана разница.

Когда есть базовые знания, нам легче общаться на одном языке, верно?
tonny_bennet
Сообщения: 169
Зарегистрирован: 21 дек 2011, 13:00
Откуда: Ростов-на-Дону
Контактная информация:

Re: Dialplan - выборочный запрет исходящих звонков

Сообщение tonny_bennet »

tonny_bennet писал(а):верно?
Верно.
tonny_bennet
Сообщения: 169
Зарегистрирован: 21 дек 2011, 13:00
Откуда: Ростов-на-Дону
Контактная информация:

Re: Dialplan - выборочный запрет исходящих звонков

Сообщение tonny_bennet »

ded писал(а):Предлагаю читать книжку про настоящее и будущее.
Прочитал часть про диалпланы. Доступно. Понял почему exten => _X./155,1,Hangup(), а не exten => _./155,1,Hangup().

Но там по большому счёту расписано как создавать подобную систему. А у меня похоже на вмешательство.Т.е. Elastix насоздавал контексты и екстеншены, а я их немного правлю. Отсюда возник вопрос: если мне нужно разрешить не звонок на внутренний номер из контекста ext-local, а звонок на телефон очереди. Предположим номер очереди 199. Я помещаю звонок в очередь: exten => 199/155,1,Queue(199,t,,) (параметры взял из лога Asterisk, когда просто позвонил на 199)

В итоге музыка играет, но телефон оператора в очереди не звонит. В логах вот такие записи идут повторяясь:

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

    -- Executing [h@from-queue:1] Set("Local/101@from-queue-00000015;2", "QAGENT=h") in new stack
    -- Executing [h@from-queue:2] Goto("Local/101@from-queue-00000015;2", ",1") in new stack
    -- Goto (from-queue,h,1)
    -- Executing [h@from-queue:1] Set("Local/101@from-queue-00000015;2", "QAGENT=h") in new stack
    -- Executing [h@from-queue:2] Goto("Local/101@from-queue-00000015;2", ",1") in new stack
    -- Goto (from-queue,h,1)
    -- Executing [h@from-queue:1] Set("Local/101@from-queue-00000015;2", "QAGENT=h") in new stack
    -- Executing [h@from-queue:2] Goto("Local/101@from-queue-00000015;2", ",1") in new stack
    -- Goto (from-queue,h,1)
    -- Executing [h@from-queue:1] Set("Local/101@from-queue-00000015;2", "QAGENT=h") in new stack
    -- Executing [h@from-queue:2] Goto("Local/101@from-queue-00000015;2", ",1") in new stack
    -- Goto (from-queue,h,1)
    -- Executing [h@from-queue:1] Set("Local/101@from-queue-00000015;2", "QAGENT=h") in new stack
    -- Goto (from-queue,101,1)
    -- Executing [101@from-queue:1] Set("Local/101@from-queue-00000017;2", "QAGENT=101") in new stack
    -- Executing [h@from-queue:2] Goto("Local/101@from-queue-00000016;2", ",1") in new stack
    -- Executing [101@from-queue:2] Goto("Local/101@from-queue-00000017;2", ",1") in new stack
    -- Executing [h@from-queue:2] Goto("Local/101@from-queue-00000015;2", ",1") in new stack
    -- Goto (from-queue,h,1)
    -- Executing [h@from-queue:1] Set("Local/101@from-queue-00000016;2", "QAGENT=h") in new stack
Куда направить вызов если я хочу позвонить в очередь?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Dialplan - выборочный запрет исходящих звонков

Сообщение ded »

Курочить сложные конструкции freePBX - нехорошее дело, всё же стоит поставить Custom Contexts и не мучаться.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH