Condividi tramite


Libreria client di Automazione chiamate di comunicazione di Azure per JavaScript - versione 1.3.0

Questo pacchetto contiene un SDK JavaScript per Automazione delle chiamate di comunicazione di Azure. Call Automation offre agli sviluppatori la possibilità di creare flussi di lavoro di chiamate intelligenti e basati su server e di chiamare la registrazione per canali vocali e PSTN.

Panoramica della documentazione del prodotto | call automation

Introduttiva

Prerequisiti

  • Una sottoscrizione di Azure .
  • Una risorsa di Servizi di comunicazione esistente. Se è necessario creare la risorsa, è possibile usare il portale di Azure , il Azure PowerShello l'interfaccia della riga di comando di Azure .

Installazione

npm install @azure/communication-call-automation

Supporto browser

JavaScript Bundle

Per usare questa libreria client nel browser, è prima necessario usare un bundler. Per informazioni dettagliate su come eseguire questa operazione, vedere la documentazione di creazione di bundle .

Concetti chiave

Nome Descrizione
CallAutomationClient CallAutomationClient è l'interfaccia principale per gli sviluppatori che usano questa libreria client. Può essere usato per avviare le chiamate tramite createCall o answerCall.
CallConnection CallConnection rappresenta una chiamata in corso. Dopo aver stabilito la chiamata con createCall o answerCall, è possibile eseguire altre azioni per la chiamata, ad esempio transfer o addParticipant.
CallMedia CallMedia può essere usato per eseguire azioni correlate ai supporti, ad esempio play, per riprodurre file multimediali. Questo può essere recuperato dal CallConnectionstabilito.
CallRecording CallRecording può essere usato per registrare azioni correlate, ad esempio startRecording. Questa operazione può essere recuperata da CallAutomationClient.
Eventi di callback Gli eventi di callback sono eventi inviati di nuovo durante la durata della chiamata. Fornisce informazioni e stato della chiamata, ad esempio CallConnected. CallbackUrl devono essere specificati durante createCall e answerCalle gli eventi di callback verranno inviati a questo URL. È possibile usare callAutomationEventParser per analizzare questi eventi all'arrivo.
Evento di chiamata in arrivo Quando si verifica una chiamata in ingresso (a cui è possibile rispondere con answerCall), verrà inviato l'evento eventgrid di chiamata in ingresso. Questo è diverso dagli eventi di callback precedenti e deve essere configurato nel portale di Azure.This is different from Callback events above, and should be setup on Azure portal. Per informazioni dettagliate, vedere di chiamata in arrivo.
CallAutomationEventProcessor CallAutomationEventProcessor è un modo convincente per gestire eventi di callback mid-call, ad esempio CallConnected. In questo modo si garantisce più facilmente la correlazione tra chiamate ed eventi. Vedere l'esempio seguente per l'utilizzo.

Esempi

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

Crea chiamata

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

Riprodurre contenuti multimediali

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

Gestire Mid-Connection eventi di callback

Per gestire facilmente gli eventi di mid-connection, l'SDK di Call Automation offre un modo più semplice per gestire questi eventi. Esaminare CallAutomationEventProcessor. In questo modo si garantisce più facilmente la correlazione tra chiamate ed eventi.

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

ProcessEvents è necessario per il funzionamento di EventProcessor. Dopo che l'evento viene utilizzato da EventProcessor, è possibile iniziare a usare la relativa funzionalità.

Vedere di seguito, ad esempio, dove si effettua una chiamata con CreateCall e attendere l'evento CallConnected della chiamata.

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

Risoluzione dei problemi

Passaggi successivi

Contribuire

Per contribuire a questa libreria, leggere la guida contribuire per altre informazioni su come compilare e testare il codice.