Azure Comms phone calling service. Possible connectivity and freezing issues....

Dylan Olney 20 Reputation points
2025-06-11T13:51:16.2966667+00:00

Hi,

I'm developing a web application for a client that uses the Azure Comms phone calling service. I'm utilizing the latest @azure/communication-calling NPM library for the creation of the call agent on the front-end. I have a C# back-end service which provides an event webhook endpoint for catching incoming call events, and this in turn redirects the calls to the appropriate Azure Comms identities.

All of this has been working fine for me in that the front-end agent detects the incoming calls, and they can be accepted or rejected by the user. Outbound calls can also be successfully made from the app. However, testers have begun to notice lately that sometimes while attempting to make an outbound call, it seems to get terminated before it even starts dialing. Other times, a call to the same number will work fine. This early / immediate termination of the outbound call is the same thing as what happens if the recipient number is invalid or doesn't exist, but something like that would be expected in that case.

Testers have also reported a few cases where after initiating a call and after having been on the line for a few minutes, the audio for the person at the other end suddenly drops out, but the user can still hear them. Meanwhile, the front-end application has locked up and become unresponsive, as if the call agent had gone into an infinite loop or something, and had started to use up all of the browser's resources.

A stable and reliable phone line integration is crucial to the success of this project, so any help anyone might have regarding these issues would be greatly appreciated.

Regards,

Dylan Olney

Azure Communication Services
Azure Communication Services
An Azure communication platform for deploying applications across devices and platforms.
1,234 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Siva Nair 2,420 Reputation points Microsoft External Staff Moderator
    2025-06-11T22:09:54.3233333+00:00

    Hi Dylan Olney

    When you're using the internet at various locations, you experience different internet speeds. some factors can affect internet speed and reliability:

    Because of this variability, it's important to test the network connection and settings of your machine. You can run a network diagnostic check by using the Azure Communication Services Network Diagnostic tool. This tool checks all the essential parameters to help you determine if the network connection at your local machine is compatible with Azure Communication Services. You can also run this tool on mobile devices. For more information about network quality, bandwidth, configuration, and optimization, see Network recommendations.

    You can also take advantage of these features in Azure Communication Services:

    • Enable logging via diagnostic settings in Azure Monitor. You can then view call insights in your Azure resource.
    • Improve audio quality in poor network environments by using video constraints to reduce the bandwidth that users of video streams consume.
    • Programmatically validate a client's readiness to join an Azure Communication Services call by using the Pre-Call API. You access this API through the Calling SDK. It provides multiple diagnostics, including device, connection, and call quality. This feature is currently available only for the web (JavaScript).
    1. Outbound calls terminating immediately
    • Inspect Call End Codes Use server-side logs or ACS Call Diagnostics to examine ParticipantEndReason, ParticipantEndSubCode, and ResultCategories for failures. For instance, a 404 typically means “callee not found” while 500 indicates a service error officegarageitpro.medium.com+15learn.microsoft.com+15learn.microsoft.com+15learn.microsoft.com+2stackoverflow.com+2github.com+2.
    • Enable detailed client-side logging:
        setLogLevel('verbose');
        setLogFunction((level, msg) => console.log(`[ACS][${level}] ${msg}`));
      
      Look for ICE/STUN negotiation errors or WebRTC signaling failures.
    • SDK version 1.35.1-beta.1 added more detailed subcodes (e.g., 71005) for validation errors learn.microsoft.comgithub.com+1learn.microsoft.com+1. Upgrading or downgrading could reveal misconfigurations.
    • Network & ICE troubleshooting: Ensure proper STUN/TURN connectivity and no UDP port blocks. If NAT/firewall issues exist, ICE fallback may be slow or unsuccessful.
    1. Audio drops and frontend freezing mid-call

    Known browser/device issues for audio loss:

    Freezing due to device interruptions or GPU exhaustion:

    • On iOS Safari, backgrounding or interruptions (calls, Siri, YouTube) can cause freezing learn.microsoft.com.
    • PCs may experience freezes if set to render video effects (e.g., background blur on Safari/macOS).
    • Leaks in JS event handlers or media streams: Unreleased call.on(...), deviceManager.on(...) listeners or persistent media streams can gradually degrade memory and CPU.

    If you have any further assistant, do let me know.

    0 comments No comments

  2. Dylan Olney 20 Reputation points
    2025-06-12T14:47:50.0466667+00:00

    Hi Siva,

    Thanks very much for your prompt and detailed response. The information provided and your recommendations about the logging will no doubt be very useful in diagnosing and tackling the issues.

    Regards,

    Dylan.


Your answer

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