Compartir a través de


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

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.

Ejemplos

Inicializar CallAutomationClient

import { DefaultAzureCredential } from "@azure/identity";
import { CallAutomationClient } from "@azure/communication-call-automation";

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential();
const endpointUrl = "<ENDPOINT>";
const callAutomationClient = new CallAutomationClient(endpointUrl, credential);

Crear llamada

import { DefaultAzureCredential } from "@azure/identity";
import { CallAutomationClient } from "@azure/communication-call-automation";

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential();
const endpointUrl = "<ENDPOINT>";
const callAutomationClient = new CallAutomationClient(endpointUrl, credential);

// target endpoint for ACS User
const target = {
  communicationUserId: "8:acs:...",
};

// make invitation
const callInvite = {
  targetParticipant: target,
};

// callback url to receive callback events
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

// send out the invitation, creating call
const response = await callAutomationClient.createCall(callInvite, callbackUrl);

Reproducir contenido multimedia

import { DefaultAzureCredential } from "@azure/identity";
import { CallAutomationClient, FileSource } from "@azure/communication-call-automation";

// Your unique Azure Communication service endpoint
const credential = new DefaultAzureCredential();
const endpointUrl = "<ENDPOINT>";
const callAutomationClient = new CallAutomationClient(endpointUrl, credential);

const target = { communicationUserId: "8:acs:..." };
const callInvite = { targetParticipant: target };
const callbackUrl = "https://<MY-EVENT-HANDLER-URL>/events";

const createCallResult = await callAutomationClient.createCall(callInvite, callbackUrl);
const callConnection = createCallResult.callConnection;
// from callconnection of response above, play media of media file
const myFile: FileSource = { url: "https://<FILE-SOURCE>/<SOME-FILE>.wav", kind: "fileSource" };
const response = await callConnection.getCallMedia().playToAll([myFile]);

Solución de problemas

Registro

Habilitar el registro puede ayudar a descubrir información útil sobre errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL en info. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel en el @azure/logger:

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

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.