2012-10-31 6 views
5

SIP 및 VoIP 기반 iOS 응용 프로그램을 개발 중입니다. 요구 사항은 응용 프로그램이 배경에서도 계속 실행되어야한다는 것입니다. pjsip lib를 사용하고 있습니다. iOS : 백그라운드에서 미디어 수신

내가 그 배경이의 아이폰 OS 응용 프로그램을 실행 알고, 우리는 내가 setKeepAliveTimeout에 전달 핸들러를 만든 VoIP를 값

  • 와의 Info.plist에서이

    • 설정 UIBackgroundModes 키가 필요합니다 : 핸들러를 : 살아 연결을 유지

    하지만 난 그냥 원하는 내 응용 프로그램이 백그라운드에서 실행중인 경우 수 UDP 포트를 항상 열어 둔 채로 (RTP/RTCP) 이상의 UDP 패킷을 수신합니다. 나는 우리가 심지어 지속적으로 UDP 패킷을 얻을 수있는 명확한 아이디어를 얻기하지 않은,

    을하지만 :

    나는 이미 게시물 겪었 앱이 배경 또는 전경에 있습니다.

    iOS 클라이언트 앱에 데이터가있는 경우 앱에서 사용자에게 알릴 수 있어야합니다.

    의견을 제시하십시오.

  • +2

    리옹, 안녕하세요, http://stackoverflow.com/questions/6601536/ios-voip-socket-will-not-run-in-background?rq=1이 게시물을 통해서도 도움이 될 수 있습니다. – User97693321

    +0

    . 백그라운드에서 실행중인 앱을 유지하는 방법이 필요하므로 전화가 걸리면 알려줍니다. ?? –

    +0

    btw ... 어떤 버전의 pjsip을 사용하십니까? 당신도 zrtp를 사용합니까? –

    답변

    -1

    앱이 백그라운드에서 실행 중일 때 로컬 알림을 설정하고 알림을 통해 수신 전화 사용자를 나타낼 수 있다고 생각합니다. 사용자가 응용 프로그램을 시작하면 수신 전화를 표시 할 수 있습니다. 아래의 링크에서

    , 당신은 귀하의 Info.plist에서 UIBackgroundModes 키를 설정했기 때문에 Background Execution and Multitasking and also Scheduling the Delivery of Local Notifications

    IE를 확인 앱은 장기 실행 작업을 지원합니다. 따라서 applicationDidEnterBackground 메서드에서 호출이있을 때 UILocalNotification을 만드는 메서드를 추가합니다. UILocalNotifications는 경고 메시지와 선택한 음색으로 사용자에게 알립니다. 따라서 사용자에게 알림이 전송되고 사용자가 앱을 입력하면 앱이 포 그라운드로 이동하여 전화를받을 수있는 방법을 추가 할 수 있습니다.

    LocalNotification의 경고 본문에서 발신자 정보를 사용자에게 보낼 수 있습니다.

    편집 :Check out the answer of Paul Richter in this link 완전히 당신이 사용하는 라이브러리에 관련되지는 않지만 그가

    VOIP mode gives you the ability to have code running to notify you of a call coming in 
    but you're not going to be able to record audio from the background. If you look at how 
    Voip apps work, when a call comes in a Local Notification is sent informing the user 
    that a call is coming in. The User then must accept the call which will bring the 
    application to the foreground at which point from the audio side of things you can 
    activate your session and proceed with the phone call. 
    

    을 말한다, 그는 프로세스의 괜찮은 explaination를 부여하고있다.

    희망이 도움이됩니다.

    0

    백그라운드에서 VoIP 앱을 실행하고 서버에 등록하려면 iOS에서 TCP를 사용해야합니다. 무언가가 발생하면 지역 통보를 해고 할 수 있습니다.

    관련 문제