Я тестирую клиент Voip sip, написанный разработчиком приложения iphone, который использует PJSip. Я лично сам играл с разработкой SIP, но не эксперт.Iphone Voip app - Backgrounding and keep nat pinhole alive
С помощью нашего софтсвитча VOIP (пакет Acme/Broadsoft) он заботится обо всех методах обработки Nat, динамически определяя лучшее время перерегистрации, чтобы сохранить живое пятно Nat на устройстве nat. Обычно, когда iphone стоит за NAT, это время составляет 60-90 секунд.
Приложение Iphone использует TCP и с радостью работает с Backgrounding. Очевидно, что фоновое изображение идеально подходит для экономии заряда батареи. Звонок пробуждает телефон, и вы можете прослушивать вызов.
Проблема заключается в том, что, когда приложение переходит в фоновый режим, у него нет возможности открыть открытку Nat Pinhole. Это означает, что брандмауэр всегда будет отклонять новые входящие вызовы от доступа к приложению Iphone после закрытия отверстия. Это влияет на входящие звонки, работающие в приложении в течение нескольких минут, а затем не работает в течение определенного периода времени, а затем, когда приложение выходит из фона и регистрируется снова, входящие вызовы снова работают.
Согласно документации Apple: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html#//apple_ref/doc/uid/TP40007072-CH4-SW3
Они имеют встроенный специальные исключения для Voip приложений для фоновых мы можем: 1. Настройка приложение сокетов таким образом, что они все еще могут обрабатывать входящие сообщения. Это не помогает, так как обмен сообщениями никогда не будет достигнут приложения, если фишка будет закрыта. 2. Используйте Keep Keep, однако минимальное время составляет 600 секунд. Это также означает, что отверстие будет закрыто.
Есть ли какой-нибудь умный способ, когда приложение может отправить сообщение регистрации SIP Voip, скажем, каждые 60 секунд или около того, оставаясь в фоновом режиме. Или приложение может просыпаться каждые 60 секунд, чтобы выполнить некоторую работу, а затем закрыть.
Im действительно озадачен тем, есть ли на рынке другие приложения sip, которые обошли эту проблему.
На этой проблеме есть приложения, которые уже работали над этой проблемой. Например, приложение 3CX. –
У вас есть решение для этого? –