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

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

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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 72 73 74 75 76 77 78 79 80 ... 157
Перейти на страницу:

Мастер настройки одну за другой предлагает некоторые базовые опции, такие как длина добавочного номера или правила набора. Мы не собираемся углубляться в детали того, как работает стандартный 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.

# cd /usr/src # или любая папка, в которую вы хотите загрузить исходный код

# svn co http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui

Установить GUI очень просто:

# cd asterisk-gui

# ./configure

# make

# make install

# make samples

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

Настройка httpd.conf и manager.conf

Конфигурация веб-сервера Asterisk для обработки запросов AJAM включает несколько простых шагов. В файл /etc/asterisk/http.conf необходимо добавить (или раскомментировать) следующее:

[general] enabled=yes

enablestatic=yes ; без этого вы можете только посылать команды AMI, ; но не отображать html-содержимое

bindaddr=0.0.0.0 ; адрес, на который HTTP-сервер Asterisk должен отвечать bind po rt=8088 ; порт, по которому HTTP-сервер Asterisk должен отвечать prefix=asterisk ; будет формировать часть URI, соответствующую имени папки

Теперь, когда httpd.conf настроен, можно передать содержимое в броузер. Чтобы веб-клиент мог посылать команды в Asterisk, необходимо внести некоторые изменения в Asterisk Manager Interface (AMI). Для этого добавим несколько строк в раздел [general] файла manager.conf и учетную запись пользователя с набором разрешений config. Откроем файл manager.conf и отредактируем его следующим образом: [general]

enabled=yes ; возможно, AMI уже активирован, если используется для других целей webenabled=yes ; это активирует взаимодействие между веб-сервером Asterisk и AMI

[asterisk_http] ; пользователю может быть присвоено любое имя secret = gooey

read = system,call,log,verbose,command,agent,user,config write = system,call,log,verbose,command,agent,user,config

Сохраните изменения и перезапустите Asterisk. У вас должно получиться подключиться в веб-серверу Asterisk посредством следующего URI:

http://localhost:8088/asterisk/static/ajamdemo.html Если по какой-то причине возникли проблемы с переходом на демонстрационную страницу, вернитесь в папку исходного кода asterisk-gui и выполните команду

# make checkconfig

Вот и все! Asterisk теперь поддерживает веб-доступ. Пора переходить к реальной разработке с использованием Asterisk GUI.

Формирование Asterisk GUI

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

1 ... 72 73 74 75 76 77 78 79 80 ... 157
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Asterisk™: будущее телефонии Второе издание - Меггелен Джим Ван.
Комментарии