Biblioteca cliente de Azure Communication Call Automation para JavaScript: versión 1.2.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 automatización | de llamadasDocumentación del producto
Introducción
Requisitos previos
- Una suscripción de Azure.
- Un recurso de Communication Services existente. Si necesita crear el recurso, puede usar Azure Portal, el Azure PowerShell o la CLI de Azure.
Instalación de
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 más información sobre cómo hacerlo, consulte nuestra documentación de agrupación.
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 otras 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 establecido CallConnection . |
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 se debe proporcionar 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 Llamada entrante 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. Vea 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);
llamada a Create
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);
Controlar eventos de devolución de llamada Mid-Connection
Para controlar fácilmente los eventos de conexión intermedia, 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: donde va a realizar una llamada con CreateCall y espere al 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
- Introducción a la automatización de llamadas
- Concepto de llamada entrante
- Creación de un flujo de trabajo de interacción del cliente mediante Automatización de llamadas
- Redireccionamiento de llamadas entrantes de telefonía con la automatización de llamadas
- Inicio rápido: Acción de reproducción
- Inicio rápido: Reconocer acción
- Obtenga más información sobre la grabación de llamadas en Azure Communication Services
- Grabación y descarga de llamadas con Event Grid
Contribuciones
Si desea contribuir a esta biblioteca, lea la guía de contribución para obtener más información sobre cómo compilar y probar el código.
Azure SDK for JavaScript