Обычный SIP-клиент не может стабильно принимать звонки на iPhone из-за ограничений фоновой работы, а типовые решения передают SIP-сессии и данные о звонках внешнему push-сервису.
Расскажем о нашем подходе к реализации софтфона.
Тезисы
1. Почему «просто SIP-клиент» на iPhone не работает
2. Чем приходится платить за типовой push-софтфон
3. Как правильно разбудить устройство
4. Открытый SIP-порт становится целью атак → используем защищённый WebRTC-шлюз
5. Постоянный пароль в приложении опасен → ограничиваем доступ токенами и сессиями
6. Ручная настройка сложна и небезопасна → используем автонастройку
7. IP-адрес и сеть постоянно меняются → ICE, STUN и восстановление соединения
8. Что можем получить в итоге разработки?