Sdílet prostřednictvím


Klientská knihovna Azure Communication Call Automation pro JavaScript – verze 1.5.0

Tento balíček obsahuje javascriptovou sadu SDK pro automatizaci volání služby Azure Communication. Automatizace volání poskytuje vývojářům možnost vytvářet serverové, inteligentní pracovní postupy volání a zaznamenávat hovory pro kanály hlasové a veřejné telefonní sítě.

přehled produktové dokumentace k automatizaci volání

Začínáme

Požadavky

  • Předplatné Azure.
  • Existující prostředek komunikační služby. Pokud potřebujete prostředek vytvořit, můžete použítwebu Azure Portal, Azure PowerShellu nebo Azure CLI.

Instalování

npm install @azure/communication-call-automation

Podpora prohlížeče

JavaScriptový balíček

Pokud chcete tuto klientskou knihovnu použít v prohlížeči, musíte nejprve použít bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci sdružování.

Klíčové koncepty

Jméno Popis
Klient automatizace volání CallAutomationClient je primárním rozhraním pro vývojáře používající tuto klientskou knihovnu. Lze ho použít k zahájení volání createCall nebo answerCall.
Připojení volání CallConnection představuje probíhající volání. Jakmile je volání vytvořeno s createCall nebo answerCall, lze provést další akce pro volání, například transfer nebo addParticipant.
CallMedia CallMedia lze použít k provádění akcí souvisejících s multimédii, jako je play, k přehrávání multimediálního souboru. Lze jej načíst z vytvořených CallConnection.
Záznam volání CallRecording lze použít k zaznamenávání souvisejících akcí, jako je startRecording. To lze načíst z CallAutomationClient.
Události zpětného volání Události zpětného volání jsou události odesílané zpět během trvání hovoru. Poskytuje informace a stav volání, například CallConnected. CallbackUrl musí být zadány během createCall a answerCall, a na tuto adresu URL budou odeslány události zpětného volání. Tyto události můžete použít callAutomationEventParser k analýze, jakmile dorazí.
Událost příchozího hovoru Když dojde k příchozímu hovoru (který lze přijmout pomocí answerCall), bude odeslána událost eventgrid příchozího hovoru. To se liší od výše uvedených událostí zpětného volání a mělo by být nastaveno na Azure Portal. Podrobnosti viz Příchozí hovor .

Příklady

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

Vytvořit hovor

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

Přehrávání médií

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

Řešení problémů

Protokolování

Povolení protokolování může pomoct odhalit užitečné informace o chybách. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou prostředí AZURE_LOG_LEVEL na info. Případně můžete protokolování povolit za běhu voláním setLogLevel v @azure/logger:

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

setLogLevel("info");

Další kroky

Přispívající

Pokud chcete přispívat do této knihovny, přečtěte si průvodce přispívání a přečtěte si další informace o vytváření a testování kódu.