Интеграция с телефонией

Материал из Меасофт
Версия от 10:26, 13 августа 2015; Johny (обсуждение | вклад) (Интеграция мобильного приложения)
Перейти к: навигация, поиск

Интеграция мобильного приложения

Для чего это нужно: использование звонков через корпоративную телефонию позволяет снизить расходы на мобильную связь, организовать централизованную запись, учет и контроль совершаемых вызовов.

Для осуществления звонков из мобильного приложения через сервер телефонии Asterisk используется подключение через AMI.

Включите AMI, задайте адреса, с которых можно получить к нему доступ в файле /etc/asterisk/manager.conf

Создайте пользователя - обычно это делается в файлах /etc/asterisk/manager_custom.conf или /etc/asterisk/manager.conf

Откройте порт в файерволе (обычно 5038, прописывается в /etc/asterisk/manager.conf) (на всякий случай Вам в помощь). Все подключения от клиентов на андроиде происходят с одного IP-адреса: 46.30.41.46, так что смело "зажимайте" только на него - этого требует безопасность. Осторожно! AMI - вещь достаточно дырявая, и открытие порта на весь мир очень опасно. Тем более что через эту функцию можно за ваш счет соединить 2 произвольных номера.

Пропишите настройки подключения здесь: https://home.courierexe.ru/extraclient/sip

  • Адрес сервера - IP или доменное имя. Предполагается, что у сервера Asterisk, естественно, статичный внешний IP или проброшен порт AMI, иначе ничего работать не будет.
  • Порт сервера - На каком порту находится AMI
  • Имя пользователя - Логин AMI, созданный в manager.conf (или manager_custom.conf)
  • Пароль - пароль пользователя.
  • Канал - канал, через который должен происходить звонок. Обычно выглядит как "SIP/trunk_name", где trunk_name - название транка, прописанного, обычно, в файле /etc/asterisk/sip.conf
  • Контекст - Контекст обработки запроса. Обычно настраиваются в диалплане в файле /etc/asterisk/extensions.conf
  • Внутренний телефон офиса - Внутренний номер, на который приходит звонок, при выборе "Позвонить в офис". Рекомендуется в настройках Asterisk сделать этот номер - номером группы менеджеров.
  • Городской телефон офиса - Внешний номер телефона офиса. Приложение будет звонить по сотовой сети на этот номер в случае, если не удалось послать запрос на соединение с офисом в Asterisk. Заполните это поле, даже если не вы не интегрируете приложение с телефонией, это позволит курьерам совершать звонки в офис из приложения!

Сохраните настройку, и проверьте ее работоспособность, введя 2 телефона, и нажав кнопку "Тест". Система должна отправить запрос на Asterisk, и он должен позвонить сначала на первый телефон, потом, после поднятия трубки, идет вызов на второй номер, и происходит их коммутация. К сожалению, на этом уровне наша система может "поймать" и отобразить только ошибки подключения к AMI, т.е. ошибочный адрес сервера и/или неверный/закрытый порт. В случае неверного указания остальных данных, включая логин и пароль, система "подумает", что все прошло гладко, запрос она сформировала и на сервер отправила. В случае, если все хорошо - вы получите телефонный звонок. Если же этого не произошло - проверьте все введенные данные, попробуйте посмотреть что происходит в астериске - команда "asterisk -r".

При осуществлении вызова сервер приложения посылает на Asterisk AMI-запрос вида:

 Action: login
 Events: on
 Username: $USERNAME
 Secret: $PASSWORD
 
 Action: originate
 Channel: $CHANEL/$CALL-FROM-NUMBER
 WaitTime: 30
 CallerId: 
 Exten: $CALL-TO-NUMBER
 Context: $CONTEXT
 Priority: 1
 
 Action: Logoff

Как Вы уже заметили, данная настройка подразумевает наличие глубоких знаний в области администрирования asterisk-сервера, поэтому, убедительная просьба: если Вы ими не обладаете, прежде чем звонить нам и просить помощи, обратитесь к специалисту, поддерживающему вашу телефонию, покажите ему данное руководство. С очень большой вероятностью ему все будет понятно, и он все настроит за 30 минут. Наша служба технической поддержки не обладает достаточной квалификацией в данной области, и, скорее всего, мы не сможем оказать вам поддержку в этом вопросе.

Интеграция системы с телефонным сервером

А тут будет инструкция, как подключить офисную систему к астеру