====== Часть 2. Интеграция Asterisk с решениями IM и Presence ====== * [[https://youtu.be/uG87UYMA3FU|Запись вебинара]] **Семинар** - реклама курса: [[https://www.specialist.ru/course/asterisk3|Asterisk. Уровень 2. Интеграция с внешними системами]] **Хэштеги:** Linux & Microsoft CA, Asterisk & Microsoft AD, Любые телефонные аппараты, Спасите Asterisk IM ===== Шаг 1. Исходное состояние стенда ===== * [[Открытое решение IM и Presence в инфраструктуре Microsoft AD]] * [[Материалы по Windows#Установка русского Language pack в Windows Server 2016]] * server RAM 2Gb и установлен [[Сервис Festival]] ===== Шаг 2. Установка Asterisk и настройка модуля XMPP ===== * [[Сервис Asterisk#Установка]] * Базовая конфигурация и использование модуля [[Сервис Asterisk#XMPP]] [public] exten => _X!,1,Answer() exten => _X!,n,JabberSend(aster,user1@corp13.un,Ivan, hello ${EXTEN} times) exten => _X!,n,JabberSend(aster,user2@corp13.un,Petr, hello ${EXTEN} times) exten => _X!,n,Hangup() ===== Шаг 3. Интеграция Asterisk с Microsoft AD ===== конфигурация pjsip из LDAP Microsoft AD * [[Авторизация с использованием LDAP сервера]] * Назначаем номера телефонов и адреса email пользователям в AD * Проверяем возможность выгружать информацию о телефонах и адресах электронной почты пользователей АД по протоколу LDAP server# LDAPTLS_REQCERT=never ldapsearch -x -D "cn=Administrator,cn=Users,dc=corp13,dc=un" -w 'Pa$$w0rd' -H ldaps://pdc.corp13.un -b "dc=corp13,dc=un" "(telephoneNumber=4*)" cn telephoneNumber mail * Экспортируем корневой сертификат УЦ ([[Материалы по Windows#Windows CA для Linux сервисов]]) * [[Пакет OpenSSL#Импорт сертификата центра сертификации]] в Linux * Выгружаем из AD информацию, необходимую для конфигурации Asterisk server# ldapsearch -x -D "cn=Administrator,cn=Users,dc=corp13,dc=un" -w 'Pa$$w0rd' -H ldaps://pdc.corp13.un -b "dc=corp13,dc=un" "(telephoneNumber=4*)" cn telephoneNumber mail * [[Сервис Asterisk#Настройка PJSIP транспорта]] * Назначаем ФИО пользователям в AD на русском * [[Сервис Asterisk#Интеграция с Microsoft AD и LDAP]] ===== Шаг 4. Интеграция плана нумерации и протокола XMPP ===== * Создаем группу group1 в AD, включаем всех xmpp пользователей (включая Administrator) * Настраиваем [[Сервис OpenFire#Управление контактами]] для возможности пользователей видеть статус друг друга # service openfire restart * Может понадобиться перелогиниться пользователям * Включаем tls для сервиса [[Сервис Asterisk#XMPP]] * [[Сервис Asterisk#Локализация сообщений Asterisk]] # service asterisk restart * Индикация, кто звонит абоненту (АОН) и анализ его статуса через протокол [[Сервис Asterisk#XMPP]] Бонус - добавляем систему синтеза речи Festival * Сервис Festival - [[Сервис Festival#Варианты использования в режиме server]] # cat /etc/asterisk/extensions.conf ... exten => _4XX,n(busy),Set(MY-CALLED-USER-NAME-PHONE=${PJSIP_ENDPOINT(${EXTEN},callerid)}) exten => _4XX,n,Set(MY-CALLED-USER-NAME=${CUT(MY-CALLED-USER-NAME-PHONE,\",2)}) exten => _4XX,n,Festival(${MY-CALLED-USER-NAME} занят) ===== Шаг 5. Спасите plugin Asterisk-IM ===== * Изменение статуса абонента если он ведет разговор по телефону * Звонок абоненту через IM клиент * [[https://www.igniterealtime.org/projects/openfire/|Openfire]] * [[https://www.igniterealtime.org/projects/asterisk/index.jsp|Asterisk-IM 1.1.1 Latest build: July 3, 2006]] * [[https://igniterealtime.jiveon.com/community/plugins/asterisk-im/|Asterisk-IM community]]