Compartir a través de


Biblioteca cliente de Azure Communication Call Automation para JavaScript: versión 1.3.0

Este paquete contiene un SDK de JavaScript para Azure Communication Call Automation. La automatización de llamadas proporciona a los desarrolladores la capacidad de crear flujos de trabajo de llamadas inteligentes, basados en servidor y grabación de llamadas para canales RTC y voz.

información general sobre la documentación del producto de Automatización de llamadas |

Empezar

Prerrequisitos

  • Una suscripción de Azure .
  • Un recurso de Communication Services existente. Si necesita crear el recurso, puede usar elde Azure Portal de , el azure PowerShello la CLI de Azure .

Instalar

npm install @azure/communication-call-automation

Compatibilidad con exploradores

Paquete de JavaScript

Para usar esta biblioteca cliente en el explorador, primero debe usar un agrupador. Para obtener más información sobre cómo hacerlo, consulte nuestra documentación de agrupación de .

Conceptos clave

Nombre Descripción
CallAutomationClient CallAutomationClient es la interfaz principal para los desarrolladores que usan esta biblioteca cliente. Se puede usar para iniciar llamadas mediante createCall o answerCall.
CallConnection CallConnection representa una llamada en curso. Una vez establecida la llamada con createCall o answerCall, se pueden realizar más acciones para la llamada, como transfer o addParticipant.
CallMedia CallMedia se puede usar para realizar acciones relacionadas con medios, como play, para reproducir el archivo multimedia. Esto se puede recuperar de la CallConnectionestablecida.
CallRecording CallRecording se puede usar para realizar la grabación de acciones relacionadas, como startRecording. Esto se puede recuperar de CallAutomationClient.
Eventos de devolución de llamada Los eventos de devolución de llamada son eventos enviados durante la duración de la llamada. Proporciona información y estado de la llamada, como CallConnected. CallbackUrl deben proporcionarse durante createCall y answerCall, y los eventos de devolución de llamada se enviarán a esta dirección URL. Puede usar callAutomationEventParser para analizar estos eventos cuando llegue.
Evento de llamada entrante Cuando se produce una llamada entrante (que se puede responder con answerCall), se enviará el evento eventgrid de llamada entrante. Esto es diferente de los eventos de devolución de llamada anteriores y debe configurarse en Azure Portal. Consulte de llamadas entrantes para obtener más información.
CallAutomationEventProcessor CallAutomationEventProcessor es una manera conveniente de controlar eventos de devolución de llamada a mitad de llamada, como CallConnected. Esto garantizará la correlación entre la llamada y los eventos más fácilmente. Consulte el ejemplo siguiente para su uso.

Ejemplos

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

Crear llamada

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

Reproducir contenido multimedia

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

Control de eventos de devolución de llamada Mid-Connection

Para controlar fácilmente los eventos de conexión media, el SDK de Call Automation proporciona una manera más sencilla de controlar estos eventos. Eche un vistazo a CallAutomationEventProcessor. Esto garantizará la correlación entre la llamada y los eventos más fácilmente.

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

ProcessEvents es necesario para que EventProcessor funcione. Después de que EventProcessor consuma el evento, puede empezar a usar su característica.

Vea a continuación, por ejemplo: dónde realiza una llamada con CreateCall y espera el evento CallConnected de la llamada.

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

Solución de problemas

Pasos siguientes

Contribuyendo

Si desea contribuir a esta biblioteca, lea la guía de contribución de para obtener más información sobre cómo compilar y probar el código.