Чтение онлайн

на главную - закладки

Жанры

Asterisk™: будущее телефонии Второе издание
Шрифт:

Прежде чем двигаться дальше, убедимся, что наш диалплан позволяет выполнять исходящие звонки на номера экстренного вызова:

[outbound-local]

exten => _9NXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1}) exten => _9NXXXXXX,n,Congestion exten => _9NXXXXXX,n,Hangup

exten => 911,1,Dial(${OUTBOUNDTRUNK}/911)

exten => 9911, 1, Dial (${OUTBOUNDTRUNK}/911) ; Чтобы тот, кто набрал первую "9",

; тоже мог дозвониться

Опять

же, в данном примере предполагается, что мы находимся в США или Канаде. Если вы проживаете в другой стране, замените, пожалуйста, 911 номером экстренных служб, используемым в вашем регионе. Это то, о чем ни в коем случае нельзя забывать при создании своего ди- алплана!

Далее добавим контекст для междугородних звонков:

[outbound-long-distance]

exten => _91NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1}) exten => _91NXXNXXXXXX,n,Playtones(congestion) exten => _91NXXNXXXXXX,n,Hangup

Теперь, когда у нас есть два новых контекста, как предоставить возможность внутренним абонентам их использовать? Необходим какой-то способ использовать функциональность одного контекста из другого.

Выражения include

Asterisk предоставляет возможность использовать добавочные номера из одного контекста в другом контексте с помощью директивы include (включить). Так можно управлять доступом к различным разделам диалплана. Мы будем применять функциональность включения, чтобы дать возможность пользователям из контекста [employees] делать исходящие звонки. Но сначала давайте рассмотрим синтаксис. Выражение include имеет следующий вид, где контекст– имя удаленного контекста, который требуется включить в текущий: include => контекст

При включении контекстов друг в друга необходимо внимательно продумать порядок их включения. Asterisk сначала будет пытаться найти

соответствие набранному добавочному номеру в текущем контексте. В случае неудачи она будет рассматривать контекст, включенный первым (в том числе все включенные в него контексты), а затем будет переходить от одного контекста к другому в порядке их включения. На данный момент в нашем диалплане есть два контекста для исходящих вызовов, но абоненты из контекста [employees] не могут их использовать. Исправим это, включив оба исходящих контекста в контекст [employees], как показано в примере: [globals] JOHN=Zap/1 JANE=SIP/Jane OUTBOUNDTRUNK=Zap/4

[incoming]

exten => 123,1,Answer

exten => 123,n,Background(enter-ext-of-person) exten => 123,n,WaitExten

exten => 1,1,Dial(${JOHN},10) exten => 1,n,Playback(vm-nobodyavail) exten => 1,n,Hangup

exten => 2,1,Dial(${JANE},10) exten => 2,n,Playback(vm-nobodyavail) exten => 2,n,Hangup

exten => i,1,Playback(pbx-invalid) exten => i,n,Goto(incoming,123,1)

exten => t,1,Playback(vm-goodbye) exten => t,n,Hangup

[employees]

include => outbound-local include => outbound-long-distance

exten => 101,1,Dial(${JOHN}) exten => john,1,Dial(${JOHN}) exten => 102,1,Dial(${JANE}) exten => jane,1,Dial(${JANE})

[outbound-local]

exten => _9NXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1}) exten => _9NXXXXXX,n,Congestion exten => _9NXXXXXX,n,Hangup

exten => 911,1,Dial(${OUTBOUNDTRUNK}/911) exten => 9911,1,Dial(${OUTBOUNDTRUNK}/911)

[outbound-long-distance]

exten => _91NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})

exten => _91NXXNXXXXXX,n,Playtones(congestion) exten => _91NXXNXXXXXX,n,Hangup

Эти

