Dela via


Azure Communication Call Automation-klientbibliotek för JavaScript – version 1.3.0

Det här paketet innehåller en JavaScript SDK för Azure Communication Call Automation. Med Call Automation kan utvecklare skapa serverbaserade, intelligenta samtalsarbetsflöden och samtalsinspelning för röst- och PSTN-kanaler.

översikt över dokumentationen om | Produkt för samtalsautomatisering

Komma igång

Förutsättningar

Installera

npm install @azure/communication-call-automation

Stöd för webbläsare

JavaScript-paket

Om du vill använda det här klientbiblioteket i webbläsaren måste du först använda en bundler. Mer information om hur du gör detta finns i vår paketeringsdokumentation.

Viktiga begrepp

Namn Beskrivning
CallAutomationClient CallAutomationClient är det primära gränssnittet för utvecklare som använder det här klientbiblioteket. Den kan användas för att initiera anrop av createCall eller answerCall.
CallConnection CallConnection representerar ett pågående anrop. När anropet har upprättats med createCall eller answerCallkan ytterligare åtgärder utföras för anropet, till exempel transfer eller addParticipant.
CallMedia CallMedia kan användas för att utföra medierelaterade åtgärder, till exempel play, för att spela upp mediefilen. Detta kan hämtas från etablerade CallConnection.
CallRecording CallRecording kan användas för att utföra inspelningsrelaterade åtgärder, till exempel startRecording. Detta kan hämtas från CallAutomationClient.
Motringningshändelser Återanropshändelser är händelser som skickas tillbaka under samtalets varaktighet. Det ger information och tillstånd för anropet, till exempel CallConnected. CallbackUrl måste anges under createCall och answerCall, och återanropshändelser skickas till den här URL:en. Du kan använda callAutomationEventParser för att parsa dessa händelser när de kommer.
Inkommande samtalshändelse När inkommande samtal inträffar (som kan besvaras med answerCall) skickas händelsen eventgrid för inkommande samtal. Detta skiljer sig från motringningshändelser ovan och bör konfigureras på Azure-portalen. Mer information finns i inkommande samtal.
CallAutomationEventProcessor CallAutomationEventProcessor är ett convinient sätt att hantera händelser för återanrop mitt i samtalet, till exempel CallConnected. Detta säkerställer korrelation mellan anrop och händelser enklare. Se exemplet nedan för dess användning.

Exempel

Initiera CallAutomationClient

import { CallAutomationClient } from '@azure/communication-call-automation';
import { DefaultAzureCredential } from "@azure/identity"; 

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential(); 
const endpointUrl = '<ENDPOINT>' 
const callAutomationClient = new CallAutomationClient(endpointUrl, credential); 

Skapa samtal

import { CommunicationUserIdentifier } from "@azure/communication-common";
import { CallAutomationClient, CallInvite } from '@azure/communication-call-automation';

// target endpoint for ACS User
const target: CommunicationUserIdentifier = {
  communicationUserId:
    "8:acs:...",
}

// make invitation
const callInvite: CallInvite = {
   targetParticipant:target
};

// callback url to recieve callback events
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

// send out the invitation, creating call
const response = callAutomationClient.createCall(callInvite, callbackUrl);

Spela upp media

// from callconnection of response above, play media of media file
const myFile: FileSource = { uri: "https://<FILE-SOURCE>/<SOME-FILE>.wav" }
const response = callConnection.getCallMedia().playToAll(myFile);

Hantera Mid-Connection motringningshändelser

För att enkelt hantera händelser mellan anslutningar ger Call Automations SDK enklare sätt att hantera dessa händelser. Ta en titt på CallAutomationEventProcessor. Detta säkerställer korrelation mellan anrop och händelser enklare.

const eventProcessor: CallAutomationEventProcessor = await callAutomationClient.getEventProcessor();
eventProcessor.processEvents(incomingEvent);

ProcessEvents krävs för att EventProcessor ska fungera. När händelsen förbrukas av EventProcessor kan du börja använda dess funktion.

Se nedan till exempel: där du ringer ett anrop med CreateCall och väntar på CallConnected-händelsen för samtalet.

// send out the invitation, creating call
const callInvite = new CallInvite(target);
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";
const callResult = callAutomationClient.createCall(callInvite, callbackUrl);

// giving 30 seconds timeout for waiting on createCall's event, 'CallConnected'
const createCallEventResult : CreateCallEventResult = await callResult.waitForEventProcessor(undefined, 30000);
// once this returns, call is now established!

// check if it was successful
if (createCallEventResult.isSuccess)
{
  // work with callConnected event
  const callConnectedEvent : CallConnected = createCallEventResult.successResult!;
}

Felsökning

Nästa steg

Bidragande

Om du vill bidra till det här biblioteket kan du läsa bidragsguide för att lära dig mer om hur du skapar och testar koden.