Loading...

Introducing Azure Communication Services Call Diagnostics feature for web applications!

Introducing Azure Communication Services Call Diagnostics feature for web applications!

Introducing Azure Communication Services Call Diagnostics feature for web applications!

 

Today we are happy to announce that the Call Diagnostics feature is available in ACS web Calling SDK to help you to build applications with improved management of in-call experience quality. Many factors can influence the call quality: poor network, hardware issues, low volume, OS and permission errors, freezes, etc. You, as a developer, might not know about a specific issue affecting specific call quality or reliability. Microsoft constantly monitors and analyses technical parameters of calls and exposes hints within API.  You can use the tips to provide a better experience to your users. For example, you can suggest in UI (or force) to turn off the camera if bandwidth is not enough for both audio and video simultaneously. Or tip the user that they speak while being muted. The SDK does not have access, collect or analyze any personal data.

Screen Shot 2021-07-15 at 3.38.48 PM.png

Here are the diagnostics the Azure Communications Services JS SDK exposes:

  • Someone is on the video call and can’t see or hear the other party.
  • Someone is speaking while being muted.
  • Someone is experiencing bad video quality.
  • If your device is not connected to a network.
  • If during a call the WiFi signal goes on and off.
  • Low bandwidth, no internet connection.
  • All speakers are unplugged.
  • All microphones are unplugged.
  • Camera, microphone, speaker failures.
  • Permission’s errors.

Let go deeper to the Call Diagnostic APIs, which supports two types of modalities:

  1.    Media (audio, video, screen-sharing). Examples: noSpeakerDevicesEnumerated, speakingWhileMicrophoneIsMuted,  noMicrophoneDevicesEnumerated, cameraFreeze, cameraStartFailed, cameraStartTimedOut, microphoneNotFunctioning, microphoneMuteUnexpectedly, screenshareRecordingDisabled, microphonePermissionDenied, cameraPermissionDenied.
  2.   Network (everything related to user’s network). Examples: noNetwork, networkRelaysNotReachable, networkReconnect, networkReceiveQuality.

The exhaustive list of available call diagnostics per each group could be found in our documentation - Call diagnostics.

Call diagnostics is an extended feature of the core Call API. It's very simple to add the Call diagnostic feature to your app:

 

 

 

const callQualityApi = call.api(Features.Diagnostics);

 

 

 

Now all you need to do is subscribe to an event listener and once the diagnostic has been received, you will get a call-back.

 

 

 

callQualityApi.network.on('diagnosticChanged', diagnosticChangedListener); callQualityApi.media.on('diagnosticChanged', diagnosticChangedListener);

 

 

 

For more details on implementation please go to official documentation - Call diagnostics.

If you don’t have an active web application, you can download the web sample with already built-in diagnostics from our GitHub and run it.

 

Supported platforms

 

Call Diagnostics feature is available in JS Calling SDK starting 1.2.0-beta.1 and supported on the following desktop and mobile browsers:

 

  • Safari
  • Edge
  • Chrome

The User Facing diagnostics for other platforms (iOS, Android, Windows) are on roadmap

 

Price

 

There is no additional fee for call diagnostics.

 

Getting started

 

Check out our getting started guides:

 

Give us your feedback

 

Your feedback is our main factor in prioritizing work items. Please share your ideas, opinions, and suggestions on our GitHub. We appreciate your help!

 

Published on:

Learn more
Azure Communication Services Blog
Azure Communication Services Blog

Azure Communication Services Blog articles

Share post:

Related posts

Introducing Azure HorizonDB - PostgreSQL

Run enterprise Postgres workloads on Azure HorizonDB with around 3x the throughput of self-managed deployments — zone-resilient by default, no...

1 hour ago

Azure DevOps and GitHub: Journeying into the AI Era

AI is changing how software gets planned, built, and reviewed. As teams adopt agentic development, the platform underneath those workflows mat...

22 hours ago

Introducing azure-functions-skills: An AI-Era Workspace for Azure Functions (Preview)

azure-functions-skills gives GitHub Copilot CLI, Claude Code, Codex CLI, and VS Code the skills, MCP configuration, hooks, and instructions ne...

23 hours ago

Announcing the Public Preview of Integrated Embeddings in Azure Cosmos DB: Build AI Apps With Embeddings That Stay in Sync

AI applications built on Azure Cosmos DB depend on embeddings for grounded results. Keeping them in sync with your data is the hard part: it m...

23 hours ago

Introducing OmniVec: An Open-Source Embedding Platform for AI Apps on Azure

Today we are open-sourcing OmniVec, a platform for building and operating the embedding pipelines that keep the vector representation of your ...

23 hours ago

Azure Cosmos DB All Versions and Deletes Change Feed Mode is Now Generally Available

Modern applications don’t just write data and move on. They react to it. A new order triggers an inventory update. A profile change sync...

23 hours ago

Change Partition Keys in Azure Cosmos DB is Now Generally Available

We’re excited to announce the general availability of Change Partition Key in Azure Cosmos DB for NoSQL, now with online copy support. Y...

23 hours ago

Announcing the General Availability of Per Partition Automatic Failover for Azure Cosmos DB NoSQL

Today, we are excited to announce the General Availability of Per Partition Automatic Failover (PPAF) for Azure Cosmos DB NoSQL API. PPAF is a...

23 hours ago

Public Preview: AI-powered Azure Cosmos DB Migration Assistant for RDBMS to NoSQL

Today, we are excited to announce the public preview of the Azure Cosmos DB Migration Assistant for RDBMS to NoSQL, now available in the Azure...

23 hours ago

Azure Cosmos DB MCP Toolkit Is Now Generally Available — Bringing Your Database to AI Agents at Scale

Since we introduced the Azure Cosmos DB MCP Toolkit at Ignite 2025 in preview, the response has been clear: developers want a straightforward ...

23 hours ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy