Table of Contents

Asterisk. Интеграция

Программа курса

Цель курса

Изучить интерфейсы и варианты интеграции Asterisk с внешними системами

Модуль 0. Подготовка стенда в классе

Модуль 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. Примеры работы с БД из диалплана

Вопросы

Модуль 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 портале с возможностью позвонить одним нажатием

См. модуль 10

Упражнение 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

Вопросы