KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программное обеспечение » Джим Меггелен - Asterisk™: будущее телефонии Второе издание

Джим Меггелен - Asterisk™: будущее телефонии Второе издание

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Джим Меггелен, "Asterisk™: будущее телефонии Второе издание" бесплатно, без регистрации.
Перейти на страницу:

Asterisk GUI - это интерфейс, который поставляется с дистрибутивом AsteriskNOW или может быть добавлен в существующую установку Asterisk. Стандартный интерфейс ориентирован на пользователя, желающего применять Asterisk как офисную АТС для небольшого предприятия с довольно типовыми требованиями к системе телефонной связи. Это самое простое, что можно сделать с помощью AJAM; рассматривайте его как бета-интерфейс, который, как можно ожидать, будет развиваться согласно желаниям сообщества. Его появление вызвало большое воодушевление в сообществе разработчиков Asterisk, потому что лежащие в основе GUI технологии поднимают планку возможностей интерфейса офисной АТС. Он также позволяет создавать пользовательские интерфейсы, нацеленные на собственные уникальные требования.

Марк Спенсер о GUI

Asterisk - мощная платформа для телефонии. Однако ценность этой мощи определяется тем, насколько она может быть полезна конкретным целевым пользователем. Графические интерфейсы (GUI) очень нужны Asterisk. Большинство GUI специально разработаны для определенной задачи. Например, некоторые GUI созданы специально для систем голосовой почты. Другие ориентированы на гостиничную отрасль. Необходимость в универсальном GUI для Asterisk существует, но приходится идти на естественный компромисс между удобством использования и простотой GUI и количеством предлагаемых им функций. Например, GUI, нужный администратору сложных и многофункциональных систем, скорее всего, будет отличаться от того, который требуется администратору офиса, отвечающему только за простые перемещения, добавление записей и изменение системы. Исходя из такого широкого диапазона требований Digium разработала инфраструктуру GUI, названную (неизобретательно) Asterisk GUI. Digium не стала разрабатывать единый GUI, а вместо этого выпустила разные GUI и инфраструктуру для упрощения процесса создания и изменения GUI для разных областей применения. Второй задачей было обеспечить такое взаимодействие GUI с традиционными конфигурационными методами Asterisk, чтобы ничто не могло воспрепятствовать его применению. Большинство GUI для Asterisk используют формат промежуточной конфигурации или базу данных, с помощью которых можно создать конфигурационные файлы для использования Asterisk. К сожалению, это означает, что любая опция, не представленная в GUI, не может быть задана «вручную» в конфигурационных файлах. А вот Asterisk GUI реально изменяет традиционные конфигурационные файлы Asterisk, то есть изменения, вносимые в GUI, и изменения, вносимые в сами файлы, могут сосуществовать и даже передаваться туда и обратно. Например, если изменить ID вызывающего абонента в файле users.conf и обновить GUI, изменения можно будет увидеть и в GUI. Аналогично, если внести изменения в GUI и перезагрузить файл, изменения

будут отражены и в нем. Если добавить новые настройки, не представленные в GUI (например, ввести nat=yes в конкретную запись в файле users.conf) и затем изменить ID вызывающего абонента в GUI, вы увидите, что строка nat=yes сохранится в файле даже несмотря на то, что произойдет изменение ID вызывающего абонента. Комментарии тоже обычно сохраняются при редактировании через GUI. Это не только означает, что GUI больше не должен отображать все возможные конфигурации, поскольку наиболее специфичные из них могут быть заданы вручную. Это также означает, что, если кто- то начнет с использования Asterisk GUI, а затем выйдет за его рамки, он вполне естественным образом сможет создавать более сложные функции, не отказываясь от уже ставшего привычным GUI.

Использование GUI

При первой регистрации во вновь созданном GUI система активирует Мастер настройки, который позволяет настроить основные элементы системы телефонной связи.

GUI может не суметь определить все типы интерфейсов TDM и в результате сообщит, что не находит определенные платы, даже несмотря на то, что они установлены. Предполагается, что со временем GUI научится определять любые платы, использующие интерфейс Zaptel, и работать с ними, но эта функциональность обещает быть сложной и на данный момент находится на этапе разработки.

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

Элементы GUI

Стандартный GUI, который поставляется с AsteriskNOW (или который можно скачать через SVN), имеет стандартный набор элементов. Эти элементы представляют собой то, что может присутствовать в типовой малой офисной АТС. В настоящее время в меню представлены следующие элементы:

