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
- Ein Azure-Abonnement.
- Eine vorhandene Communication Services-Ressource. Wenn Sie die Ressource erstellen müssen, können Sie das Azure-Portal, die Azure PowerShell oder die Azure CLI verwenden.
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 answerCall zu initiieren. |
CallConnection | CallConnection stellt einen fortlaufenden Aufruf dar. Sobald der Aufruf mit createCall oder answerCall eingerichtet 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 CallConnection abgerufen werden. |
CallRecording | CallRecording kann zum Aufzeichnen verwandter Aktionen verwendet werden, z. B startRecording . . Dies kann von CallAutomationClient abgerufen 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 answerCall bereitgestellt 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 answerCall beantwortet 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
- Übersicht über die Anrufautomatisierung
- Konzept für eingehende Anrufe
- Erstellen eines Kundeninteraktionsworkflows mithilfe von Anrufautomatisierung
- Umleiten eingehender Telefonanrufe mit der Anrufautomatisierung
- Schnellstart: Wiedergabeaktion
- Schnellstart: Erkennen von Aktion
- Weitere Informationen zur Anrufaufzeichnung in Azure Communication Services
- Aufzeichnen und Herunterladen von Anrufen mit Event Grid
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.
Azure SDK for JavaScript
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für