Схема работы мобильного приложения Neon
В данной статье описано:
- Как Приложение Neon получает настройки подключения к телефонии;
- Как Neon решает вопрос с «засыпанием» мобильного приложения (возможные схемы работы приложения);
- С какими частями экосистемы Neon и сервисами оператора связи взаимодействует мобильное приложение Neon;
- Как осуществляется регистрация мобильного Приложения на АТС, совершаются исходящие звонки и принимаются входящие звонки в схеме с отложенным INVITE;
- Как осуществляется регистрация мобильного Приложения на АТС, совершаются исходящие звонки и принимаются входящие звонки в схеме с сервером промежуточной регистрации.
Вход в Приложение и получение настроек подключения
Для работы приложению Neon необходимо получить данные (SIP реквизиты) для подключения к Платформе облачной АТС и ряд дополнительных настроек.
Для этого мобильное приложение Neon подключается к облачным сервисам Neon.
Перед описанием процесса авторизации предполагаем что:
- Администратор Neon создал пользователя в личном кабинете Neon и указал для него данные SIP учётной записи на Платформе облачной АТС;
- Администратор Neon
получил ссылку на Приложение в магазине приложений для смартфона пользователя и QR-код для активации приложенияи передал их пользователю; - Пользователь Neon
установил по ссылке Приложениеиз магазина приложений на свой телефон.
Общая схема подключения мобильного Приложения Neon для авторизации и получения настроек:
Опишем порядок действий, которые происходят при подключении мобильного Приложения Neon к облачным сервисам Neon для авторизации и получения настроек:
- Пользователь Neon открывает установленное на телефон Приложение Neon
и сканирует камеройQR-код для активации приложения. - Приложение извлекает из QR кода необходимые данные и отправляет их на
Сервер авторизации и PUSH уведомлений для мобильных устройств. - Сервер авторизации и PUSH уведомлений для мобильных устройств передаёт запрос авторизации в Панель управления версиями и пользователями.
- Панель управления извлекает из базы данных реквизиты SIP учётной записи и другие настройки приложения и передаёт их на Сервер авторизации и PUSH уведомлений для мобильных устройств.
- Сервер авторизации и PUSH уведомлений для мобильных устройств передаёт SIP реквизиты и настройки приложения в мобильное Приложение Neon.
После получения настроек мобильное приложение регистрируется на Платформе облачной АТС клиента или сервере промежуточной регистрации (в зависимости от выбранной схемы работы) для совершения и приёма звонков. В следующих разделах описано, как приложение совершает данные действия.
Общее описание схем работы мобильного приложения
Перед тем как переходить к описанию схемы работы мобильного приложения, необходимо понять, по какой причине десктопное и мобильное приложение работают по разным схемам.
Десктопное приложение Neon работает на компьютерах пользователей. Стоит сказать, что десктопные операционные системы (Windows, Linux, MacOS) достаточно лояльны к энергосбережению или ресурсам, потребляемым пользовательским ПО, а также к работе фоновых процессов приложений. Поэтому при работе десктопной версии приложения Neon не возникает каких-либо вопросов, связанных с доставкой звонков от АТС оператора в приложение Neon.
При корректной настройке SIP учетной записи и инфраструктуры, в которой работают пользователи, звонки поступают и совершаются без проблем.
В отличие от десктопных операционных систем мобильные платформы накладывают достаточно жёсткие ограничения на работу приложений: от приостановки или полной остановки работы приложения и его процессов в фоновом режиме, до полного запрета доступа в Internet для тех приложений, которые, по мнению Android или iOS, не нуждаются в нём в данный момент времени.
Это приводит к тому, что мобильное приложение Neon может потерять соединение с АТС оператора («заснуть»). Как следствие, SIP учетная запись, настроенная в приложении Neon, будет разрегистрирована на АТС. Описанная ситуация приводит к тому, что при поступлении входящего звонка на АТС оператора звонок не будет отправлен в приложение Neon.
Например, клиент пытается позвонить сотруднику компании, который использует мобильный софтфон. Софтфон «заснул», и сотрудник даже не знает, что ему звонят, а клиент слышит длинные или короткие гудки.
Описание подобных ситуаций вы можете достаточно часто видеть по запросам:
- приложение засыпает;
- приложение не работает в фоне;
- не поступают звонки на мобильный софтфон.
Для решения описанной ситуации мобильное Приложение Neon работает по одной из двух схем:
- Схема с отложенным INVITE: Приложение подключается непосредственно к Платформе облачной АТС. Перед отправкой входящего звонка в приложение Neon, Платформа облачной АТС отправляет
PUSH уведомлениев Приложение, сигнализируя телефону о скором поступлении звонка. После того, как Приложение Neon на смартфоне пользователя «проснется» и сообщит о готовности принять входящий звонок, Платформа облачной АТС отправляет звонок в Приложение Neon; - Схема с Сервером промежуточной регистрации(схема работы по умолчанию): приложение подключается к Серверу промежуточной регистрации, который подключается к
Платформе облачной АТСдля совершения и приёма звонков. Сервер промежуточной регистрации выступает в качестве посредника между мобильнымПриложениеми Платформой облачной АТС.
По умолчанию в демоверсии используется схема с Сервером промежуточной регистрации, расположенным в инфраструктуре Neon. Это сделано для того, чтобы вы могли максимально быстро настроить и протестировать мобильное приложение. Однако этот сервер предназначен исключительно для тестирования, поэтому для полноценного запуска продукта нужно переключиться на схему с отложенным INVITE (если ваша АТС поддерживает её) или развернуть свой собственный Сервер промежуточной регистрации.
Далее мы предлагаем ознакомиться с описанием возможных схем работы мобильного приложения Neon. Сравнение обеих схем, которое позволит выбрать наиболее подходящую вам, приведено после подробного описания всех схем работы в разделе Сравнение и выбор схем работы.
Схема работы мобильного приложения Neon с отложенным INVITE
В указанной схеме работы мобильное приложение Neon регистрируется на Платформе облачной АТС оператора связи и взаимодействует с ней по SIP протоколу в соответствии с RFC 3261.
Для гарантированной доставки входящих звонков в мобильное приложение Neon Платформа облачной АТС оператора взаимодействует с облачным Сервером авторизации и PUSH уведомлений для мобильных устройств. Платформа облачной АТС отправляет звонки в мобильное Приложение Neon тогда и только тогда, когда получает от указанного Сервера информацию о готовности мобильного приложения Neon принять входящий звонок.
Общая схема работы мобильного Приложения Neon с отложенным INVITE выглядит следующим образом:
Компоненты схемы:
- Приложение Neon
Установленный на смартфоне пользователясофтфонNeon. ПолучаетPUSH уведомленияс Сервера авторизации и PUSH уведомлений для мобильных устройств и отправляет в него свой статус. Подключается к Платформе облачной АТС для совершения и приёма звонков; - Сервер авторизации и PUSH уведомлений для мобильных устройств
Компонент экосистемы Neon. ОтправляетPUSH уведомленияна мобильное устройство пользователя и получает статус приложения для передачи на Платформу облачной АТС; - Платформа облачной АТС
Сервис, предоставляемый оператором связи. Позволяет принимать/совершать звонки с использованием протокола SIP. Отправляет запросы для отправки PUSH уведомлений на Сервер авторизации и PUSH уведомлений для мобильных устройств и получает в ответ Статус приложения для корректной отправки входящих звонков в Приложение Neon. Принимает подключения от Приложения Neon для осуществления входящих и исходящих звонков.
Опишем работу приложения в следующих сценариях:
- Регистрация на Платформе облачной АТС;
- Исходящий звонок;
- Входящий звонок.
Регистрация на Платформе облачной АТС
Схема регистрации Приложения Neon на платформе облачной АТС:
Опишем порядок действий, которые происходят после входа в Приложение для регистрации мобильного Приложения на Платформе облачной АТС.
- Приложение получило после входа настройки SIP учётной записи, а также настройки внешнего вида.
- Приложение подключается к Платформе облачной АТС с полученными реквизитами, отправляя SIP запрос REGISTER.
- Если данные SIP учётной записи указаны корректно, Платформа облачной АТС отправляет в ответ сообщение SIP/2.0 200 OK.
- Приложение успешно зарегистрировалось на Платформе облачной АТС и готово совершать исходящие звонки и принимать входящие звонки.
При регистрации на Платформе облачной АТС Приложение Neon осуществляет обмен SIP сообщениями с Платформой облачной АТС в соответствии с RFC 3261.
Исходящий звонок
Схема совершения исходящего звонка Приложением Neon:
Опишем порядок действий, которые происходят при совершении исходящего звонка в мобильном Приложении Neon. Для наглядности рассмотрим отвеченный исходящий звонок.
- Пользователь вводит номер телефона и начинает звонок.
- Приложение Neon отправляет на Платформу облачной АТС, на которой зарегистрирована учётная запись, запрос INVITE на совершение звонка на указанный номер.
- Платформа облачной АТС отправляет звонок на номер, который указал пользователь.
- Вторая сторона отвечает на звонок.
- Платформа облачной АТС отправляет в Приложение Neon ответ SIP/2.0 200 OK.
- Пользователь дозвонился до клиента, начинается обмен голосовыми данными между Приложением Neon и Платформой облачной АТС.
Пользователь поговорил с клиентом и завершил звонок. Исходящий звонок успешно завершён.
Приложение Neon для совершения исходящих звонков отправляет SIP сообщения на Платформу облачной АТС и обрабатывает ответы на них в соответствии с RFC 3261.
Входящий звонок
Схема получения входящего звонка приложением Neon:
Опишем порядок действий, которые происходят при поступлении входящего звонка пользователю мобильного Приложения Neon. Для наглядности будем рассматривать отвеченный входящий звонок.
- На Платформе облачной АТС появляется звонок, который необходимо передать пользователю Neon на его внутренний номер (SIP учётную запись, настроенную в мобильном приложении Neon).
- Платформа облачной АТС отправляет запрос на отправку PUSH уведомления на Сервер авторизации и PUSH уведомлений для мобильных устройств.
- Сервер авторизации и PUSH уведомлений для мобильных устройств отправляет в мобильное Приложение Neon PUSH-уведомление.
- Приложение получает уведомление, «просыпается» и регистрируется на Платформе облачной АТС.
- После успешного завершения регистрации Приложение отправляет
статус приложенияна Сервер авторизации и PUSH уведомлений для мобильных устройств. - Платформа Облачной АТС через заданное время после отправки запроса на отправку PUSH уведомления отправляет запрос статуса приложения на Сервер авторизации и PUSH уведомлений для мобильных устройств.
- Получив запрос статуса приложения от Платформы облачной АТС, Сервер авторизации и PUSH уведомлений для мобильных устройств отправляет на Платформу облачной АТС статус приложения, который говорит о том, что Приложение готово принять входящий звонок.
- Платформа облачной АТС отправляет запрос INVITE в зарегистрированное на Платформе облачной АТС Приложение Neon.
- Приложение показывает пользователю окно входящего звонка, Пользователь отвечает на звонок. Начинается обмен голосовыми данными между Приложением Neon и Платформой облачной АТС.
Клиент разговаривает с пользователем, после чего звонок завершается. Входящий звонок успешно завершён.
Приложение Neon для приёма входящих звонков получает SIP сообщения с Платформы облачной АТС и формирует ответы на них в соответствии с RFC 3261.
Схема работы мобильного приложения Neon с Сервером промежуточной регистрации
В указанной схеме работы мобильное приложение Neon регистрируется на Сервере промежуточной регистрации. Данный Сервер выступает в качестве посредника между Приложением Neon и Платформой облачной АТС оператора связи и взаимодействует с ними по SIP протоколу в соответствии с RFC 3261.
Для гарантированной доставки входящих звонков в мобильное Приложение Neon Сервер промежуточной регистрации взаимодействует с облачным Сервером авторизации и PUSH уведомлений для мобильных устройств. Сервер промежуточной регистрации отправляет звонки в мобильное Приложение Neon тогда и только тогда, когда получает от указанного Сервера авторизации и PUSH уведомлений для мобильных устройств информацию о готовности мобильного приложения Neon принять входящий звонок.
Общая схема работы мобильного Приложения Neon с Сервером промежуточной регистрации выглядит следующим образом:
Компоненты схемы:
- Приложение Neon
Установленный на смартфоне пользователясофтфонNeon. ПолучаетPUSH уведомленияс Сервера авторизации и PUSH уведомлений для мобильных устройств и отправляет в него свой статус. Подключается к Серверу промежуточной регистрации для совершения и приёма звонков; - Сервер авторизации и PUSH уведомлений для мобильных устройств
Компонент экосистемы Neon. ОтправляетPUSH уведомленияна мобильное устройство пользователя и получает статус приложения для передачи на Сервер промежуточной регистрации. Может быть развернут в инфраструктуре клиента; - Сервер промежуточной регистрации
Сервер, который подключается к Платформе облачной АТС, принимает подключения от мобильных приложений Neon и отправляет запросы для отправки PUSH уведомлений на Сервер авторизации и PUSH уведомлений для мобильных устройств. Выступает в качестве посредника для передачи звонков между Приложением Neon и Платформой облачной АТС; - Платформа облачной АТС
Сервис, предоставляемый оператором связи. Позволяет принимать/совершать звонки с использованием протокола SIP. Отправляет запросы на отправку PUSH уведомлений на Сервер промежуточной регистрации и получает в ответ Статус приложения для корректной отправки входящих звонков в Приложение Neon. Принимает подключения от Сервера промежуточной регистрации для осуществления входящих и исходящих звонков в Приложении Neon.
Опишем работу приложения в следующих сценариях:
- Регистрация на Платформе облачной АТС;
- Исходящий звонок;
- Входящий звонок.
Регистрация на Платформе облачной АТС
Схема регистрации Приложения Neon на платформе облачной АТС:
Опишем порядок действий, которые происходят после входа в Приложение для регистрации мобильного Приложения на Платформе облачной АТС.
- Приложение получило после входа настройки SIP учётной записи, а также настройки внешнего вида.
- Приложение подключается к Серверу промежуточной регистрации с полученными реквизитами, отправляя SIP запрос REGISTER.
- Сервер промежуточной регистрации отправляет SIP запрос REGISTER на Платформу облачной АТС для регистрации на АТС с SIP учётной записью пользователя.
- Если данные SIP учётной записи указаны корректно, Платформа облачной АТС отправляет в ответ сообщение SIP/2.0 200 OK.
- Сервер промежуточной регистрации зарегистрировался на Платформе облачной АТС и готов принимать входящие звонки напрямую от Платформы облачной АТС и совершать исходящие звонки.
- Сервер промежуточной регистрации отправляет ответ SIP/2.0 200 OK в Приложение Neon.
- Приложение успешно зарегистрировалось на Сервере промежуточной регистрации и готово совершать исходящие звонки и принимать входящие звонки с Платформы облачной АТС через Сервер промежуточной регистрации.
Приложение Neon и Сервер промежуточной регистрации при регистрации на Платформе облачной АТС осуществляют обмен SIP сообщениями друг с другом и с Платформой облачной АТС в соответствии с RFC 3261.
Исходящий звонок
Схема совершения исходящего звонка Приложением Neon:
Опишем порядок действий, которые происходят при совершении исходящего звонка в мобильном Приложении Neon. Для наглядности рассмотрим отвеченный исходящий звонок.
- Пользователь вводит номер телефона и начинает звонок.
- Приложение Neon отправляет на Сервер промежуточной регистрации, на котором зарегистрировано, запрос INVITE на совершение звонка на указанный номер.
- Сервер промежуточной регистрации отправляет на Платформу облачной АТС, на которой зарегистрирован, запрос INVITE на совершение звонка на указанный номер.
- Платформа облачной АТС отправляет звонок на номер, который указал пользователь.
- Вторая сторона отвечает на звонок.
- Платформа облачной АТС отправляет на Сервер промежуточной регистрации ответ SIP/2.0 200 OK.
- Сервер промежуточной регистрации отправляет в Приложение Neon ответ
SIP/2.0 200 OK. - Пользователь дозвонился до клиента. Начинается обмен голосовым трафиком между Приложением Neon и Сервером промежуточной регистрации.
- Начинается обмен голосовым трафиком между Сервером промежуточной регистрации и Платформой облачной АТС.
Пользователь поговорил с клиентом и завершил звонок. Исходящий звонок успешно завершён.
Приложение Neon и Сервер промежуточной регистрации для совершения исходящих звонков обмениваются SIP сообщениями друг с другом и Платформой облачной АТС и обрабатывают ответы на них в соответствии с RFC 3261.
Входящий звонок
Схема получения входящего звонка приложением Neon:
Опишем порядок действий, которые происходят при поступлении входящего звонка пользователю мобильного Приложения Neon. Для наглядности будем рассматривать отвеченный входящий звонок.
- На Платформе облачной АТС появляется звонок, который необходимо передать пользователю Neon на его внутренний номер (SIP учётную запись, настроенную в мобильном приложении Neon).
- Платформа облачной АТС отправляет запрос INVITE на Сервер промежуточной регистрации, который зарегистрирован на АТС с SIP учётной записью сотрудника.
- Сервер промежуточной регистрации отправляет запрос на отправку PUSH уведомления на Сервер авторизации и PUSH уведомлений для мобильных устройств.
- Сервер авторизации и PUSH уведомлений для мобильных устройств отправляет в мобильное Приложение Neon PUSH-уведомление.
- Приложение получает уведомление, «просыпается» и регистрируется на Сервере промежуточной регистрации.
- После успешного завершения регистрации Приложение отправляет
статус приложенияна Сервер авторизации и PUSH уведомлений для мобильных устройств. - Сервер промежуточной регистрации через заданное время после отправки запроса на отправку PUSH уведомления отправляет запрос статуса приложения на Сервер авторизации и PUSH уведомлений для мобильных устройств.
- Получив запрос статуса приложения от Сервера промежуточной регистрации, Сервер авторизации и PUSH уведомлений для мобильных устройств отправляет на Сервер промежуточной регистрации статус приложения, который говорит о том, что Приложение готово принять входящий звонок.
- Сервис промежуточной регистрации отправляет запрос INVITE в зарегистрированное на Платформе облачной АТС Приложение Neon.
- Приложение показывает пользователю окно входящего звонка, Пользователь отвечает на звонок. Начинается обмен голосовым трафиком между Приложением Neon и Сервером промежуточной регистрации.
- Начинается обмен голосовым трафиком между Сервером промежуточной регистрации и Платформой облачной АТС.
Клиент разговаривает с пользователем, после чего звонок завершается. Входящий звонок успешно завершён.
Приложение Neon и Сервер промежуточной регистрации для приёма входящих звонков обмениваются SIP сообщениями друг с другом и Платформой облачной АТС и формируют ответы на них в соответствии с RFC 3261.
Сравнение и выбор схем работы
Поведём итог описания двух схем работы мобильного приложения, чтобы вы могли выбрать ту, которая больше подходит именно вам.
Принципиальная разница между схемами работы показана на иллюстрации:
Поясним схему в виде сравнительной таблицы:
| Отложенный INVITE | Сервер промежуточной регистрации | |
|---|---|---|
| Общее сравнение | ||
| Плюсы | Голосовые данные передаются только между Платформой облачной АТС и Приложением Neon – меньше составляющих схемы. | Не нужно дополнительно настраивать Платформу облачной АТС. |
| Минусы | Необходима настройка Платформы облачной АТС для работы с Сервером авторизации и PUSH уведомлений для мобильных устройств. | Голосовые данные передаются через промежуточный SIP сервер, что усложняет общую структуру системы. |
| Входящий звонок | ||
| Регистрация пользователя на Платформе облачной АТС в момент начала звонка | Может отсутствовать (приложение «заснуло») | Всегда есть (от имени пользователя зарегистрирован Сервер промежуточной регистрации) |
| Кто отправляет запрос на отправку PUSH уведомления, чтобы «разбудить» Приложение Neon | Платформа облачной АТС | Сервер промежуточной регистрации |
| Где регистрируется Приложение Neon после получения PUSH уведомления | На Платформе облачной АТС | На Сервере промежуточной регистрации |
| Как передаются голосовые данные во время звонка | Непосредственно между Приложением Neon и Платформой облачной АТС | Между Приложением Neon и Сервером промежуточной регистрации; между Сервером промежуточной регистрации и Платформой облачной АТС |
| Исходящий звонок | ||
| Где регистрируется Приложение Neon для совершения исходящего звонка | На Платформе облачной АТС | На Сервере промежуточной регистрации |
| Как передаются голосовые данные во время звонка | Непосредственно между Приложением Neon и Платформой облачной АТС | Между Приложением Neon и Сервером промежуточной регистрации; между Сервером промежуточной регистрации и Платформой облачной АТС |
В схеме с отложенным INVITE меньше составляющих компонентов, но несколько выше требования к возможностям одного из ключевых компонентов – Платформы облачной АТС.
Если вы используете Asterisk, FreePBX, FreeSwitch или используемая вами платформа облачной АТС имеет возможность отправки запросов во внешние системы перед отправкой звонка внутреннему абоненту – мы рекомендуем использовать наиболее оптимальную для таких АТС Схему с отложенным INVITE.
В схеме с Сервером промежуточной регистрации в систему добавляется дополнительный компонент – Сервер промежуточной регистрации, что может добавить дополнительные риски при работе системы в целом. Но при этом требования к возможностям отдельных компонентов (Платформы облачной АТС) снижаются.
Исходя из изложенных данных и при наличии возможности со стороны АТС мы рекомендуем использовать схему с отложенным INVITE, как наиболее оптимальный и наиболее предсказуемый вариант работы. Однако если ваша Платформа облачной АТС не позволяет внести необходимые настройки, вы всё равно можете использовать Приложение Neon, развернув свой Сервер промежуточной регистрации на базе Asterisk или FreeSwitch по соответствующим инструкциям.