• Users (Абоненты).

• Conferencing (Конференц-связь).

• Voicemail (Голосовая почта).

• Call Queues (Очереди звонков).

• Service Providers (Поставщики сервисов).

• Calling Rules (Правила вызова).

• Incoming Calls (Входящие звонки).

• Voice Menus (Голосовые меню).

• Record a Menu (Запись в меню).

• Active Channels (Активные каналы).

• Graphs (Диаграммы).

• System Info (Сведения о системе).

• Backup (Создание резервной копии).

• Options (Опции).

Архитектура Asterisk GUI

Прежде чем углубляться в изучение (или разработку собственного) Asterisk GUI, важно понимать, как реализуется поток данных между клиентом (веб-броузером) и Asterisk. Поскольку эти интерфейсы являются Ajax-приложениями, многое в них не вполне понятно. Поток управления проходит примерно так:

• Броузер переходит по URL вашего приложения управления.

• Веб-сервер Asterisk отправляет броузеру HTML-страницу, библиотеки и само приложение (которое написано на JavaScript и активно использует Ajax).

• Пользователь взаимодействует с броузером; по мере необходимости приложение JavaScript присылает команды назад веб-серверу. Эти команды, представленные в форме URL, запрашивают некоторое действие от самого сервера Asterisk.

• Веб-сервер интерпретирует эти URL. Если пользователь прошел регистрацию успешно, он посылает команду (действие) Asterisk через Asterisk Manager Interface (AMI), описанный в главе 10.

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

• Веб-сервер возвращает ответ Asterisk JavaScript-приложению, выполняющемуся в броузере.

• JavaScript-приложение обновляет окно броузера.

Несмотря на то что на первый взгляд это может показаться несколько сложным, не пугайтесь. Это очень гибкая и мощная архитектура, которая может использоваться для разнообразнейших приложений, а не только для Asterisk GUI. Однако сейчас сосредоточимся на совершенствовании Asterisk GUI. Начнем с настройки базовых частей и затем перейдем к установке и изменению Asterisk GUI.

Компоненты Asterisk GUI

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

Asterisk Manager Interface

Как рассказывалось в главе 10, Asterisk Manager Interface обеспечивает возможность внешним программам управлять Asterisk. Интерфейс Manager - это сердце Asterisk GUI, поскольку он выполняет всю тяжелую работу.

Команды Manager по HTTP и веб-сервер Asterisk

Веб-сервер, встроенный в Asterisk, позволяет передавать команды интерфейса Manager в Asterisk по HTTP, а не подключаться непосредственно к интерфейсу Manager. Это намного упрощает для веб-приложения задачу по передаче команд AMI в Asterisk с использованием Asynchronous JavaScript Asterisk Manager (AJAM), что мы вскоре рассмотрим. Веб-сервер также можно конфигурировать на обслуживание статического содержимого, такого как HTML-файлы и изображения1.

AJAM и JavaScript

Инфраструктура AJAM использует JavaScript и XML для асинхронной отправки команд в Asterisk и обновления информации, отображаемой в веб-броузере.

Установка Asterisk GUI

Если у вас не установлен AsteriskNOW, необходимо скачать и установить файлы Asterisk GUI. После загрузки эти файлы просто компилируются и устанавливаются как часть Asterisk.

Для использования Asterisk GUI необходима Asterisk версии 1.4 или более поздней.

Самую последнюю версию файлов GUI можно найти в хранилище Subversion компании Digium2. Если на вашем компьютере установлено Subversion, код GUI можно загрузить, используя следующую команду:

Возможно, вы спрашиваете себя: «Почему веб-сервер встроен в Asterisk? Почему бы просто не использовать внешний веб-сервер?» Внешний веб-сервер может использоваться для обслуживания Asterisk GUI, но это выходит за рамки рассмотрения данной главы, поскольку модель безопасности, лежащая в основе Ajax, разрешает Ajax направлять запросы только к тому домену, порту и по тому протоколу, по которым поступила HTML-страница. Обычно такое поведение называют политикой единства происхождения. В настоящее время нет способа загрузить GUI через FTP. Эта ситуация может измениться в любой момент, поэтому не стесняйтесь и свободно проверяйте, не появилась ли обновленная информация на веб-сайте Asterisk.

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