Condividi tramite


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

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.

Esempi

Inizializzare CallAutomationClient

import { DefaultAzureCredential } from "@azure/identity";
import { CallAutomationClient } from "@azure/communication-call-automation";

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential();
const endpointUrl = "<ENDPOINT>";
const callAutomationClient = new CallAutomationClient(endpointUrl, credential);

Crea chiamata

import { DefaultAzureCredential } from "@azure/identity";
import { CallAutomationClient } from "@azure/communication-call-automation";

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential();
const endpointUrl = "<ENDPOINT>";
const callAutomationClient = new CallAutomationClient(endpointUrl, credential);

// target endpoint for ACS User
const target = {
  communicationUserId: "8:acs:...",
};

// make invitation
const callInvite = {
  targetParticipant: target,
};

// callback url to receive callback events
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

// send out the invitation, creating call
const response = await callAutomationClient.createCall(callInvite, callbackUrl);

Riprodurre contenuti multimediali

import { DefaultAzureCredential } from "@azure/identity";
import { CallAutomationClient, FileSource } from "@azure/communication-call-automation";

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential();
const endpointUrl = "<ENDPOINT>";
const callAutomationClient = new CallAutomationClient(endpointUrl, credential);

const target = { communicationUserId: "8:acs:..." };
const callInvite = { targetParticipant: target };
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

const createCallResult = await callAutomationClient.createCall(callInvite, callbackUrl);
const callConnection = createCallResult.callConnection;
// from callconnection of response above, play media of media file
const myFile: FileSource = { url: "https://<FILE-SOURCE>/<SOME-FILE>.wav", kind: "fileSource" };
const response = await callConnection.getCallMedia().playToAll([myFile]);

Risoluzione dei problemi

Registrazione

L'abilitazione della registrazione consente di individuare informazioni utili sugli errori. Per visualizzare un log di richieste e risposte HTTP, impostare la variabile di ambiente AZURE_LOG_LEVEL su info. In alternativa, la registrazione può essere abilitata in fase di esecuzione chiamando setLogLevel in @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Passaggi successivi

Contribuire

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