Asterisk. Интеграция
Программа курса
Цель курса
Изучить интерфейсы и варианты интеграции Asterisk с внешними системами
Модуль 0. Подготовка стенда в классе
Узнать свой номер стенда
Удалить виртуалки
Удалить профили putty
Отключить не используемые адаптеры
Записать логин пароль и IP (сообщить преподавателю) рабочей станции
Проверить наличие дистрибутивов и образов
Модуль 1. Развертывание компьютерной и телефонной сети предприятия
Теория
Базовая схема компьютерной сети предприятия
Базовая схема телефонии предприятия
Схема информационных систем предприятия
Лабораторные работы
Упражнение 1.1. Настройка сервера Asterisk, sip каналов и базового диалплана
Модуль 2. Интеграция с реляционными базами данных
Теория
Лабораторные работы
Упражнение 2.1. Развертывание сервера СУБД MySQL
Упражнение 2.2. Подключение Asterisk к СУБД и хранение CDR в БД
Упражнение 2.3. Хранение конфигурации Asterisk в БД
[root@gate.isp.un:~]# cat exten_secret_proxy_mac_model_table.txt
Упражнение 2.4. Использование WEB приложений для работы с базами данных Asterisk
Упражнение 2.5. Примеры работы с БД из диалплана
Вопросы
Какие имеются способы управления модулями/функциональностью астериск
В чем преимущества использования интерфейса ODBC?
В какие внешние системы может передавать Asterisk данные CDR?
Модуль 3. Интеграция с системой синтеза речи Festival
Теория
Лабораторные работы
Упражнение 3.1. Развертывание сервиса Festival
Упражнение 3.2. Варианты использования Festival в Asterisk
Вопросы
Модуль 4. Интеграция с системами электронной почты
Теория
Лабораторные работы
Упражнение 4.1. Развертывание почтового сервера предприятия
Упражнение 4.2. Размещение голосовой почты на почтовом сервере
Создать ящик для пользователя 403 в формате imap
Вопросы
Вопросы
Модуль 5. Интеграция c web приложениями
Теория
Лабораторные работы
Упражнение 5.1. Развертывание WEB сервера предприятия
Упражнение 5.2. Реализация функции "обратный звонок" для посетителей Вашего сайта
Упражнение 5.3. Предоставляем операторам возможность звонить, указав номер абонента в форме на сайте
/*
*/
...
<Directory /var/www/html/asterisk>
Options +ExecCGI
AddHandler cgi-script .cgi
...
# cp /usr/lib/cgi-bin/test-cgi /var/www/html/asterisk/test.cgi
Упражнение 5.4. Размещение адресной книги предприятия в WEB портале с возможностью позвонить одним нажатием
Упражнение 5.5. Использование WebRTC
Вопросы
Модуль 6. Использование приложений System и SHELL
Теория
Лабораторные работы
Упражнение 6.1. Примеры вызова внешних приложений из Asterisk
Упражнение 6.2. Интеграция с биллинговыми системами
Развертывание RADIUS сервера
при первой демонстрации radutmp не включать
*/ примечание
Упражнение 6.3. Предоплатная тарификация с использованием RADIUS
Вопросы
Модуль 7. Интеграция с системами IM и Presense
Теория
Лабораторные работы
Упражнение 7.1. Поддержка протокола XMPP в Asterisk
Сценарий: уведомляем пользователей о звонке (и кто звонит) на их телефон через xmpp клиент (удобно для пользователей телефонов без дисплеев), управляем вызовом согласно статусу присутствия абонента.
Вопросы
Модуль 8. Интеграция с Microsoft AD и LDAP
Теория
Лабораторные работы
Упражнение 8.1. Развертывание инфраструктуры Microsoft AD на предприятии
Упражнение 8.2. Конфигурация Asterisk на основании информации в Microsoft AD
Упражнение 8.3. Управление Asterisk через интерфейс AMI
См. /*
Эту работу демонстрирует преподаватель на готовом стенде после темы AD (заодно с LDAP и SSO)
*/
примечание
Вопросы
Модуль 9. Интеграция с системами CRM
Теория
Лабораторные работы
Упражнение 9.1. Примеры приложений с AGI интерфейсом
Упражнение 9.2. Развертывание CRM системы предприятия
Упражнение 9.3. Развертывание модуля интеграции системы CRM и Asterisk
Вопросы
Модуль 10. Asterisk REST интерфейс
Теория
Лабораторные работы
Упражнение 10.1. Включение и тестирование ARI
Упражнение 10.2. Варианты использования ARI
Сценарий: Реализовать возможность вызова абонента “щелчком” из адресной книги на web сайте
# cat /var/www/html/index.html
<html>
Тестовый звонок 301<br>
Проверка гарнитуры 311<br>
Петр Петрович Петров 402<br>
</html>
# cat /var/www/html/asterisk/index.shtml
<form method=POST action="http://server.corpX.un:8088/ari/channels?endpoint=SIP%2F<!--#echo var="REMOTE_USER" -->&extension=301&context=default&timeout=30&api_key=asterisk:asterisk"><input value="301" type=submit></form>
<form method=POST action="http://server.corpX.un:8088/ari/channels?endpoint=SIP%2F<!--#echo var="REMOTE_USER" -->&extension=401&context=default&timeout=30&api_key=asterisk:asterisk"><input value="401" type=submit></form>
<form method=POST action="http://server.corpX.un:8088/ari/channels?endpoint=SIP%2F<!--#echo var="REMOTE_USER" -->&extension=402&context=default&timeout=30&api_key=asterisk:asterisk"><input value="402" type=submit></form>
<form method=POST action="http://server.corpX.un:8088/ari/channels?endpoint=SIP%2F<!--#echo var="REMOTE_USER" -->&extension=402&context=default&timeout=30&api_key=asterisk:asterisk"><input value="403" type=submit></form>
Упражнение 10.3. Варианты приложения Stasis
Вопросы