We want to know why we don't get Voip notification

We provide users with an iOS app that sends VoIP notifications. However, we received issue from users that "VoIP notifications were not sent."

So we conducted an investigation on-site and sent VoIP notifications more than 10 times to about 20 devices. We confirmed that most of the notifications arrived, but there were also times when the notifications were not sent.

We would like to know if the VoIP notifications were really delivered to the devices that did not receive the notifications. If this phenomenon is a network problem, we would like to consult with the network company. We have attached the log of when we checked and the VoIP notification was not received.

logs [2024-09-12 11:50:02] 'ApnsId' => '22541A6E-355E-73D6-D28F-D1F8E340E540' 'StatusCode' => 200

[2024-09-12 11:50:02] 'ApnsId' => '22541A6E-355E-73D6-D28F-D1F8E340E540' 'StatusCode' => 200

[2024-09-12 11:50:02] 'ApnsId' => '2984C9F3-CC81-9080-7B54-EF53D2E77D68' 'StatusCode' => 200

[2024-09-12 12:43:01] 'ApnsId' => 'A936595B-36F7-07C2-CFB7-3276C4BE8FC8' 'StatusCode' => 200

[2024-09-12 12:43:01] 'ApnsId' => '0C633C08-25B0-6FE2-2087-DD66C1C01532' 'StatusCode' => 200

According to these, the status code is 200. We would like to know if the VoIP notifications in the logs shown above were received by the iPhone device we tested.

Answered by Engineer in 806889022

We see both of these were sent successfully, and received by the device.

Don't forget that VoIP pushes will be ignored by the device if your app fails to report VoIP pushes as incoming calls using reportNewIncomingCall(with:update:completion:)

If you fail to report a call to CallKit, the system will terminate your app. Repeatedly failing to report calls may cause the system to stop delivering any more VoIP push notifications to your app for a duration.

That is the likely reason for it, and it is something you need to debug on your end as we will have no visibility to what happens once the pushes are received by the device.

If you are failing to report VoIP pushes as incoming calls, then you will probably be seeing your app crashing with the code 0xbaadca11, which is an indicator that there is an issue with the app.


Argun Tekant /  DTS Engineer / Core Technologies

We are not able to investigate notification issues older than about a week. If you have more recent reproductions of this issue in the last several days, do give us the apns-id's for those.


Argun Tekant /  DTS Engineer / Core Technologies

Thank you for your reply. I understand your response. I will contact you once I reproduce the issue.

I have received information on how to reproduce the above content.

We were contacted by an end user who said, "VoIP notifications were not received."

We checked the logs, and it seems that one of the two notifications below applies to this.

2024-09-29T17:49:40.207+09:00 'ApnsId' => '542EDAA5-E632-B35B-984C-A86AAD1A901D', 2024-09-29T17:49:40.207+09:00 'StatusCode' => 200,

2024-09-29T17:50:10.480+09:00 'ApnsId' => '417253C5-CDF7-F7BD-1DBE-D1A55B24982B', 2024-09-29T17:50:10.480+09:00 'StatusCode' => 200,

Can you confirm this?

Accepted Answer

We see both of these were sent successfully, and received by the device.

Don't forget that VoIP pushes will be ignored by the device if your app fails to report VoIP pushes as incoming calls using reportNewIncomingCall(with:update:completion:)

If you fail to report a call to CallKit, the system will terminate your app. Repeatedly failing to report calls may cause the system to stop delivering any more VoIP push notifications to your app for a duration.

That is the likely reason for it, and it is something you need to debug on your end as we will have no visibility to what happens once the pushes are received by the device.

If you are failing to report VoIP pushes as incoming calls, then you will probably be seeing your app crashing with the code 0xbaadca11, which is an indicator that there is an issue with the app.


Argun Tekant /  DTS Engineer / Core Technologies

Thank you.

We will check if the reportNewIncomingCall function is called in the program. We will also check if a crash report has occurred.

We want to know why we don't get Voip notification
 
 
Q