1452
правки
Изменения
→Интеграция мобильного приложения
MeaSoft интегрируется с Asterisk — это самый популярный телефонный сервер, который не заменяет телефонную компанию, а дополняет ее.
Как это работает: вы в телефонной компании берете линии связи (номера телефонов, каналы и т. д.), можете одновременно брать разные каналы в разных компаниях (с разными тарифами, из разных регионов и т.д), можете добавлять свои, например GSM-шлюзы для экономии на звонках с помощью безлимитных или безлимитных внутри сети SIM-карт. Эти линии заводятся в сервер Asterisk, к нему подключаются ваши телефоны, он программируется — откуда куда какие линии должны быть задействованы. К нему же подключается MeaSoft, причем отдельно офисная система и курьерское приложение.
Что вы получаете:
В офисе:
* операторы звонят просто кнопкой из программы;
* журнал звонков прямо в программе, с привязкой к заказам, клиентам, вашим сотрудникам. Можно подключить записи разговоров;
* при входящем звонке программа показывает оператору, кто звонит: определяет по базе клиента (вплоть до конкретного сотрудника), курьера или получателя;
* отслеживание звонков курьеров с привязкой к заказам. Можно подключить записи разговоров;
* экономия: вы можете подключить телефоны всех ваших офисов (в том числе в разных городах) к одному серверу, и связь между ними будет бесплатной. Вы можете делать исходящие звонки через GSM-шлюзы, можете подключить номера из разных регионов, и все филиалы будут звонить в эти регионы через эти линии по локальным тарифам;
* снижение нагрузки на операторов: вы можете настроить Asterisk так, чтобы, например, он направлял звонки от клиентов или курьеров не всем операторам, и их личным менеджерам (в том числе и на мобильный телефон).
У курьеров:
* экономия: звонок от курьера через телефонию делается так, что сервер курьеру перезванивает, для курьера звонок бесплатный. Для большей экономии можно использовать GSM-шлюзы, чтобы звонок шел через SIM-карту с бесплатной связью внутри оператора курьера;
* запись разговора курьера с получателем.
У получателей:
* солидность: звонок от курьера получателю можно отправлять с вашего основного городского номера, и у получателя будет определяться фирменный номер;
* снижение нагрузки на операторов: gомимо того, что система определяет кто звонит и подсказывает это оператору, Asterisk можно настроить так, чтобы он сразу маршрутизировал звонок на курьера, если звонит получатель, заказ которого находится на руках у курьера;
* отзывы: вы можете настроить сбор отзывов после звонка о работе операторов и курьеров, и мы можем настроить их получение прямо в систему с привязкой к заказу, курьеру и т. д., наравне со сбором отзывов о доставке через [[Личный кабинет курьерской службы#Сбор отзывов|веб-сервис]].
Безопасность:
* при базовом использовании, когда вы/курьеры можете звонить, система ведет журнал, и оператор видит уведомления о том, кто звонит, сервер телефонии и его администраторы не имеют доступа ни к каким данным системы. В сервер телефонии передаются только номера телефонов, на которые нужно позвонить, вся остальная информация о звонках идет из сервера телефонии к нашей системе;
* чтобы телефония могла маршрутизировать звонки на ответственных курьеров, менеджеров клиентов и т. д., ей нужно дать доступ к этой информации — как правило, это только номера телефонов клиентов, курьеров, менеджеров и связи между ними. Данные достаточно обезличенные, могут не включать в себя названия, имена, адреса и прочее.
Asterisk выступает посредником между вами и телефонной компанией. Им пользуются многие наши клиенты и мы сами. Это позволяет нашим операторам сразу сказать «Здравствуйте, Иван», если вы звоните со своего мобильного телефона.
Без интеграции с Asterisk при звонке из мобильного приложения фиксируется только факт попытки звонка. При этом нет ни записи разговора, ни его длительности, ни статуса: дозвонился или нет. Офисное приложение при нажатии кнопки звонка вызывает программу для звонков, установленную по умолчанию в Windows — это может быть программный телефон или Skype. О дальнейшей судьбе этой попытки позвонить мы также ничего не знаем.
== Где взять сервер? ==
Сам сервер можно арендовать в ДЦ или установить у себя в офисе. Установить на него телефонию, настроить под вас и сопровождать должны специалисты. Они же помогут и в выборе сервера. Рекомендовать можем проверенных нами админов из https://southbridge.io/, впрочем, на рынке их немало.
== Интеграция мобильного приложения ==
Для чего это нужноосуществления звонков из мобильного приложения через сервер телефонии [https: использование звонков //ru.wikipedia.org/wiki/Asterisk Asterisk] используется подключение через корпоративную телефонию позволяет снизить расходы на мобильную связь[http://asteriskpbx.ru/display/Asterisk/Asterisk+Managment+Interface+%28AMI%29 AMI]. Включите AMI, организовать централизованную записьзадайте адреса, учет и контроль совершаемых вызововс которых можно получить к нему доступ в файле /etc/asterisk/manager.conf. Создайте пользователя, обычно это делается в файлах /etc/asterisk/manager_custom.conf или /etc/asterisk/manager.conf.
'''Обратите вниманиеПримечание''': для . Для успешных звонков из мобильного приложения, в карточке курьера должен быть введен номер мобильного телефона в соответствующее поле!.
При осуществлении вызова сервер приложения посылает на Asterisk AMI-запрос вида:
Action: login
Username: $USERNAME
Secret: $PASSWORD
Channel: $CHANEL/$CALL-FROM-NUMBER
WaitTime: 30
CallerId: 0
Exten: $CALL-TO-NUMBER
Context: $CONTEXT
Action: Logoff
$CALL-FROM-NUMBER и $CALL-TO-NUMBER нормируются, и приводятся к международному формату +7ХХХХХХХХХХ (для России и Казахстана). Для других стран, возможно, тестирование не проводилось, в случае проблем - обращайтесь, будем изучать форматирование номеров в конкретной стране.
== Интеграция системы с телефонным сервером ==
Интеграция офисной системы с телефонией позволяет упростить работу операторов Asterisk происходит аналогично курьерской (см. выше) с той разницей, что запросы на Asterisk идут не с единого сервера, а непосредственно с пользовательских рабочих мест, поэтому файервол на сервере телефонии нужно настраивать соответственно. Параметры подключения нужно вводить в разделе '''Справочники''' > '''Переменные''' > '''Подключения''' -> '''Asterisk'''. В карточках пользователей '''Настройка''' > '''Пользователи''' введите внутренние номера абонентов. У пользователя может быть несколько номеров, перечисленных через запятую. При нажатии на кнопку '''Позвонить''' программа будет соединять первый телефон из списка. При входящих звонках будет показывать сообщение при звонке на любой из номеров в списке. == Обратные запросы от Asterisk ==Если серверу телефонии нужно получить данные из БД при входящем звонке, он напрямую подключается к MySQL, база данных courier. Приведем наиболее популярные задачи и их решения: * Звонит получатель, нужно его соединить с курьером, у которого находится его заказ. Это особенно актуально, если мобильное приложение курьера звонит через офисную телефонию, у получателя определяется номер телефона офиса, и администраторов компаниион перезванивает. Запрос ниже выдает сразу номер телефона курьера, с которым нужно соединить. SELECT k.code, k.name, k.`phonem`, k.`phonek` FROM contacts c JOIN givn g ON g.address=c.Source JOIN kurier k ON k.code=g.`kurier` WHERE c.SourceCodeType=3 /*Контакты именно получателей*/ AND g.State=1 /*Статус "На руках у курьера"*/ AND c.VALUE='79161234567' /*Вот тут нормированный телефон звонящего ИМЕННО в таком формате*/ * Звонит курьер, нужно его соединить с менеджером. Запрос вернет внутренний номер менеджера курьера: набор номера одной кнопкой SELECT k.code, k.name, u.extPhone AS managerext FROM contacts c JOIN kurier k ON k.code=c.Source JOIN users u ON u.`user`=k.`manager` WHERE c.SourceCodeType=1 /*Контакты именно курьеров*/ AND c.VALUE='79161234567' /*Вот тут нормированный телефон звонящего ИМЕННО в таком формате*/ * Звонит клиент, нужно его соединить с менеджером. Запрос вернет внутренний номер менеджера клиента, а также статус клиента. Запрос очень упрощен. По-хорошему надо в первую очередь смотреть контакты, не столько привязанные к клиентам, сколько к их контактным лицам (таблица fio, код 39). SELECT k.code, k.company, u.extPhone AS managerext, c.State FROM contacts c JOIN clients k ON k.code=c.Source LEFT JOIN users u ON u.`user`=k.`manager` WHERE c.SourceCodeType=2 /*Контакты именно клиентов*/ AND c.VALUE='79161234567' /*Вот тут нормированный телефон звонящего ИМЕННО в таком формате*/ * Определить просто отправление из программытех, автоматическое определение компании что в работе. Возвращает данные отправления, заказа и ФИО клиента: SELECT * FROM contacts c JOIN address a on a.code=c.Source join zakaz b on a.zakaz=b.code join clients k on k.code=b.source WHERE c.SourceCodeType=3 /*Контакты именно получателей*/ AND a.date_put is null /*Заказ в работе, ведение журнала звонковне закрытый*/ AND c.VALUE='79161234567' /*Вот тут нормированный телефон звонящего ИМЕННО в таком формате*/