Megosztás a következőn keresztül:


Azure Communication Call Automation ügyfélkódtár JavaScripthez – 1.2.0-s verzió

Ez a csomag egy JavaScript SDK-t tartalmaz az Azure Communication Call Automationhez. A Hívásautomatizálás lehetővé teszi a fejlesztők számára, hogy kiszolgálóalapú, intelligens hívási munkafolyamatokat, valamint hívásrögzítést készítsenek hang- és PSTN-csatornákhoz.

A hívásautomatizálás | áttekintéseTermékdokumentáció

Első lépések

Előfeltételek

Telepítés

npm install @azure/communication-call-automation

Böngészőtámogatás

JavaScript-csomag

Ahhoz, hogy ezt az ügyfélkódtárat a böngészőben használhassa, először egy kötegelőt kell használnia. Ennek részleteiért tekintse meg a csomagküldő dokumentációt.

Fő fogalmak

Név Leírás
CallAutomationClient CallAutomationClient az ügyfélkódtárat használó fejlesztők elsődleges felülete. A vagy answerCalla használatával indíthat hívásokatcreateCall.
CallConnection CallConnection egy folyamatban lévő hívást jelöl. A hívás vagy answerCalla createCall használatával történő létrehozása után további műveletek is végrehajthatók a híváshoz, például transfer vagy addParticipant.
CallMedia CallMedia médiafájl lejátszására használható, például playmédiafájl lejátszására. Ez a létrehozott CallConnectionfájlból kérhető le.
CallRecording CallRecording segítségével rögzíthetők a kapcsolódó műveletek, például startRecordinga . Ez a forrásból CallAutomationClientkérhető le.
Visszahívási események A visszahívási események a hívás időtartama alatt visszaküldött események. Információt és a hívás állapotát adja meg, például CallConnected. CallbackUrla és answerCallalatt createCall kell megadni, és a visszahívási eseményeket erre az URL-címre küldjük. Ezeket callAutomationEventParser az eseményeket a beérkezéskor elemezheti.
Bejövő hívási esemény Amikor bejövő hívás történik (amely a következővel answerCallválaszolható meg), a rendszer a bejövő hívás eseménynaplós eseményét küldi el. Ez eltér a fenti Visszahívási eseményektől, és Azure Portal kell beállítani. A részletekért lásd: Bejövő hívás .
CallAutomationEventProcessor CallAutomationEventProcessor konvergens módszer a visszahívási események (például CallConnected) kezelésére. Ez egyszerűbben biztosítja a hívás és az események közötti korrelációt. Lásd az alábbi példát a használatára vonatkozóan.

Példák

CallAutomationClient inicializálása

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

Létrehozás hívás

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

Média lejátszása

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

Mid-Connection visszahívási események kezelése

A kapcsolatközi események egyszerű kezeléséhez a Call Automation SDK-jával egyszerűbben kezelhetők ezek az események. Tekintse meg a CallAutomationEventProcessort. Ez egyszerűbben biztosítja a hívás és az események közötti korrelációt.

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

Az EventProcessor működéséhez ProcessEvents szükséges. Miután az EventProcessor felhasználta az eseményt, megkezdheti a funkció használatát.

Lásd alább például azt, hogy hol kezdeményez hívást a CreateCall használatával, és várja meg a hívás CallConnected eseményét.

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

Hibaelhárítás

Következő lépések

Közreműködés

Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót , amelyből többet is megtudhat a kód összeállításáról és teszteléséről.