Поведение приложения VOIP в фоновом режиме (iOS 4.0+):
Наличие единственного оставшегося открытого сокета, помеченного как Voip Этот сокет VOIP поддерживается системой, в то время как приложение приостановлено на уровне BG Вы можетезапланируйте блок поддержания активности, и ОС будет разбудить ваше приложение каждый раз X X> = 10 минут (см. [[UIApplication sharedApplication] setKeepAliveTimeout: handler :) этот сокет НЕ является медиа-сокетом, он использует толькодля получения приглашений на входящие вызовы Приложение активируется при всех входящих данных на сокете (ограничение iOS 5.0+ составляет 15 раз за 300 секунд) После получения входящего вызова ваше приложение активируется иВы можете открыть аудиосеанс для этого вызова.
Приложения VOIP должны быть помечены на info.plist в разделе «Необходимые фоновые режимы» как «voip» и «audio».
После того, как вы открыли аудиосеанс (для активного вызова), ваше приложение может работать полностью в фоновом режиме, и оно больше не приостанавливается, пока этот аудиосеанс не будет закрыт.
ЛюбойДругой способ - использовать Push-уведомления в качестве триггеров для входящих звонков.
Кроме того, это избавит вас от необходимости поддерживать розетку в режиме 24/7, сэкономить батарею,
и будет работать, даже если пользователь закрыл приложение (что не относится к первому варианту).