VoIP Push Notification for Messaging App from iOS 13.0 onwards

Dear Concern,

We found that some Messaging apps (WhatsApp, Viber, Telegram, SignalApp, etc) use an entitlement com.apple.developer.pushkit.unrestricted-voip for push notification. But when we try to use we can't compile the project. Can you please let us know how can we solve this problem?

Thanks in advance.
There is no need for messaging apps, or even VoIP apps which also require messaging unrelated to call initiation, to use this entitlement in order to handle messages. You can use regular UserNotifications pushes for this.

If your use case requires processing of this message before it is presented to the user, you can create a notification service extension:
<https://developer.apple.com/documentation/usernotifications/unnotificationserviceextension>

You can read the full details at the link above, but in a messaging context, the service extension can be used to inform your server when the notification actually reached the device (both for metric and message handling purposes) as well as allowing you to adjust the notification content (if you need to process the message before presenting it to the user)

The Notification Service Extension, which will be executed for every visible push, can manipulate what notifications are currently being displayed (dismissing existing notifications), as well downloading updated contents or missed messages.

You can also use a UNNotificationContentExtension to customize the content your app is actually displaying in the notification UI:
<https://developer.apple.com/documentation/usernotificationsui/unnotificationcontentextension> so it looks different than a standard notification, if your implementation requires this.

Hello!
UNNotificationContentExtension force me to use VISIBLE only notifications.
But how to be with following case:

1. User receiving SECOND incoming VoIP push, and Application MUST to reportIncomingCall.
2. But we DO NOT WANT to Interrupt USER, from the FIRST Call. User now BUSY. I do not want notify & interrupt user in this case.
3. But I can not DO NOT CALL reportIncomingCall!

Even next immediately to call reportCall (ended) but it force CallKit to show UI, and enable Vibro on Phone. It is not good UX.
I do not understand, why Telegram, WhatsApp, Signal - has enabled this entitlement:
com.apple.developer.pushkit.unrestricted-voip

  https://github.com/signalapp/Signal-iOS/issues/4371
https://github.com/TelegramMessenger/Telegram-iOS/blob/2cad3d641d130274399e51355ff904ee33f15657/Telegram/Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements#L37

But it restricted for other developers.

Please allow other developers to use this entitlement.







How to HANDLE This Issue?
Also I can not handle that User BUSY on Server.


VoIP Push Notification for Messaging App from iOS 13.0 onwards
 
 
Q