2014-03-25 5 views
2

내 앱에 linphone SDK를 통합했습니다. 내 앱이 백그라운드 모드로 전환되면 내 앱이 수신 전화를받지 못합니다. 배경 모드로 들어가면 skype처럼 내 앱을 만들고 싶습니다.iPhone 용 Linphone이 백그라운드 모드로 전환 할 때 전화를받지 않습니다.

info.plist에 필요한 배경 모드를 추가했습니다.

Application does not run in background - NO 
    Required background modes 
    item 1  App provides Voice over IP services 

ApplicationDidEnterBackground에서 다음과 같은 방법을 구현했지만 여전히 동일한 문제에 직면하고 있습니다.

1.setKeepAliveTimeout:handler: 
    [http://www.linphone.org/docs/liblinphone/group__IOS.html][1] 

도와주세요. 미리 감사드립니다.

답변

6

SIP 서버가 TCP 모드로 전환 될 수있는 경우 UDP 모드에서 작동하지 않습니다 (예 : 별표 사용시 sip.conf에서 transport = tcp 사용). IOS는 백그라운드 모드에서 UDP 트래픽을 허용하지 않는 것으로 보입니다.

IOS 용 Linphone에서 백그라운드 모드로 작동하려면 SIP TCP/TLS로 전환하는 것이 좋습니다.

이 UDP 문제를 해결할 수있는 유일한 방법은 오래 실행중인 백그라운드 작업을 생성하여 아이폰을 계속 사용하도록하는 것입니다. 그 결과 장치가 절전 모드로 전환되지 않으므로 배터리가 매우 빨리 소모됩니다.

+0

TCP로 백그라운드 모드에서 작동합니까? 나는 linphone appstore 버전이나 최신 linphone 오픈 소스 프로젝트가 백그라운드로 일단 들어오는 호출에 대해 아무것도 표시하지 않기 때문에 그렇게 생각하지 않습니다. –

+0

그게 나를 위해 일하고. 강제로 tcp를 시작할 때 전송을 설정하고 포트를 임의의 포트로 설정합니다. 전화가 잠겨있을 때뿐만 아니라 백그라운드에서 전화를 받고 있습니다. –

+0

당신이 백그라운드에서 작동하는 IOS 버전에 대해 이야기하고 싶습니다. 안드로이드 버전이 아닙니다. –