Способ обмена текстовыми и мультимедийными сообщениями между абонентами А и В с возможностью приглашения абонента С в режиме приватного чата
METHOD FOR EXCHANGING TEXT AND MULTIMEDIA MESSAGES BETWEEN SUBSCRIBERS A AND B WITH THE POSSIBILITY OF INVITING SUBSCRIBER C IN PRIVATE CHAT MODE

Изобретение относится к области связи, а более конкретно, к способам обмена текстовыми и мультимедийными сообщениями в режиме приватного чата.
Существует множество способов обмена текстовыми и мультимедийными сообщениями (US 9876827, US 9996248, RU 2302033, RU 2613732, KR 1020180026430, WO 2009131545).
Вместе с тем, в настоящее время не решена проблема организации приватного чата, в котором в совокупности были бы реализованы следующие функции и возможности:
- обеспечение безопасности и секретности обмена информацией между абонентами;
- организация передачи данных напрямую, без сохранения истории обмена текстовыми и мультимедийными сообщениями на сервере;
- возможность обмена текстовыми и мультимедийными сообщениями строго в рамках установленного соединения.
Вышеуказанная техническая проблема решена в заявляемом способе обмена текстовыми и мультимедийными сообщениями между абонентами А и В с возможностью приглашения абонента С в приватном чате приложения ROOM (Real One-to-One Messenger), включающий:
- взаимодействие приложения ROOM с WebRTC-сервером для управления передачей сообщений между абонентами А и В с возможностью приглашения абонента С;
- осуществление вызова абонентом А абонента В из списка контактов приложения ROOM для обмена текстовыми и мультимедийными сообщениями на экране мобильного устройства или компьютера, при этом на сервер приложения передается команда о вызове и сервер приложения генерирует пуш-уведомление абоненту В о вызове от абонента А, абонент В имеет возможность принять или отклонить вызов;
- установление соединения посредством технологии WebRTC между абонентом А и абонентом В для обмена текстовыми и мультимедийными сообщениями;
- при этом во время обмена текстовыми и мультимедийными сообщениями звуковой поток WebRTC соединения абонентов А и В отключен;
- при этом текстовые и мультимедийные сообщения передаются в виде зашифрованных потоков данных посредством технологии WebRTC, по протоколу SRTP, минуя сервер приложения;
- при этом при попытке осуществления записи экрана абонентом А или В блокируется обмен текстовыми и мультимедийными сообщениями между абонентом А и В с одновременным получением абонентами А и В текстового уведомления о запрете записи экрана;
- при этом при попытке закрытия или свертывания окна приложения ROOM абонентом А или В, вводится ограничение на обмен текстовыми и мультимедийными сообщениями между абонентами А и В до возврата в окно приложения абонентом А или В в течение заданного времени, при этом у абонента В или А на экране устройства появляется уведомление;
- при этом во время обмена текстовыми и мультимедийными сообщениями абонент А и/или абонент В имеют возможность включения фронтальной камеры мобильного устройства или компьютера для передачи видео потока друг другу в беззвучном режиме для визуальной идентификации;
- при этом при наборе текстовых сообщений абонентом А или В текст становится видимым абоненту В или А до его отправки;
- при этом полученное текстовое и мультимедийное сообщение через установленное время автоматически удаляется из чата;
- при этом абонент А или В имеют возможность приглашения абонента С, выбранного из списка контактов в интерфейсе обмена текстовыми и мультимедийными сообщениями приложения ROOM для приглашения абонента С, при соединении с которым соединение WebRTC между абонентами А и В обрывается с последующим возобновлением соединения WebRTC между абонентами А, В и С;
- при этом во время поиска абонента С в списке контактов приложения ROOM абонентом А или В, вводится ограничение на обмен текстовыми и мультимедийными сообщениями между абонентом А и В, до возврата в окно приватного разговора абонента А или В в течении заданного времени, о чем у абонента В или А на экране устройства появляется уведомление;
- при этом при выходе из приватного разговора абонента С соединение WebRTC между абонентами А и В не прерывается.
В частном случае выполнения изобретения обмен данными может быть осуществлен на мобильных устройствах на базе операционных систем IOS и Android или на компьютерах на базе операционных систем Windows, MacOS, Linux.
В заявляемом изобретении в приложении ROOM с привычным для всех набором функций: чат, звонки, видеозвонки, в виде приватного чата обеспечена безопасность и секретность обмена информацией между абонентами, организована передача данных напрямую с возможностью обмена текстовыми и мультимедийными сообщениями строго в рамках установленного соединения.
Алгоритм установления соединения между абонентами А и В.
Абонент А приглашает абонента В в приватный чат.
Абонент А нажимает кнопку вызова, с устройства абонента А отправляется запрос на сервер приложения (фиг. 1).
Сервер приложения проверяет наличие активного звонка или сеанса приватного чата на стороне абонента В в базе данных, если абонент В не занят, то в базе данных создается запись о вызове, сервер приложения генерирует push-сообщение для абонента В.
Push-сообщение передается на Push-сервер, который ответственен за доставку сообщения до абонента В.
Абонент В получает push-сообщение.
Если окно приложения ROOM не активно, то на экране устройства появляется push-уведомление.
Если окно приложения ROOM активно, то на экране устройства открывается окно вызова.
Абонент В может отклонить либо принять приглашение в приватный чат.
Если абонент В отклоняет - на сервер приложения идет команда о том, что приватный чат закрыт. Сервер приложения создает запись в базе данных, генерирует push-сообщение, которое передает на Push-сервер для передачи абоненту А (фиг. 2).
Устанавливается соединение WebRTC между абонентом А и абонентом В с помощью WebRTC-сервера для обмена текстовыми и мультимедийными сообщениями (фиг. 3).
Если абонент А закрывает приватный чат, то WebRTC соединение прерывается, на сервер приложения идет команда о том, что приватный чат закрыт.Сервер приложения создает запись в базе данных, генерирует push-сообщение, которое передает на Push-сервер для передачи абоненту В.
Пример реализации заявляемого способа.
Установка соединения.
1. Приглашение в приватный чат Закрытая комната.
Для приглашения в приватный чат Закрытая комната пользователь имеет возможность выбрать контакт из списка контактов приложения ROOM либо из интерфейса обычного чата. Алиса приглашает Боба в Закрытую комнату (фиг. 4);
После нажатия на кнопку Алиса попадает в окно ожидания соединения (фиг. 5).
2. Ответ на приглашение в приватный чат Закрытая комната.
В это время приложение ROOM Алисы отправляет команду на сервер приложения для того, чтобы иметь возможность оповестить о приглашении Боба (фиг. 6). Боб может отклонить либо принять приглашение:
Если Боб отклонил приглашение, Алиса получает об этом оповещение, окно подтверждения приглашения закрывается (Фиг. 7).
Если Боб принял приглашение, между Алисой и Бобом устанавливается WebRTC соединение. После установки WebRTC соединения Алиса и Боб попадают в окно приватного чата Закрытая комната с возможностью передавать текстовые сообщения и медиафайлы. При этом микрофон во время беседы в приватном чате отключен (Фиг. 8).
Блокировка чата при записи экрана.
Если во время беседы в приватном чате Алиса или Боб включает запись экрана устройства, общение между ними блокируется, Алиса и Боб получают соответствующие информационные сообщения об этом (Фиг. 9).
Если Алиса и Боб сделают скриншот, то они оба получают об этом информационное сообщение (Фиг. 10).
Временный выход собеседника из приватного чата.
Общение между Алисой и Бобом возможно только при нахождении обоих в окне приватного чата, если Боб закрыл или свернул приложение, вышел в другое окно возможность беседы ограничивается: у Алисы появляется информационное сообщение с таймером, если Боб не успеет вернуться до того, как таймер покажет 0, чат закроется (Фиг. 11).
Видеоокна.
В интерфейсе приватного чата Закрытая комната Алиса и Боб могут включить фронтальную камеру для визуальной идентификации друг друга, звук при этом не передается (Фиг. 12).
Видимость набираемого текста.
Набираемый для отправки текст становится видимым другим участникам приватного чата Закрытая комната, таким образом есть возможность передавать текстовую информацию, фактически не отправляя ее (Фиг. 13) и (Фиг. 14).
Приглашение третьего участника.
Алиса и Боб могут пригласить третьего участника Карлоса из своего списка контактов приложения ROOM. При соединении с третьим участником, WebRTC соединение обрывается и настраивается новое на 3 участников (Фиг. 15).
Выход одного из участников.
Если выходит приглашенный третий участник - Карлос, то соединение WebRTC между Алисой и Бобом остается активным. Если из приватного чата выходит Алиса или Боб, то WebRTC соединение закрывается у троих участников (Фиг. 16).
Повторное приглашение третьего.
Если выходит Карлос и Алиса или Боб вновь приглашают третьего участника из списка контактов приложения ROOM, WebRTC соединение вновь сбрасывается и устанавливается новое.
Таким образом, заявляемый способ совмещает в себе совокупности реализации функций и возможностей приложения ROOM: видимость набираемого текста, автоудаление сообщений, видеоокна, приглашение третьего участника, защита от записи экрана, предупреждение участников о сделанном скриншоте в приватном чате, информирование участников о выходе одного из участников.