Udostępnij za pośrednictwem


Biblioteka klienta usługi Azure Communication Call Automation dla języka JavaScript — wersja 1.3.0

Ten pakiet zawiera zestaw JAVAScript SDK dla usługi Azure Communication Call Automation. Usługa Call Automation umożliwia deweloperom tworzenie przepływów pracy opartych na serwerze, inteligentnych wywołań oraz nagrywanie połączeń dla kanałów głosowych i PSTN.

Omówienie dokumentacji produktu | Call Automation

Wprowadzenie

Warunki wstępne

  • Subskrypcja platformy Azure .
  • Istniejący zasób usług komunikacyjnych. Jeśli musisz utworzyć zasób, możesz użyć witryny Azure Portal, programu Azure PowerShelllub interfejsu wiersza polecenia platformy Azure .

Instalowanie

npm install @azure/communication-call-automation

Obsługa przeglądarki

Pakiet JavaScript

Aby użyć tej biblioteki klienta w przeglądarce, najpierw należy użyć pakietu. Aby uzyskać szczegółowe informacje o tym, jak to zrobić, zapoznaj się z naszą dokumentacją dotyczącą tworzenia pakietów .

Kluczowe pojęcia

Nazwa Opis
CallAutomationClient CallAutomationClient jest podstawowym interfejsem dla deweloperów korzystających z tej biblioteki klienta. Może służyć do inicjowania wywołań przez createCall lub answerCall.
CallConnection CallConnection reprezentuje trwające połączenie. Po nawiązaniu połączenia za pomocą createCall lub answerCallmożna wykonać kolejne akcje dla wywołania, takie jak transfer lub addParticipant.
CallMedia CallMedia można użyć do wykonywania akcji związanych z multimediami, takich jak play, w celu odtwarzania pliku multimedialnego. Można to pobrać z ustanowionych CallConnection.
Wywoływanierekordowania CallRecording może służyć do rejestrowania powiązanych akcji, takich jak startRecording. Można to pobrać z CallAutomationClient.
Zdarzenia wywołania zwrotnego Zdarzenia wywołania zwrotnego to zdarzenia wysyłane z powrotem w czasie trwania wywołania. Udostępnia informacje i stan wywołania, takie jak CallConnected. CallbackUrl należy podać podczas createCall i answerCall, a zdarzenia wywołania zwrotnego zostaną wysłane do tego adresu URL. Możesz użyć callAutomationEventParser, aby przeanalizować te zdarzenia po nadejściu.
Zdarzenie połączenia przychodzącego W przypadku wystąpienia połączenia przychodzącego (na które można odpowiedzieć za pomocą answerCall), zdarzenie eventgrid połączenia przychodzącego zostanie wysłane. Różni się to od powyższych zdarzeń wywołania zwrotnego i powinno być skonfigurowane w witrynie Azure Portal. Aby uzyskać szczegółowe informacje, zobacz połączenia przychodzącego.
CallAutomationEventProcessor CallAutomationEventProcessor to zbieżny sposób obsługi zdarzeń wywołania zwrotnego w połowie wywołania zwrotnego, takich jak CallConnected. Zapewni to łatwiejszą korelację między wywołaniem i zdarzeniami. Zobacz poniższy przykład użycia.

Przykłady

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

Tworzenie wywołania

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

Odtwarzanie multimediów

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

Obsługa zdarzeń wywołania zwrotnego Mid-Connection

Aby łatwo obsługiwać zdarzenia w połowie połączenia, zestaw SDK usługi Call Automation zapewnia łatwiejszy sposób obsługi tych zdarzeń. Spójrz na CallAutomationEventProcessor. Zapewni to łatwiejszą korelację między wywołaniem i zdarzeniami.

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

ProcesEvents jest wymagany do działania klasy EventProcessor. Gdy zdarzenie jest używane przez usługę EventProcessor, możesz rozpocząć korzystanie z jego funkcji.

Poniżej przedstawiono przykład: gdzie tworzysz wywołanie za pomocą polecenia CreateCall i czekasz na zdarzenie CallConnected wywołania.

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

Rozwiązywanie problemów

Następne kroki

Przyczyniając się

Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik dotyczący współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.