Share via

React Native + Azure Communication Services Calling (iOS CallKit/VoIP pushes) intermittently missing inbound calls

andrew zuercher 0 Reputation points
2026-01-09T00:50:59.6033333+00:00

Hi Microsoft team,

We have a React Native mobile application using Azure Communication Services (ACS) Calling and are seeing an intermittent issue where inbound calls are missed (no incoming call UI / no ring / CallKit not triggered). The behavior is highly inconsistent and happens infrequently enough that we haven’t been able to isolate a deterministic cause.

Environment / Implementation

  • React Native app

ACS Calling

iOS: CallKit for presenting incoming calls

Push notifications (VoIP push for CallKit incoming call handling)

NPM packages:

@azure/communication-common (used with native modules)

iOS native SDK:

  `AzureCommunicationCalling` pod
  

Symptoms

Inbound calls sometimes do not surface on the device (no CallKit incoming call UI).

It appears to be an “app receives no call” scenario rather than UI failing after receipt (but we’re not fully certain yet).

Happens across builds intermittently; we have not yet found reliable reproduction steps.

What we’re looking for

Any guidance on:

Common causes of intermittent inbound call delivery issues with ACS Calling + CallKit/VoIP pushes.

Whether there are known constraints/requirements around background states (terminated/background/foreground), timing windows, token refresh, etc.

What diagnostic logging and correlation IDs we should capture (ACS logs, CallKit callbacks, Push receipt timestamps) to help identify whether the failure is:

push not delivered,

  push delivered but not processed,
  
     ACS call invite not reaching device,
     
        CallKit invocation failing.
        

Additional details we can provide

If helpful, we can share:

iOS version(s) / device models affected

App state when it occurs (foreground/background/terminated)

Push provider details and whether we’re using APNs VoIP pushes

Timestamped logs around:

push receipt (didReceiveIncomingPushWith)

  CallKit report (`reportNewIncomingCall`)
  
     ACS calling SDK events/callbacks
     
     Whether this differs between **TestFlight** and **App Store** builds
     

Question: Are there known pitfalls or required patterns for ACS Calling + CallKit + VoIP push notifications in a React Native app that could explain intermittent missed inbound calls? What’s the recommended set of logs/IDs to capture so Microsoft can help pinpoint the root cause?

Thank youHi Microsoft team,

We have a React Native mobile application using Azure Communication Services (ACS) Calling and are seeing an intermittent issue where inbound calls are missed (no incoming call UI / no ring / CallKit not triggered). The behavior is highly inconsistent and happens infrequently enough that we haven’t been able to isolate a deterministic cause.

Environment / Implementation

React Native app

ACS Calling

iOS: CallKit for presenting incoming calls

Push notifications (VoIP push for CallKit incoming call handling)

NPM packages:

@azure/communication-common (used with native modules)

iOS native SDK:

  `AzureCommunicationCalling` pod
  

Symptoms

Inbound calls sometimes do not surface on the device (no CallKit incoming call UI).

It appears to be an “app receives no call” scenario rather than UI failing after receipt (but we’re not fully certain yet).

Happens across builds intermittently; we have not yet found reliable reproduction steps.

What we’re looking for

Any guidance on:

Common causes of intermittent inbound call delivery issues with ACS Calling + CallKit/VoIP pushes.

Whether there are known constraints/requirements around background states (terminated/background/foreground), timing windows, token refresh, etc.

What diagnostic logging and correlation IDs we should capture (ACS logs, CallKit callbacks, Push receipt timestamps) to help identify whether the failure is:

push not delivered,

  push delivered but not processed,
  
     ACS call invite not reaching device,
     
        CallKit invocation failing.
        

Additional details we can provide

If helpful, we can share:

iOS version(s) / device models affected

App state when it occurs (foreground/background/terminated)

Push provider details and whether we’re using APNs VoIP pushes

Timestamped logs around:

push receipt (didReceiveIncomingPushWith)

  CallKit report (`reportNewIncomingCall`)
  
     ACS calling SDK events/callbacks
     
     Whether this differs between **TestFlight** and **App Store** builds
     

