Sdílet prostřednictvím


Klientská knihovna azure Communication Call Automation pro JavaScript – verze 1.2.0

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

Přehled automatizace | voláníDokumentace k produktu

Začínáme

Požadavky

Instalace

npm install @azure/communication-call-automation

Podpora prohlížečů

JavaScript Bundle

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

Klíčové koncepty

Název Description
CallAutomationClient CallAutomationClient je primární rozhraní pro vývojáře, kteří používají tuto klientskou knihovnu. Dá se použít k inicializaci volání pomocí createCall nebo answerCall.
CallConnection CallConnection představuje probíhající hovor. Jakmile je volání navázáno pomocí createCall nebo answerCall, je možné pro volání provést další akce, například transfer nebo addParticipant.
CallMedia CallMedia lze použít k přehrání multimediálního souboru, například playk akcím souvisejícím s multimédii. Toto je možné načíst z vytvořeného CallConnection.
Záznam volání CallRecording lze použít k provádění akcí souvisejících se záznamem, jako startRecordingje například . Můžete ho 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 volání. Poskytuje informace a stav volání, například CallConnected. CallbackUrl musí být zadané během createCall a a answerCallna tuto adresu URL se odesílají události zpětného volání. K parsování těchto událostí při jejich příchodu můžete použít příkaz callAutomationEventParser .
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 volání. 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 najdete v tématu Příchozí hovor .
CallAutomationEventProcessor CallAutomationEventProcessor je přesvědčivý způsob zpracování událostí zpětného volání uprostřed volání, jako CallConnectedje . Tím se snadněji zajistí korelace mezi voláním a událostmi. Informace o jeho použití najdete v následujícím příkladu.

Příklady

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

Create volání

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

Přehrát multimédia

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

Zpracování událostí zpětného volání Mid-Connection

Pro snadné zpracování událostí uprostřed připojení poskytuje sada SDK služby Call Automation jednodušší způsob, jak tyto události zpracovat. Podívejte se na CallAutomationEventProcessor. Tím se snadněji zajistí korelace mezi voláním a událostmi.

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

Proces ProcessEvents vyžaduje, aby proces EventProcessor fungoval. Jakmile eventProcessor využívá událost, můžete začít používat její funkci.

Viz níže například: kde provádíte volání pomocí CreateCall a čekáte na událost CallConnected volání.

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

Poradce při potížích

Další kroky

Přispívání

Pokud chcete přispívat do této knihovny, přečtěte si příručku pro přispívání , kde najdete další informace o tom, jak sestavit a otestovat kód.