Delen via


Azure Communication Call Automation-clientbibliotheek voor JavaScript - versie 1.2.0

Dit pakket bevat een JavaScript-SDK voor Azure Communication Call Automation. Oproepautomatisering biedt ontwikkelaars de mogelijkheid om op servers gebaseerde, intelligente oproepwerkstromen en oproepopnamen te bouwen voor spraak- en PSTN-kanalen.

Overzicht van Gespreksautomatisering | Productdocumentatie

Aan de slag

Vereisten

Installeren

npm install @azure/communication-call-automation

Browserondersteuning

JavaScript-bundel

Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundler gebruiken. Raadpleeg onze bundeldocumentatie voor meer informatie over hoe u dit doet.

Belangrijkste concepten

Naam Beschrijving
CallAutomationClient CallAutomationClient is de primaire interface voor ontwikkelaars die deze clientbibliotheek gebruiken. Het kan worden gebruikt om aanroepen createCall door of answerCallte initiƫren.
CallConnection CallConnection vertegenwoordigt een doorlopende oproep. Zodra de aanroep tot stand is gebracht met createCall of answerCall, kunnen verdere acties voor de aanroep worden uitgevoerd, zoals transfer of addParticipant.
CallMedia CallMedia kan worden gebruikt om mediagerelateerde acties uit te voeren, zoals play, om een mediabestand af te spelen. Dit kan worden opgehaald uit tot stand gebrachte CallConnection.
Oproeprecording CallRecording kan worden gebruikt voor het uitvoeren van opnamegerelateerde acties, zoals startRecording. Dit kan worden opgehaald uit CallAutomationClient.
Callback-gebeurtenissen Callback-gebeurtenissen zijn gebeurtenissen die worden teruggestuurd tijdens de duur van de oproep. Het geeft informatie en status van de aanroep, zoals CallConnected. CallbackUrl moet worden opgegeven tijdens createCall en answerCall, en callback-gebeurtenissen worden verzonden naar deze URL. U kunt gebruiken callAutomationEventParser om deze gebeurtenissen te parseren wanneer deze binnenkomen.
Gebeurtenis binnenkomende oproep Wanneer een binnenkomende oproep plaatsvindt (die kan worden beantwoord met answerCall), wordt de eventgrid-gebeurtenis voor binnenkomende oproep verzonden. Dit verschilt van callback-gebeurtenissen hierboven en moet worden ingesteld op Azure Portal. Zie Inkomende oproep voor meer informatie.
CallAutomationEventProcessor CallAutomationEventProcessor is een convinient manier om callbackgebeurtenissen te verwerken, zoals CallConnected. Dit zorgt ervoor dat de correlatie tussen aanroep en gebeurtenissen eenvoudiger wordt. Zie het onderstaande voorbeeld voor het gebruik.

Voorbeelden

CallAutomationClient initialiseren

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

Creatie bellen

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

Media afspelen

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

Callback-gebeurtenissen Mid-Connection afhandelen

De SDK van Aanroepautomatisering biedt een eenvoudigere manier om deze gebeurtenissen af te handelen om gebeurtenissen in het midden van de verbinding af te handelen. Bekijk CallAutomationEventProcessor. Dit zorgt ervoor dat de correlatie tussen aanroep en gebeurtenissen eenvoudiger wordt.

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

EventProcessor werkt alleen met ProcessEvents. Nadat de gebeurtenis is verbruikt door EventProcessor, kunt u de functie ervan gaan gebruiken.

Zie hieronder bijvoorbeeld: waar u een oproep maakt met CreateCall en wacht op de gebeurtenis CallConnected van het gesprek.

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

Problemen oplossen

Volgende stappen

Bijdragen

Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de handleiding voor bijdragen voor meer informatie over het bouwen en testen van de code.