Freigeben über


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

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

Übersicht über die Anrufautomatisierung | Produktdokumentation

Erste Schritte

Voraussetzungen

Installation

npm install @azure/communication-call-automation

Browserunterstützung

JavaScript-Bündel

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

Schlüsselkonzepte

Name Beschreibung
CallAutomationClient CallAutomationClient ist die primäre Schnittstelle für Entwickler, die diese Clientbibliothek verwenden. Sie kann verwendet werden, um Anrufe durch createCall oder answerCallzu initiieren.
CallConnection CallConnection stellt einen laufenden Anruf dar. Sobald der Anruf mit createCall oder answerCalleingerichtet wurde, können weitere Aktionen für den Anruf ausgeführt werden, z. B. transfer oder addParticipant.
CallMedia CallMedia können zum Wiedergeben von Mediendateien verwendet werden, z. B. play. Dies kann aus etablierten CallConnectionabgerufen werden.
CallRecording CallRecording können verwendet werden, um verwandte Aktionen zu erfassen, z. B. startRecording. Dies kann aus CallAutomationClientabgerufen werden.
Rückrufereignisse Rückrufereignisse sind Ereignisse, die während der Dauer des Anrufs zurückgesendet werden. Er gibt Informationen und den Status des Anrufs an, z. B. CallConnected. CallbackUrl müssen während createCall und answerCallbereitgestellt werden, und Rückrufereignisse werden an diese URL gesendet. Sie können callAutomationEventParser verwenden, um diese Ereignisse beim Eintreffen zu analysieren.
Eingehendes Anrufereignis Wenn eingehender Anruf stattfindet (das mit answerCallbeantwortet werden kann), wird das Eventgrid-Ereignis für eingehende Anrufe gesendet. Dies unterscheidet sich von den oben genannten Rückrufereignissen und sollte im Azure-Portal eingerichtet werden. Ausführliche Informationen finden Sie unter eingehenden Anruf-.

Beispiele

Initialisieren von CallAutomationClient

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

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

Anruf erstellen

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

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

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

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

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

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

Medien wiedergeben

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

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

const target = { communicationUserId: "8:acs:..." };
const callInvite = { targetParticipant: target };
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

const createCallResult = await callAutomationClient.createCall(callInvite, callbackUrl);
const callConnection = createCallResult.callConnection;
// from callconnection of response above, play media of media file
const myFile: FileSource = { url: "https://<FILE-SOURCE>/<SOME-FILE>.wav", kind: "fileSource" };
const response = await callConnection.getCallMedia().playToAll([myFile]);

Fehlerbehebung

Protokollierung

Das Aktivieren der Protokollierung kann hilfreiche Informationen zu Fehlern aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die AZURE_LOG_LEVEL Umgebungsvariable auf infofest. Alternativ kann die Protokollierung zur Laufzeit durch Aufrufen von setLogLevel im @azure/loggeraktiviert werden:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Nächste Schritte

Beitragend

Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie bitte den mitwirkenden Leitfaden, um mehr über das Erstellen und Testen des Codes zu erfahren.