Azure Communication Services Blog articles

Azure Communication Services Blog articles

https://techcommunity.microsoft.com/t5/azure-communication-services/bg-p/AzureCommunicationServicesBlog

Azure Communication Services Blog articles

How to maintain the Quality of the ACS web calling

Published

How to maintain the Quality of the ACS web calling

Troubleshooting Quality Issues for ACS web VOIP Calling

In today's world, Voice over Internet Protocol (VOIP) has become an essential communication tool for businesses, organizations, and individuals is a cloud-based communication platform that provides VOIP calling, video conferencing, and messaging services. However, there are times when customers experience quality issues while making VOIP calls using ACS.
In this post, we will discuss the possible causes of such issues and some troubleshooting steps to help you resolve them.

Quality in VOIP calls in terms of network is measured based on four parameters: Round Trip Time (RTT), Packet Loss, Jitter, and CODEC TYPE. applications and native client applications have differences in terms of call quality. WebRTC for ACS is based on the Opus codec. This is one of the main reasons why we see differences in the quality of WebRTC and Native applications. However, it does not mean that WebRTC quality is inferior. ACS offers one of the best quality of calls among other products in the market.

One of the conditions that need to be satisfied for smooth audio calls is a minimum bandwidth of 50kbps, and for video calls, it should be more than 500 kbps. Customers can perform the following troubleshooting steps to ensure quality VOIP calls using ACS:

Pre call check-up:

  1.             Check if you are working from home or office. Office networks usually offer better bandwidth and stability compared to private networks.
  2.             Use the diagnostic tool available at https://azurecommdiagnostics.net/  to check if the network on your machine is good enough. This tool will check all the essential parameters and help you determine if the network on your local machine is good enough. This can also be tested on mobile devices.
  3.           Customers should enable the logging via diagnostic settings in Azure monitor.
     Reference for the link : Azure Communication Services-Enable Azure Monitor - An Azure Communication Services concept document | Microsoft Learn
  4. Once the logs are enabledinsights in your Azure resource: Azure Communication Services Voice and Video Insights Preview - An Azure Communication Services concept document | Microsoft Learn
  5. Volume Indicator API
       
    The input and output indicator will indicate if a user’s volume is low, you can prompt the user to speak louder.

              Link for the reference: Quickstart - Add volume indicator to your Web calling app - An Azure Communication Services quickstart | Microsoft Learn

     6.     [Private Preview].   Video Constraints: You can improve the audio quality in poor network environments by reducing the amount of bandwidth users video streams consume.

Link for the reference : Azure Communication Services Video constraints - An Azure Communication Services concept document | Microsoft Learn

  1.   [Private Preview]  The Pre-Call API enables developers to programmatically validate a client’s readiness to join an Azure Communication Services Call. The Pre-Call APIs can be accessed through the Calling SDK. They provide multiple diagnostics including device, connection, and call quality. Pre-Call APIs are available only for Web (JavaScript). We'll be enabling these capabilities across platforms in the future, provide us with feedback on what platforms you would like to see Pre-Call APIs on.
    Reference Link : Azure Communication Services Pre-Call diagnostics - An Azure Communication Services concept document | Microsoft Learn

 

  1.    Also, make sure that the application which you are using for web calling is hosted on the latest sdk
       Link for the reference : Communication/acs-javascript-calling-library-release-notes.md at master · Azure/Communication · GitHub

    Mid call Check-ups:
    9. Developers can enable UFD’s (User facing diagnostics) in the web calling applications. UFD’s help the end customers to check and keep them updated what exactly is wrong with the call, for eg., if the network is bad or microphone is not responding etc.

    Reference link for the UFD’s: Azure Communication Services User Facing Diagnostics - An Azure Communication Services concept document | Microsoft Learn

    10.Enabling media stats on the web calling application will help to debug and troubleshoot any quality related issues on ACS Web calling.
    Media stats includes, RTT, bitrates, Packet loss, Jitter etc.
    It would help the engineers understand at what time what went wrong on the call which could be corrected.

    Reference link for the media stats: Azure Communication Services Media Quality metrics - An Azure Communication Services concept document | Microsoft Learn

    11.Sometimes users may have multiple browsers tabs with instances of ACS running that can cause disrupt audio and video behaviour on the target call. To check if user has multiple instances of ACS running in a browser.
    Link for the reference: Verify if an application is active in multiple tabs of a browser - An Azure Communication Services how-to guide | Microsoft Learn


Post Call Check-ups:

  1.          Check the log insights from the Azure portal for calling to determine the exact issue during the call. For more information, refer to https://learn.microsoft.com/en-us/azure/communication-services/concepts/analytics/query-call-logs.
  2.          If you have checked all the above steps and still face quality issues, open a case with MS. If necessary, MS can run a network check for your tenant to ensure that the quality of the calls is maintained.
  3. End of Call Survey

Allows Azure Communication Service users to submit qualitative feedback on their call experience.



Important Notes:

Teams interop call logs:
Use CQD to manage call and meeting quality in Microsoft Teams - Microsoft Teams | Microsoft Learn

Calling SDK error codes: Troubleshooting in Azure Communication Services | Microsoft Learn
These codes can help in determine why the call was ended with disruptions.

Checklist :To ensure smooth functioning of the application and provide better user experience, app developers should follow a checklist. For more information, refer to https://techcommunity.microsoft.com/t5/azure-communication-services/checklist-for-advanced-calling-experiences-in-web-browsers/ba-p/3266312.

Please do refer the Best Practices for ACS web calling as well : Azure Communication Services - best practices | Microsoft Learn

In conclusion, VOIP calling using ACS is an efficient and reliable way to communicate. However, quality issues may arise due to various reasons. By following the troubleshooting steps mentioned above and adhering to the checklist, you can ensure a better user experience while making VOIP calls using ACS.

Network recommendation for the customers: Prepare your organization's network for Azure Communication Services - An Azure Communication Services concept document | Microsoft Learn

 

 

Continue to website...

More from Azure Communication Services Blog articles

Related Posts