Sdílet prostřednictvím


Klientská knihovna Azure Communication Call Automation pro JavaScript – verze 1.3.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

JavaScript Bundle

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
CallAutomationClient 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.
CallConnection 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 doby trvání volání. Poskytuje informace a stav volání, například CallConnected. CallbackUrl je nutné zadat během createCall a answerCalla události zpětného volání se odešlou na tuto adresu URL. Tyto události můžete analyzovat pomocí callAutomationEventParser, když dorazí.
Událost příchozího volání Když dojde k příchozímu hovoru (který lze přijmout pomocí answerCall), odešle se událost eventgrid příchozího volání. Toto se liší od výše uvedených událostí zpětného volání a mělo by se nastavit na webu Azure Portal. Podrobnosti najdete v tématu příchozího hovoru.
CallAutomationEventProcessor CallAutomationEventProcessor je konvinientní způsob zpracování událostí zpětného volání uprostřed volání, jako je CallConnected. Tím se zajistí snadnější korelace mezi voláním a událostmi. Podívejte se na následující příklad využití.

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

Vytvořit hovor

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ávání médií

// 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 zajistí snadnější korelace mezi voláním a událostmi.

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

Proces ProcessEvents je nutný pro fungování třídy EventProcessor. Jakmile eventProcessor využívá událost, můžete začít používat její funkci.

Příklad: kde provádíte volání pomocí metody CreateCall, a počkejte 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!;
}

Řešení problémů

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.