Issue with web call recording

Vishal Maurya 0 Reputation points
2025-07-02T09:08:20.77+00:00

How we can record a call do we need backend for that ? . can you please provide the code for frontend and backend?

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

2 answers

Sort by: Most helpful
  1. Vishal Maurya 0 Reputation points
    2025-07-03T04:53:06.45+00:00

    do we need to do any setup on azure? and how can I get the serverCallId, callbackUrl and containerUrl ? and by using this we can any kind of call like room call, simple call,


  2. Bhargavi Naragani 6,535 Reputation points Microsoft External Staff Moderator
    2025-07-03T05:32:32.07+00:00

    Hi Vishal Maurya,

    Yes, there are 3 main setup steps you'll need to complete in your Azure environment:

    1. Create an Azure Communication Services (ACS) Resource, this is the core service for enabling voice/video calls and recording. Go to the Azure Portal: https://portal.azure.com, Search for “Communication Services”. Click Create, give it a name and region. Once created, you'll get a Connection String, this is used in your backend code Create ACS Resource
    2. Set Up Azure Blob Storage (for storing recordings), Recordings are securely stored in Azure Blob. Here's how: Go to the Azure Portal => Storage accounts - Create a new storage account - inside it, create a Container (e.g., recordings) Enable public access = private (secure), generate a Shared Access Signature (SAS) for your container, this becomes your containerUrl. Grant access using SAS
    3. Create a Backend API or Azure Function for Recording - This backend is responsible for securely triggering startRecording() and managing tokens.

    Get the Required Parameters:

    Parameter How to Get It
    serverCallId After a call is created or joined via Call Automation, the server returns a serverCallId. You’ll find this in the response of createCall()or joinCall().
    callbackUrl This is a URL to your publicly accessible endpoint (API/Function App) that receives recording status updates. You can use Azure Function with HTTP trigger.
    containerUrl This is the SAS URL of your Azure Blob Storage container where recordings will be stored.

    Sample Flow with Call Automation

    // Backend example: Join Call and Get serverCallId
    const callConnection = await callAutomationClient.createCall({
      source: { phoneNumber: "<ACS phone>" },
      targets: [{ phoneNumber: "<User phone>" }],
      callbackUri: "<Your webhook callback URL>"
    });
    const serverCallId = callConnection.properties.callConnectionId;
    

    Call Automation - Create/Join Calls

    by using this we can any kind of call like room call, simple call?

    Yes, using Azure Communication Services (ACS) Call Recording, you can record both types of calls

    0 comments No comments

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.