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

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

Жанры

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

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.

Передача команд интерфейса Manager по HTTP

Asterisk GUI формирует команды для Asterisk, вызывая специально созданные URL на веб-сервере Asterisk. В этом разделе представлены примеры некоторых обычно используемых команд (действий) и соответствующие ответы веб-сервера. Эти URL AMI имеют следующую общую структуру:

http://hostname:8088/asterisk/rawman9action=KOMaHfla&.. . .пары параметр=значение... http://hostname:8088/asterisk/manager?action=KOMaHfla&. ...пары параметр=значение... http://hostname:8088/asterisk/mxml9action=KOMaHfla&... .пары параметр=значение.. .

Разница между URL rawman, manager и mxml важна. Веб-сервер экспортирует три разных представления интерфейса AMI. Если используется URL rawman, сервер возвращает в HTTP-ответе последовательность пар ключевое слово/значение. Если используется URL manager, сервер возвращает результат в HTML-формате. Аналогично, если используется URL mxml, сервер возвращает результаты в XML-формате. Для современных приложений в стиле Ajax формы rawman и mxml, пожалуй, более полезны [108] .

108

По той же причине людям намного проще использовать для отладки форму

manager.

Действия с параметрами, которые могут быть переданы на сервер, являются обычными командами интерфейса управления, описываемыми в приложении F. Обратите внимание: действия LOGIN и CHALLENGE уникальны тем, что посылаются не непосредственно в Asterisk, а обрабатываются интерфейсом Manager для аутентификации пользователя. Если пользователь не прошел аутентификацию, сервер не передает действие на обработку в Asterisk, а возвращает ошибку.

Ознакомимся с некоторыми широко используемыми действиями и рассмотрим, как их

можно использовать для управления сервером.

LOGIN

Команда LOGIN аутентифицирует учетные данные для доступа к HTML- представлению интерфейса Manager. Как только вы зарегистрировались, Asterisk сохраняет в вашем броузере объект cookie (который действителен в течение времени, заданного настройкой httptimeout). Этот cookie используется для подключения к одному и тому же сеансу. URL

http://localhost:8088/asterisk/rawman?action=login&username= asterisk_http &secret=gooey

отправляет на веб-сервер команду на регистрацию, которая включает учетные данные. Если регистрация прошла успешно, сервер отвечает следующим образом:

Response: Success

Message: Authentication accepted

Это, конечно, очень упрощенное представление принципа работы регистрации. Отправка имени пользователя и пароля в URL является плохой практикой, хотя и очень полезной при формировании GUI. Более подходящим способом реализации регистрации и примером более сложной обработки команды является использование последовательности запрос/ответ. Сформируйте такой запрос:

http://localhost:8088/ asterisk / rawman? action=challenge&AuthType=md5

Команда CHALLENGE запускает последовательность запрос/ответ, которая может использоваться для регистрации пользователя. Сервер отвечает, отправляя запрос (произвольную строку) в ответе:

Response: Success Challenge: 113543555

Ваше приложение отвечает на запрос, вычисляя хеш MD5 запроса, конкатенированного с паролем пользователя. Вот как пользователь может вручную вычислить хеш MD5:

# echo -n 113543555gooey | md5sum

50a0f43ad4c9d99a39f1061cf7301d9a -После этого вычисленный хеш может использоваться как ключ регистрации в URL:

http://localhost:8088/asterisk/rawman?action=login&username=asterisk_ http&authtype=md5&key=50a0f43ad4c9d99a39f1061cf7301d9a

В целях безопасности регистрация должна произойти в течение пяти секунд после запроса. Также обратите внимание: чтобы система запрос/ответ работала, в броузере должен быть активирован прием объектов cookie, поскольку именно cookie гарантирует, что действие регистрации использует тот же ID сеанса интерфейса управления, что и действие запроса.

Если для запроса используется URL manager (а не rawman), ответ будет получен в формате HTML:

<title>Asterisk&trade; Manager Interface</title> <body bgcolor="#ffffff">

<table align=center bgcolor="#f1f1f1" width="500"> <tr><td colspan="2" bgcolor="#f1f1ff"><h1>&nbsp;&nbsp;Manager Tester</h1></td> </tr>

<tr><td>Response</td><td>Success</td></tr>

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

Идеальный мир для Лекаря 21

Сапфир Олег
21. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 21

Книга пяти колец. Том 4

Зайцев Константин
4. Книга пяти колец
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Книга пяти колец. Том 4

Не отпускаю

Шагаева Наталья
Любовные романы:
современные любовные романы
эро литература
8.44
рейтинг книги
Не отпускаю

Брак по-драконьи

Ардова Алиса
Фантастика:
фэнтези
8.60
рейтинг книги
Брак по-драконьи

Князь

Мазин Александр Владимирович
3. Варяг
Фантастика:
альтернативная история
9.15
рейтинг книги
Князь

Столичный доктор

Вязовский Алексей
1. Столичный доктор
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Столичный доктор

Камень. Книга 4

Минин Станислав
4. Камень
Фантастика:
боевая фантастика
7.77
рейтинг книги
Камень. Книга 4

Темный Охотник 2

Розальев Андрей
2. Темный охотник
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Темный Охотник 2

Измена. Не прощу

Леманн Анастасия
1. Измены
Любовные романы:
современные любовные романы
4.00
рейтинг книги
Измена. Не прощу

Перерождение

Жгулёв Пётр Николаевич
9. Real-Rpg
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Перерождение

Право налево

Зика Натаэль
Любовные романы:
современные любовные романы
8.38
рейтинг книги
Право налево

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Барон меняет правила

Ренгач Евгений
2. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон меняет правила

Мастер 7

Чащин Валерий
7. Мастер
Фантастика:
фэнтези
боевая фантастика
попаданцы
технофэнтези
аниме
5.00
рейтинг книги
Мастер 7