яблочная документации ...
Голос по Интернет-протоколу (VoIP) приложение позволяет пользователю совершать телефонные звонки, используя подключение к Интернету вместо сотовой связи устройства. Такое приложение должно поддерживать постоянное сетевое подключение к своей связанной службе, чтобы оно могло принимать входящие вызовы и другие соответствующие данные. Вместо того, чтобы постоянно поддерживать VoIP-приложения, система позволяет их приостанавливать и предоставляет средства для мониторинга своих сокетов для них. Когда обнаружен входящий трафик, система пробуждает приложение VoIP и возвращает ему свои сокеты.
Есть несколько требований к реализации приложения VoIP:
Добавить ключ UIBackgroundModes в Info.plist файл вашего приложения. Задайте значение этой клавиши для массива, который включает в себя строку voip.
Настройте один из сокетов приложения для использования VoIP.
Прежде чем перейти на задний план, вызовите метод setKeepAliveTimeout: обработчик: метод установки обработчика, который будет выполняться периодически. Ваше приложение может использовать этот обработчик для поддержания своего сервисного соединения.
Настройте сеанс аудио для обработки переходов в активное и активное использование.
Чтобы обеспечить лучший пользовательский интерфейс на iPhone, используйте инфраструктуру Core Telephony, чтобы настроить свое поведение по отношению к телефонным телефонным звонкам; см. ссылку на базовую телефонную систему.
Чтобы обеспечить хорошую производительность для вашего VoIP-приложения, используйте инфраструктуру конфигурации системы, чтобы обнаружить сетевые изменения и позволить вашему приложению спать как можно больше.
Включение значения voip в ключ UIBackgroundModes позволяет системе знать, что она должна позволять приложению работать в фоновом режиме при необходимости для управления своими сетевыми сокетами. Этот ключ также позволяет вашему приложению воспроизводить фоновый звук (хотя включение звукового значения для ключа UIBackgroundModes по-прежнему рекомендуется). Приложение с этим ключом также перезапускается в фоновом режиме сразу после загрузки системы, чтобы гарантировать, что службы VoIP всегда доступны. Дополнительные сведения о ключе UIBackgroundModes см. В разделе «Ссылка на список свойств информации».
Попробуйте эту ссылку .. это может помочь enter link description here