Inicio rápido: Llamada saliente a un número de teléfono
Artículo
Para empezar a usar Azure Communication Services, utilice el SDK de llamadas de Communication Services para agregar llamadas RTC a la aplicación.
Importante
Azure Communication Services admite llamadas de emergencia a números de emergencia solo en Estados Unidos, Puerto Rico, Canadá, Dinamarca, el Reino Unido y Australia.
El uso de las llamadas de voz de Azure Communication Services (RTC) puede ser utilizado para marcar el número de emergencia 911 en Estados Unidos, Puerto Rico y Canadá, el número de emergencia 112 en Dinamarca y los números de emergencia 000 en Australia, 999 y 112 en el Reino Unido. Azure Communication Services no admite actualmente la marcación de esos números de emergencia desde fuera de esos países o regiones, ni la marcación de servicios de emergencia en otros países o regiones.
Código de ejemplo
Busque el código finalizado de este inicio rápido en GitHub
Nota
Se puede acceder a las llamadas salientes a un número de teléfono mediante la biblioteca de interfaz de usuario de Azure Communication Services. La biblioteca de interfaz de usuario permite a los desarrolladores agregar un cliente de llamada habilitado para RTC en su aplicación con solo un par de líneas de código.
La opción --save muestra la biblioteca como dependencia en el archivo package.json.
Instalación del marco de la aplicación
En esta guía de inicio rápido se usa parcel para agrupar los recursos de la aplicación. Ejecute el siguiente comando para llevar a cabo la instalación y que se muestre como una dependencia de desarrollo en package.json:
Consola
npm install parcel --save-dev
Cree un archivo index.html en el directorio raíz del proyecto. Este archivo lo usaremos para configurar un diseño básico que permitirá al usuario realizar una llamada.
Este es el código:
HTML
<!DOCTYPE html><html><head><title>Communication Client - Calling Sample</title></head><body><h4>Azure Communication Services</h4><h1>Calling Quickstart</h1><inputid="callee-phone-input"type="text"placeholder="Who would you like to call?"style="margin-bottom:1em; width: 230px;"
/><div><buttonid="call-phone-button"type="button">
Start Call
</button>
<buttonid="hang-up-phone-button"type="button"disabled="true">
Hang Up
</button></div><scriptsrc="./app.js"type="module"></script></body></html>
Cree un archivo en el directorio raíz del proyecto denominado app.js que contendrá la lógica de aplicación para esta guía de inicio rápido. Agregue el siguiente código para importar el cliente que realiza la llamada y obtener referencias a los elementos DOM para que podamos adjuntar la lógica de negocios.
JavaScript
import { CallClient, CallAgent } from"@azure/communication-calling";
import { AzureCommunicationTokenCredential } from'@azure/communication-common';
let call;
let callAgent;
const calleePhoneInput = document.getElementById("callee-phone-input");
const callPhoneButton = document.getElementById("call-phone-button");
const hangUpPhoneButton = document.getElementById("hang-up-phone-button");
asyncfunctioninit() {
const callClient = new CallClient();
const tokenCredential = new AzureCommunicationTokenCredential('<USER ACCESS TOKEN with VoIP scope>');
callAgent = await callClient.createCallAgent(tokenCredential);
//callPhoneButton.disabled = false;
}
init();
Inicio de una llamada telefónica
Especifique el número de teléfono que ha adquirido en el recurso de Communication Services que se usa para iniciar la llamada:
Advertencia
Los números de teléfono se deben proporcionar en formato estándar internacional E.164. (por ejemplo: +12223334444)
Agregue un controlador de eventos para iniciar una llamada al número de teléfono que ha proporcionado al hacer clic en callPhoneButton:
JavaScript
callPhoneButton.addEventListener("click", () => {
// start a call to phoneconst phoneToCall = calleePhoneInput.value;
call = callAgent.startCall(
[{phoneNumber: phoneToCall}], { alternateCallerId: {phoneNumber: 'YOUR AZURE REGISTERED PHONE NUMBER HERE: +12223334444'}
});
// toggle button states
hangUpPhoneButton.disabled = false;
callPhoneButton.disabled = true;
});
Finalización de una llamada telefónica
Agregue un cliente de escucha de eventos para finalizar la llamada actual cuando se haga clic en el hangUpPhoneButton:
JavaScript
hangUpPhoneButton.addEventListener("click", () => {
// end the current call
call.hangUp({
forEveryone: true
});
// toggle button states
hangUpPhoneButton.disabled = true;
callPhoneButton.disabled = false;
});
La propiedad forEveryone finaliza la llamada para todos los participantes.
Ejecución del código
Utilice el comando npx parcel index.html para compilar y ejecutar la aplicación.
Abra el explorador web y vaya a http://localhost:1234/. Debería ver la siguiente aplicación web:
Puede realizar una llamada a un número de teléfono real si proporciona un número de teléfono en el campo de texto agregado y hace clic en el botón Iniciar llamada de teléfono.
Importante
Azure Communication Services admite llamadas de emergencia a números de emergencia solo en Estados Unidos, Puerto Rico, Canadá, Dinamarca, el Reino Unido y Australia.
El uso de las llamadas de voz de Azure Communication Services (RTC) puede ser utilizado para marcar el número de emergencia 911 en Estados Unidos, Puerto Rico y Canadá, el número de emergencia 112 en Dinamarca y los números de emergencia 000 en Australia, 999 y 112 en el Reino Unido. Azure Communication Services no admite actualmente la marcación de esos números de emergencia desde fuera de esos países o regiones, ni la marcación de servicios de emergencia en otros países o regiones.
Código de ejemplo
Busque el código finalizado de este inicio rápido en GitHub
Para ver los números de teléfono asociados a su recurso de Communication Services, inicie sesión en Azure Portal, busque el recurso de Communication Services y abra la pestaña números de teléfono en el panel de navegación izquierdo.
Instalación
Adición de funcionalidad RTC a la aplicación
Agregue el tipo PhoneNumber a la aplicación; para ello, modifique el archivo MainActivity.Java:
Especifique el número de teléfono que adquirió desde el recurso de Communication Services. Este número se usa como identificador de autor de llamada para iniciar la llamada:
Advertencia
Tenga en cuenta que los números de teléfono se deben proporcionar en formato estándar internacional E.164. (por ejemplo: +12223334444)
Modifique el controlador de eventos startCall() de MainActivity.Java, de modo que controle las llamadas telefónicas:
Ahora se puede iniciar la aplicación con el botón "Ejecutar aplicación" de la barra de herramientas (Mayús + F10). Para realizar una llamada, proporcione un número de teléfono en el campo de texto agregado y seleccione el botón LLAMAR.
Advertencia
Tenga en cuenta que los números de teléfono se deben proporcionar en formato estándar internacional E.164. (por ejemplo: +12223334444)
Importante
Azure Communication Services admite llamadas de emergencia a números de emergencia solo en Estados Unidos, Puerto Rico, Canadá, Dinamarca, el Reino Unido y Australia.
El uso de las llamadas de voz de Azure Communication Services (RTC) puede ser utilizado para marcar el número de emergencia 911 en Estados Unidos, Puerto Rico y Canadá, el número de emergencia 112 en Dinamarca y los números de emergencia 000 en Australia, 999 y 112 en el Reino Unido. Azure Communication Services no admite actualmente la marcación de esos números de emergencia desde fuera de esos países o regiones, ni la marcación de servicios de emergencia en otros países o regiones.
Para ver los números de teléfono asociados a su recurso de Communication Services, inicie sesión en Azure Portal, busque el recurso de Communication Services y abra la pestaña números de teléfono en el panel de navegación izquierdo.
Puede compilar y ejecutar la aplicación con el SDK de llamadas de Azure Communication Services para iOS:
Instalación
Inicio de una llamada telefónica
Especifique el número de teléfono que ha adquirido en el recurso de Communication Services que se usa para iniciar la llamada:
Advertencia
Tenga en cuenta que los números de teléfono se deben proporcionar en formato estándar internacional E.164. (por ejemplo: +12223334444)
Modifique el controlador de eventos startCall que se llevará a cabo cuando se pulse el botón Iniciar llamada:
Para compilar y ejecutar la aplicación en el simulador de iOS, seleccione Producto>Ejecutar o use el método abreviado de teclado (⌘-R).
Puede realizar una llamada a un teléfono proporcionando un número de teléfono en el campo de texto agregado y haciendo clic en el botón Iniciar llamada.
Advertencia
Tenga en cuenta que los números de teléfono se deben proporcionar en formato estándar internacional E.164. (por ejemplo: +12223334444)
Nota
La primera vez que realice una llamada, el sistema le solicitará acceso al micrófono. En una aplicación de producción, debe usar la API AVAudioSession, comprobar el estado del permiso y actualizar correctamente el comportamiento de la aplicación cuando no se conceda el permiso.
Limpieza de recursos
Si quiere limpiar y quitar una suscripción a Communication Services, puede eliminar el recurso o grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él. Obtenga más información sobre la limpieza de recursos.
Pasos siguientes
Para más información, consulte los siguientes artículos.
Información general sobre el ejemplo principal de inteligencia artificial de Automatización de llamadas mediante Azure Communication Services para permitir a los desarrolladores aprender a incorporar la inteligencia artificial en sus flujos de trabajo.
Introducción al ejemplo de Automatización de llamadas mediante Azure Communication Services para permitir a los desarrolladores aprender a incorporar el modelo de voz de Azure OpenAI en sus flujos de trabajo.