Delen via


Azure Communication Call Automation-clientbibliotheek voor JavaScript - versie 1.3.0

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

Overzicht van de | Productdocumentatie voor Gespreksautomatisering

Slag

Voorwaarden

Installeren

npm install @azure/communication-call-automation

Browserondersteuning

JavaScript-bundel

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

Sleutelbegrippen

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

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

Oproep maken

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 verwerken

De SDK van Call Automation biedt een eenvoudigere manier om deze gebeurtenissen af te handelen, zodat u eenvoudig gebeurtenissen tussen verbindingen kunt afhandelen. Bekijk CallAutomationEventProcessor. Dit zorgt ervoor dat de correlatie tussen aanroep en gebeurtenissen gemakkelijker wordt.

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

ProcessEvents is vereist om EventProcessor te laten werken. Nadat de gebeurtenis door EventProcessor wordt gebruikt, kunt u de functie ervan gaan gebruiken.

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

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

Probleemoplossing

Volgende stappen

Bijdragen

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