Вход/Регистрация
Asterisk™: будущее телефонии Второе издание
вернуться

Меггелен Джим Ван

Шрифт:

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>

<tr><td>Challenge</td><td>113543555</td></tr>

</table>

</body>

Аналогично, если используется представление mxml, будет получен ответ в формате XML:

<Ajax-response>

<response type='object' id='unknown'>

<generic response='Success' challenge='113543555' /> </response> </Ajax-response>

Кроме формата, эти три типа ответов больше ничем не отличаются. Для большинства приложений в подобной ситуации, когда нет необходимости отображать HTML-страницу пользователю, извлечь запрос из пар ключевое слово/значение будет намного проще, чем использовать

rawman или mxml.

Передача вызова

Действие REDIRECT может использоваться для передачи вызова. Просто сформируйте такой URL:

http://localhost:8088/ asterisk / rawman? action=redirect&channel=SIP / John-ae201e78&priority=1&exten=6001

Этот URL передает заданный канал в другой добавочный номер и приоритет диалплана. Ответ на это действие такой:

Response: Success Message: Redirect Successful

Чтение конфигурационного файла

Команда GETCONFIG возвращает содержимое конфигурационного файла или его часть. HTTP-запрос

http://localhost:8088/asterisk/rawman?action=getconfig&filename= users.conf

возвращает содержимое файла users.conf. Asterisk GUI использует эту функциональность для представления текущей конфигурации Asterisk конечному пользователю. Ответ выглядит следующим образом:

Response: Success

Category-000000: general Line-000000-000000: fullname=New User Line-000000-000001: userbase=6000 Line-000000-000002: hasvoicemail=yes Line-000000-000003: hassip=yes Line-000000-000004: hasiax=yes Line-000000-000005: hasmanager=no

Line-000000-000006: callwaiting=yesLine-000000-000006: callwaiting=yes
Line-000000-000007: threewaycalling=yes
Line-000000-000008: callwaitingcallerid=yes Line-000000-000009: transfer=yes
Line-000000-000010: canpark=yes
Line-000000-000011: cancallforward=yes
Line-000000-000012: callreturn=yes
Line-000000-000013: callgroup=1
Line-000000-000014: pickupgroup=1
Line-000000-000015: host=dynamic
Category-000001: 6007
Line-000001-000000: fullname=Bill Savage
Line-000001-000001: secret=1234
Line-000001-000002: email=bsavage@digium.com
Line-000001-000003: cid_number=6001
Line-000001-000004: zapchan=
Line-000001-000005: context=numberplan-custom-1
Line-000001-000006: hasvoicemail=yes
Line-000001-000007: hasdirectory=no
Line-000001-000008: hassip=yes
Line-000001-000009: hasiax=yes
Line-000001-000010: hasmanager=no
Line-000001-000011: callwaiting=yes
Line-000001-000012: threewaycalling=yes
Line-000001-000013: mailbox=6007
Line-000001-000014: hasagent=yes
Line-000001-000015: group=
  • Читать дальше
  • 1
  • ...
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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