Changes between Version 5 and Version 8 of Ticket #1941
- Timestamp:
- Oct 30, 2019 5:28:45 AM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #1941
- Property Status changed from new to closed
- Property Resolution changed from to fixed
-
Ticket #1941 – Description
v5 v8 6 6 1. Set up !PushKit according to [https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html Apple's doc]. 7 7 2. Upon startup, request for push tokens. 8 3. Send REGISTER to SIP server with additional specific header or header params to tell the SIP server about the PN (Push Notification) info (server URI, tokens, etc). You can use {{{pjsua_acc_config.reg_hdr_list}}} or {{{pjsua_acc_config.reg_contact_params}}} (the later is available in ticket #1965).[[br]]Note: draft [https://tools.ietf.org/html/draft-ivanov-sipcore-pnsip-01 Push Notifications in the Session Initiation Protocol (SIP)] suggests to put it in Contact header params, for example:8 3. Send REGISTER to SIP server with additional specific header or header params to tell the SIP server about the PN (Push Notification) info (server URI, tokens, etc). You can use {{{pjsua_acc_config.reg_hdr_list}}} or {{{pjsua_acc_config.reg_contact_params}}} (the later is available in ticket #1965).[[br]]Note: [https://tools.ietf.org/html/rfc8599 RFC 8599: Push Notifications in the Session Initiation Protocol (SIP)] suggests to put it in Contact header params, for example: 9 9 {{{ 10 10 Contact: <sip:alice@alicemobile.example.com; … … 13 13 }}} 14 14 4. After a successful registration, SIP client can go background and will be woken up by the OS upon receiving push notification. 15 Note: starting from iOS 13, there's a new requirement: 16 ```Apps receving VoIP pushes must post an incoming call (via CallKit or IncomingCallNotifications) in the same run loop as pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay. Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Killing app because it never posted an incoming call to the system after receiving a PushKit VoIP push callback.'``` 17 In order to make it work with the normal SIP flow which may require you to wait for some time to receive the INVITE message, please look at Apple's recommendation in its [https://forums.developer.apple.com/thread/117939 developer forum]. 15 18 16 19 Configure your SIP server: