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

на главную

Жанры

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

• 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 coasterisk-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]

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

Прометей: повелитель стали

Рави Ивар
3. Прометей
Фантастика:
фэнтези
7.05
рейтинг книги
Прометей: повелитель стали

Гром над Академией Часть 3

Машуков Тимур
4. Гром над миром
Фантастика:
фэнтези
5.25
рейтинг книги
Гром над Академией Часть 3

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Войны Наследников

Тарс Элиан
9. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Войны Наследников

Законы рода

Flow Ascold
1. Граф Берестьев
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Законы рода

«Три звезды» миллиардера. Отель для новобрачных

Тоцка Тала
2. Три звезды
Любовные романы:
современные любовные романы
7.50
рейтинг книги
«Три звезды» миллиардера. Отель для новобрачных

Мимик нового Мира 13

Северный Лис
12. Мимик!
Фантастика:
боевая фантастика
юмористическая фантастика
рпг
5.00
рейтинг книги
Мимик нового Мира 13

Месть за измену

Кофф Натализа
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Месть за измену

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Не грози Дубровскому! Том 11

Панарин Антон
11. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том 11

Наваждение генерала драконов

Лунёва Мария
3. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Наваждение генерала драконов

Огненный князь 4

Машуков Тимур
4. Багряный восход
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 4

Мужчина не моей мечты

Ардова Алиса
1. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.30
рейтинг книги
Мужчина не моей мечты

Золушка по имени Грейс

Ром Полина
Фантастика:
фэнтези
8.63
рейтинг книги
Золушка по имени Грейс