Реализовать WebRTC звонки для desktop приложения

Цена договорная
27 октября 2020, 13:13 • 2 отклика • 33 просмотра
Требуется кандидат на проект “amo | корпоративный мессенджер”

amo | корпоративный мессенджер – это собственный проект международной компании amoCRM. Это мессенджер, предназначенный для компаний, у него своя аудитория и функции отличающие его от личных мессенджеров. К примеру, мы не поддерживаем стикеры (во всяком случае пока)), но даем ботов, транслитерацию голосовых сообщений и т.д.


Что предстоит реализовать в проекте?

Необходимо реализовать WebRTC звонки для desktop приложения “amo | корпоративный мессенджер”. А именно:

  • Спроектировать и реализовать систему обработки различных состояний звонка: входящий / исходящий вызов, пропущенный вызов, отклоненный вызов, обработка различных точек отказа;
  • Подключить и настроить библиотеки WebRTC для C++ Qt;
  • Реализовать, с использованием внутреннего API проекта (Protobuff / TCP), систему Signaling клиента Peer-to-Peer подключения;
  • Реализовать поддержку различных конфигураций периферийных устройств: переключение между устройствами ввода/вывода, в том числе поддержка Bluetooth гарнитуры;
  • Изучить имеющиеся бизнес модели описания пользовательской информации (аватар, имя, состояние устройства: включен/выключен звук, включен/выключен микрофон и др.);
  • Спроектировать и реализовать систему отображения пользовательской информации и состояния текущего звонка на основе экранных форм язык QML, согласно дизайну: экран входящего вызова, экран текущего звонка, экран статуса звонка;
  • Согласовать и утвердить с руководителем проекта план реализации согласно ТЗ;
  • Протестировать новую функциональность, при необходимости учесть замечания и внести правки;
  • Передать руководителю проекта финальный вариант реализованных доработок.
Ключевые факты о проекте:

  • Несколько ДЦ, работа active-active. Часть балансировки на уровне клиента;
  • Собственный бинарный протокол поверх TCP.
  • Кроссплатформенное приложение (С++ Qt 5.12.2).
  • Работа в оффлайн. Отложенная синхронизация с сервером (написание сообщений, прочтение чатов). Оффлайн хранилище в SQL базе данных.
  • Оптимизация трафика.
  • Отсутствие легаси кода, молодой проект.
  • Внедрение уникальных и передовых функций мессенджера (эксклюзивно запатентованных) и решений в сфере UI/UX.
Условия:

  • Работа на интересном международном проекте (офис в России и USA) в технически сильной команде.
  • Проектная работа с возможностью удаленной работы.
  • Возможно дальнейшее трудоустройство в штат.
  • Гонорар обсуждается дополнительно по результатам собеседования.