Question: Are there known pitfalls or required patterns for ACS Calling + CallKit + VoIP push notifications in a React Native app that could explain intermittent missed inbound calls? What’s the recommended set of logs/IDs to capture so Microsoft can help pinpoint the root cause?

Thank you

Azure Communication Services
0 comments No comments

2 answers

Sort by: Most helpful
  1. Shree Hima Bindu Maganti 7,580 Reputation points Microsoft External Staff Moderator
    2026-01-22T13:16:40.9266667+00:00

    Hi @andrew zuercher
    Intermittent missed inbound calls on iOS when using React Native with Azure Communication Services Calling, CallKit, and VoIP push notifications are usually due to iOS platform limitations rather than issues with the ACS service. Apple requires apps to invoke CallKit (reportNewIncomingCall) immediately upon receiving a VoIP push, with minimal processing. Delays such as waiting for React Native bridge startup, network requests, or ACS SDK initialization can lead iOS to terminate the app or throttle future VoIP pushes, resulting in missed calls. Missed calls can also happen if the ACS access token is expired or nearly expired when the VoIP push arrives, especially if the app is in the background or closed, as ACS does not retry inbound call signaling. Reliability depends on app state (foreground, background, terminated) and may differ between TestFlight and App Store builds because of Apple’s stricter background and push policies. To improve reliability, Microsoft recommends handling VoIP push and CallKit logic entirely in native iOS code, invoking CallKit before initializing the ACS SDK, keeping tokens valid, and logging detailed events and timestamps. These requirements are detailed in Apple’s and Microsoft’s documentation, which explain why missed inbound calls can occur if timing or app lifecycle conditions aren’t met.
    https://learn.microsoft.com/en-us/azure/communication-services/how-tos/calling-sdk/callkit-integration?wt.mc_id=knowledgesearch_inproduct_azure-cxp-community-insider#callkit-integration-within-sdk
    https://learn.microsoft.com/en-us/azure/communication-services/how-tos/calling-sdk/push-notifications?wt.mc_id=knowledgesearch_inproduct_azure-cxp-community-insider&pivots=platform-web#set-up-your-system
    https://learn.microsoft.com/en-us/azure/communication-services/concepts/voice-video-calling/network-requirements
    Let me know if you have any further assistances needed.

    Was this answer helpful?

    0 comments No comments

  2. AI answer

    2026-01-09T00:51:09.62+00:00

    Common causes for intermittent inbound call delivery issues with Azure Communication Services (ACS) Calling and CallKit/VoIP pushes can include:

    1. Background State Management: Ensure that your app properly handles transitions between foreground, background, and terminated states. In iOS, VoIP pushes may not be delivered if the app is terminated or not in a state to receive them.
    2. Push Notification Handling: Verify that your VoIP push notifications are configured correctly and that the app is set up to handle them appropriately. If the push notifications are not being delivered or processed correctly, this could lead to missed calls.
    3. Token Management: Ensure that your push notification tokens are refreshed and valid. If the token is expired or invalid, the push notifications may not reach the device.
    4. CallKit Configuration: Make sure that CallKit is properly configured and that the reportNewIncomingCall method is being called correctly when a push notification is received.
    5. Network Conditions: Intermittent network issues can also affect the delivery of calls and push notifications. Ensure that the device has a stable network connection when testing.

    For diagnostic logging, consider capturing the following:

    • Push Notification Receipt: Log timestamps around the didReceiveIncomingPushWith method to see when the push is received.
    • CallKit Reports: Capture logs for reportNewIncomingCall to ensure that it is being called as expected.
    • ACS Call Events: Log events and callbacks from the ACS calling SDK to track the call lifecycle.
    • Correlation IDs: Track CallID to correlate logs across different components (push notifications, CallKit, ACS).

    By gathering this information, you can help identify whether the issue is due to push notifications not being delivered, delivered but not processed, or if there are issues with the ACS call invite or CallKit invocation.


    References:

    AI-generated content may be incorrect. Read our transparency notes for more information.

    Was this answer helpful?

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.