Azure Communication Call Automation-Clientbibliothek für JavaScript – Version 1.3.0
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
- Ein Azure-Abonnement.
- Eine vorhandene Kommunikationsdiensteressource. Wenn Sie die Ressource erstellen müssen, können Sie das Azure Portal, die Azure PowerShell-oder die Azure CLI-verwenden.
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 answerCall zu initiieren. |
CallConnection |
CallConnection stellt einen laufenden Anruf dar. Sobald der Anruf mit createCall oder answerCall eingerichtet 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 CallConnection abgerufen werden. |
CallRecording |
CallRecording können verwendet werden, um verwandte Aktionen zu erfassen, z. B. startRecording . Dies kann aus CallAutomationClient abgerufen 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 answerCall bereitgestellt 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 answerCall beantwortet 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-. |
CallAutomationEventProcessor |
CallAutomationEventProcessor ist eine überzeugende Möglichkeit, Rückrufereignisse wie CallConnected in der Mitte zu behandeln. Dadurch wird die Korrelation zwischen Aufrufen und Ereignissen einfacher sichergestellt. Weitere Informationen finden Sie im folgenden Beispiel für die Verwendung. |
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);
Anruf erstellen
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
Um Mid-Connection-Ereignisse auf einfache Weise zu verarbeiten, bietet das SDK der Anrufautomatisierung eine einfachere Möglichkeit, diese Ereignisse zu behandeln. Sehen Sie sich CallAutomationEventProcessor an. Dadurch wird die Korrelation zwischen Aufrufen und Ereignissen einfacher 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: 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!;
}
Fehlerbehebung
Nächste Schritte
- Übersicht über die Anrufautomatisierung
- Konzept für eingehende Anrufe
- Erstellen eines Kundeninteraktionsworkflows mithilfe von Anrufautomatisierungs-
- Umleitung eingehender Telefonieanrufe mit
- Schnellstart: Aktion wiedergeben
- Schnellstart: Erkennen von Aktionen
- Weitere Informationen zur Anrufaufzeichnung in Azure Communication Services
- Aufzeichnen und Herunterladen von Anrufen mit event grid
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.
Azure SDK for JavaScript