Share via


Azure Communication Call Automation-Clientbibliothek für JavaScript – Version 1.2.0

Dieses Paket enthält ein JavaScript SDK für Azure Communication Call Automation. Die Anrufautomatisierung bietet Entwicklern die Möglichkeit, serverbasierte, intelligente Anrufworkflows und Anrufaufzeichnungen für Sprach- und PSTN-Kanäle zu erstellen.

Übersicht über die Anrufautomatisierung | Produktdokumentation

Erste Schritte

Voraussetzungen

Installieren von

npm install @azure/communication-call-automation

Browserunterstützung

JavaScript-Bundle

Um diese Clientbibliothek im Browser zu verwenden, müssen Sie zunächst einen Bundler verwenden. Ausführliche Informationen dazu finden Sie in unserer Bündelungsdokumentation.

Wichtige Begriffe

Name BESCHREIBUNG
CallAutomationClient CallAutomationClient ist die primäre Schnittstelle für Entwickler, die diese Clientbibliothek verwenden. Sie kann verwendet werden, um Aufrufe von createCall oder answerCallzu initiieren.
CallConnection CallConnection stellt einen fortlaufenden Aufruf dar. Sobald der Aufruf mit createCall oder answerCalleingerichtet wurde, können weitere Aktionen für den Aufruf ausgeführt werden, z transfer . B. oder addParticipant.
CallMedia CallMedia kann verwendet werden, um medienbezogene Aktionen auszuführen, z. B play. , um eine Mediendatei wiederzugeben. Dies kann von eingerichteten CallConnectionabgerufen werden.
CallRecording CallRecording kann zum Aufzeichnen verwandter Aktionen verwendet werden, z. B startRecording. . Dies kann von CallAutomationClientabgerufen werden.
Rückrufereignisse Rückrufereignisse sind Ereignisse, die während der Dauer des Anrufs zurückgesendet werden. Es gibt Informationen und den Zustand des Aufrufs, z. B CallConnected. . CallbackUrl müssen während createCall und answerCallbereitgestellt werden, und Rückrufereignisse werden an diese URL gesendet. Sie können verwenden callAutomationEventParser , um diese Ereignisse beim Eintreffen zu analysieren.
Ereignis für eingehende Anrufe Wenn ein eingehender Anruf erfolgt (der mit answerCallbeantwortet werden kann), wird ein eingehender Anruf eventgrid-Ereignis gesendet. Dies unterscheidet sich von den oben genannten Rückrufereignissen und sollte für Azure-Portal eingerichtet werden. Weitere Informationen finden Sie unter Eingehender Anruf .
CallAutomationEventProcessor CallAutomationEventProcessor ist eine bequeme Methode zum Behandeln von Rückrufereignissen wie CallConnected. Dadurch wird die Korrelation zwischen Aufrufen und Ereignissen leichter sichergestellt. Sehen Sie sich das folgende Beispiel für die Verwendung an.

Beispiele

Initialisieren von 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); 

Create Anruf

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);

Medien wiedergeben

// 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);

Behandeln von Mid-Connection Rückrufereignissen

Das SDK von Call Automation bietet eine einfachere Möglichkeit, diese Ereignisse zu behandeln, um Ereignisse in der Mitte der Verbindung problemlos zu verarbeiten. Sehen Sie sich CallAutomationEventProcessor an. Dadurch wird die Korrelation zwischen Aufrufen und Ereignissen leichter sichergestellt.

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

ProcessEvents ist erforderlich, damit EventProcessor funktioniert. Nachdem das Ereignis von EventProcessor genutzt wurde, können Sie mit der Verwendung des Features beginnen.

Siehe unten beispiel: Wo Sie einen Anruf mit CreateCall tätigen und auf das CallConnected-Ereignis des Anrufs warten.

// 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!;
}

Problembehandlung

Nächste Schritte

Mitwirken

Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.