Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#1107 closed enhancement (fixed)

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)

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 (4)

comment:1 Changed 9 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 9 years ago by ming

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

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 9 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 9 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.