Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet.doc
Скачиваний:
17
Добавлен:
18.03.2015
Размер:
2.48 Mб
Скачать

Добавочные номера

В мире телекоммуникаций термин «добавочный номер» (extension) обычно обозначает числовой идентификатор, который присвоен линии, идущей к конкретному телефону. Однако в Asterisk это намного более широкое понятие, поскольку оно определяет уникальные последовательности шагов (каждый шаг включает приложение), которые Asterisk будет применять к вызову по этой линии. В каждом контексте может быть задано столько добавочных номеров, сколько требуется. При вызове конкретного добавочного номера (входящим или внутренним звонком) Asterisk будет выполнять шаги, определенные для этого добавочного номера. Поэтому именно добавочные номера определяют, что происходит со звонками при их обработке соответственно диалплану. Хотя, конечно, добавочные номера могут использоваться в их традиционном значении (то есть вызов добавочного номера 153 заставит зазвонить SIP-телефон на столе Джона), но в диалпланеAsterisk они могут означать намного большее.

Синтаксис добавочного номера – это слово exten, за которым следует стрелка, образованная знаками равенства и «больше чем»:

exten =>

Далее указывается имя (или номер). В традиционных системах телефонной связи под добавочными номерами мы понимаем цифры, которые надо набрать, чтобы другой телефон зазвонил. В Asterisk это понятие намного шире; например, в качестве имени добавочного номера может использоваться любая комбинация цифр и букв. Будут использоваться как цифровые, так и буквенно-цифровые добавочные номера.

Присвоение имен добавочным номерам может показаться революционной идеей, но если вспомнить, что многие транспортные протоколы VoIP поддерживают (или даже активно поощряют) вызовы по имени или адресу электронной почты, а не просто по номеру, это действительно имеет смысл. Это одно из свойств, делающих Asterisk такой гибкой и мощной системой.

Полный добавочный номер состоит из трех компонентов:

  • Имени (или номера).

  • Приоритета (каждый добавочный номер может включать множество шагов; порядковый номер шага называется его приоритетом).

  • Приложения (или команды), которое выполняет некоторое действие над вызовом.

Эти три компонента разделяются запятыми:

exten =>имя,приоритет,приложение()

Вот пример того, как может выглядеть настоящий добавочный номер:

exten => 123,1,Answer()

В этом примере имя добавочного номера – 123, приоритет – 1, а приложение – Answer(). Теперь пойдем дальше и рассмотрим, что такое приоритеты и приложения.

Приоритеты

Каждый добавочный номер может включать множество шагов, называемых приоритетами. Каждый приоритет пронумерован последовательно, начиная с 1, и выполняет одно определенное приложение. Например, следующий добавочный номер отвечает на звонок (в приоритете под номером 1) и затем выполняет разъединение (в приоритете под

номером 2):

exten => 123,1,Answer()

exten => 123,2,Hangup()

Для отдельного добавочного номера Asterisk выполняет приоритеты по порядку.

Ненумерованные приоритеты

В более старых версиях Asterisk нумерация приоритетов вызывала множество проблем. Представьте, что в добавочном номере 15 приоритетов и требуется добавить что-то в шаге 2. Номера всех последующих приоритетов пришлось бы менять вручную. Asterisk не обрабатывает пропущенные шаги или неправильно пронумерованные приоритеты, и отладка ошибок такого типа превращалась в бесцельную и досадную трату времени.

Начиная с версии 1.2 Asterisk решила эту проблему. Был введен при-оритет n, что означает «следующий». Каждый раз, когда Asterisk встречает приоритет n, она берет номер предыдущего приоритета и до-бавляет 1. Это упрощает внесение изменений в диалплан, поскольку теперь не надо изменять номера всех шагов. Например, диалпланмо-жет быть таким:

exten => 123,1,Answer()

exten => 123,n,выполнить что-то

exten => 123,n,выполнить что-то еще

exten => 123,n,выполнить последнее

exten => 123,n,Hangup()

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]