Я думаю, что у меня есть все требования, чтобы иметь «живой» сокет, пока приложение находится в фоновом режиме. То есть:
- В моем приложении есть voip и аудио в качестве фоновых режимов.
- Я использую PJSIP в качестве библиотеки SIP, которая должна использовать CFReadStreams с включенным свойством «Запуск в фоновом режиме».
- Приложение использует TCP для установления соединения с SIP-сервером.
Когда приложение отправляется в фоновый режим, оно добавляет фоновый обработчик, который отправляет сообщение «keepAlive» каждый период времени.
Похоже, что keepAlive работает. Если я проверю журналы на сервере, я увижу, как приходят сообщения, даже когда приложение не находится на переднем плане.
Проблема (и вопрос) в том, что я не получаю звонки, пока приложение находится в фоновом режиме.
Вроде сокет еще жив, если звоню на мобильник пока приложения нет на переднем плане ничего не происходит, а если запускаю приложение сам, то звонок определяется автоматически.
Спасибо :)