два выражения include обеспечивают абонентам из контекста [employees] возможность осуществлять исходящие вызовы. Также нужно заметить следующее: в целях безопасности всегда необходимо убедиться в том, что контекст [inbound] (входящие) не допускает возможности исходящих звонков. (Если вдруг это стало бы возможным, люди могли бы дозваниваться в вашу систему, а затем делать исходящие платные звонки за ваш счет!)

Заключение

И вот он готов - базовый, но вполне функциональный диалплан. Это не совсем полный набор возможных свойств, но основные из них были рассмотрены. В следующих главах наш базовый диалплан будет дополнен новыми функциями.

Если какие-то части данного диалплана вызывают у вас вопросы, вероятно, вам следует вернуться немного назад и перечитать раздел или два, прежде чем переходить к следующей главе. Крайне важно понимать все эти основные принципы и их применение, потому что они являются основой для изучения следующих глав.6

Дополнительные концепции диалплана

Чтобы получить список всех направлений, в которых технологии не смогли улучшить качество жизни, пожалуйста, нажмите три.

– Элис Кан

Отлично. Основные принципы диалплана рассмотрены, но многое впереди. Если вы еще не до конца разобрались с предыдущей главой, пожалуйста, вернитесь назад и перечитайте ее. Мы собираемся переходить к более сложным вопросам.

Выражения и работа с переменными

Поскольку мы начинаем погружение в более глубокие аспекты диал- плана, пришло время представить несколько инструментов, которые могут значительно увеличить его мощь. Эти структуры невероятно усложнят логику диалплана, обеспечив ему возможность принимать решения на основании различных задаваемых критериев. Итак, собрались с мыслями - и начнем.

Элементарные выражения

Выражения - это сочетания переменных, операторов и значений, объединяемые для получения результата. Выражение может тестировать значения, изменять строки или выполнять вычисления. Допустим, имеется переменная COUNT. Возьмем два возможных выражения, составленных с использованием этой переменной: «COUNT плюс 1» и «COUNT разделить на 2». Каждое из этих выражений имеет конкретный результат или значение, зависящие от значения данной переменной.

Поделиться:
Популярные книги

Пипец Котенку! 2

Майерс Александр
2. РОС: Пипец Котенку!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Пипец Котенку! 2

70 Рублей - 2. Здравствуй S-T-I-K-S

Кожевников Павел
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
постапокалипсис
5.00
рейтинг книги
70 Рублей - 2. Здравствуй S-T-I-K-S

Два лика Ирэн

Ром Полина
Любовные романы:
любовно-фантастические романы
6.08
рейтинг книги
Два лика Ирэн

Сумеречный Стрелок 3

Карелин Сергей Витальевич
3. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 3

Невеста вне отбора

Самсонова Наталья
Любовные романы:
любовно-фантастические романы
7.33
рейтинг книги
Невеста вне отбора

Жизнь в подарок

Седой Василий
2. Калейдоскоп
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Жизнь в подарок

По машинам! Танкист из будущего

Корчевский Юрий Григорьевич
1. Я из СМЕРШа
Фантастика:
боевая фантастика
попаданцы
альтернативная история
6.36
рейтинг книги
По машинам! Танкист из будущего

Новый Рал 2

Северный Лис
2. Рал!
Фантастика:
фэнтези
7.62
рейтинг книги
Новый Рал 2

Аргумент барона Бронина 2

Ковальчук Олег Валентинович
2. Аргумент барона Бронина
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Аргумент барона Бронина 2

Эволюционер из трущоб. Том 5

Панарин Антон
5. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 5

Миф об идеальном мужчине

Устинова Татьяна Витальевна
Детективы:
прочие детективы
9.23
рейтинг книги
Миф об идеальном мужчине

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2

Неудержимый. Книга XXII

Боярский Андрей
22. Неудержимый
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Неудержимый. Книга XXII

Шлейф сандала

Лерн Анна
Фантастика:
фэнтези
6.00
рейтинг книги
Шлейф сандала