Ticket #1107 (closed enhancement: fixed)

Opened 8 years ago

Last modified 8 years ago

iPhone: Add support for Apple iOS4 background feature

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-1.8
Component: pjlib Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description (last modified by ming) (diff)

Apple iOS4 has added new feature to put application in "background mode", where the state of the application is suspended but it's able to record&play audio and receive TCP frames.

This ticket adds support for this feature.

Change History

comment:1 Changed 8 years ago by bennylp

  • Summary changed from Investigate the support for Apple iOS4 background feature to iPhone: Investigate the support for Apple iOS4 background feature

comment:2 Changed 8 years ago by ming

  • Status changed from new to closed
  • Resolution set to fixed

In r3299: Implemented iOS4 background feature

  • pjlib:
    • add support for activesock TCP to work in background mode.
    • add feature in ioqueue to recreate closed UDP sockets.
  • pjsip-apps:
    • ipjsua: add support for iPhone OS 4 background mode
    • ipjsystest: add support for iPhone OS 4 background mode

comment:3 Changed 8 years ago by ming

To enable multitasking support of iPhone OS, set PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT to 1. Then application can use the API pj_activesock_set_iphone_os_bg() to set iPhone OS background mode setting. Setting the value to 1 will enable TCP active socket to receive incoming data when application is in the background. The default value of this setting is PJ_ACTIVESOCK_TCP_IPHONE_OS_BG. By default, both these settings are enabled on iPhone OS 4 when you run configure-iphone (see http://trac.pjsip.org/repos/wiki/Getting-Started/iPhone).

In the case of an incoming phone call, your application would typically alert the user immediately using a local notification. (See ipjsua's pjsua_app.c:on_incoming_call() callback for example).

For reference on how to configure your application to execute in the background, please visit: https://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

comment:4 Changed 8 years ago by ming

  • Description modified (diff)
  • Summary changed from iPhone: Investigate the support for Apple iOS4 background feature to iPhone: Add support for Apple iOS4 background feature
Note: See TracTickets for help on using tickets.