Use APNS VOIP through Notification Hubs (not officially supported)
It is possible to use APNS VOIP notifications through Azure Notification Hubs; however, there is no official support for this scenario.
Considerations
If you still choose to send APNS VOIP notifications through Notification Hubs, be aware of the following limitations:
Sending a VOIP notification requires the
apns-topic
header to be set to the application bundle ID + the.voip
suffix. For example, for a sample app with the bundle IDcom.microsoft.nhubsample
, theapns-topic
header should be set tocom.microsoft.nhubsample.voip.
This method doesn't work well with Azure Notification Hubs, because the app's bundle ID must be configured as part of the hub's APNS credentials, and the value cannot be changed. Also, Notification Hubs does not allow the value of the
apns-topic
header to be overridden at runtime.To send VOIP notifications, you must configure a separate notification hub with the
.voip
app bundle ID.Sending a VOIP notification requires the
apns-push-type
header to be set to the valuevoip
.To help customers with the transition to iOS 13, Notification Hubs attempts to infer the correct value for the
apns-push-type
header. The inference logic is intentionally simple, in an effort to avoid breaking standard notifications. Unfortunately, this method causes issues with VOIP notifications, because Apple treats VOIP notifications as a special case that does not follow the same rules as standard notifications.To send VOIP notifications, you must specify an explicit value for the
apns-push-type
header.Notification Hubs limits APNS payloads to 4 KB, as documented by Apple. For VOIP notifications, Apple allows payloads up to 5 KB. Notification Hubs does not differentiate between standard and VOIP notifications; therefore, all notifications are limited to 4 KB.
To send VOIP notifications, you must not exceed the 4-KB payload size limit.
Next steps
For more information, see the following links: