Inicio rápido: Llamada saliente a un número de teléfono
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.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de Communication Services implementado. Cree un recurso de Communication Services.
- Un número de teléfono adquirido en el recurso de Communication Services o el enrutamiento directo configurado de Azure Communication Services. Si tiene una suscripción gratuita, puede obtener un número de teléfono de prueba.
User Access Token
para habilitar el cliente de llamada. Para más información sobre cómo obtenerUser Access Token
Instalación
Creación de una aplicación Node.js
Abra la ventana de comandos o de terminal, cree un nuevo directorio para la aplicación y navegue hasta este.
mkdir calling-quickstart
cd calling-quickstart
Ejecute npm init -y
para crear un archivo package.json con la configuración predeterminada.
npm init -y
Instalar el paquete
Use el comando npm install
para instalar el SDK de llamadas de Azure Communication Services para JavaScript.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
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:
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:
<!DOCTYPE html>
<html>
<head>
<title>Communication Client - Calling Sample</title>
</head>
<body>
<h4>Azure Communication Services</h4>
<h1>Calling Quickstart</h1>
<input
id="callee-phone-input"
type="text"
placeholder="Who would you like to call?"
style="margin-bottom:1em; width: 230px;"
/>
<div>
<button id="call-phone-button" type="button">
Start Call
</button>
<button id="hang-up-phone-button" type="button" disabled="true">
Hang Up
</button>
</div>
<script src="./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.
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");
async function init() {
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
:
callPhoneButton.addEventListener("click", () => {
// start a call to phone
const 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
:
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
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de Communication Services implementado. Cree un recurso de Communication Services.
- Un número de teléfono adquirido en el recurso de Communication Services o el enrutamiento directo configurado de Azure Communication Services. Si tiene una suscripción gratuita, puede obtener un número de teléfono de prueba.
User Access Token
para habilitar el cliente de llamada. Para más información sobre cómo obtenerUser Access Token
- Complete el inicio rápido para empezar a agregar llamadas a su aplicación
Comprobación de requisitos previos
- 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:
import com.azure.android.communication.common.PhoneNumberIdentifier;
Inicio de una llamada telefónica
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:
private void startCall() {
EditText calleePhoneView = findViewById(R.id.callee_id);
String calleePhone = calleePhoneView.getText().toString();
PhoneNumberIdentifier callerPhone = new PhoneNumberIdentifier("+12223334444");
StartCallOptions options = new StartCallOptions();
options.setAlternateCallerId(callerPhone);
options.setVideoOptions(new VideoOptions(null));
call = agent.startCall(
getApplicationContext(),
new PhoneNumberIdentifier[] {new PhoneNumberIdentifier(calleePhone)},
options);
}
Inicio de la aplicación y llamada al bot de eco
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.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de Communication Services implementado. Cree un recurso de Communication Services.
- Un número de teléfono adquirido en el recurso de Communication Services o el enrutamiento directo configurado de Azure Communication Services. Si tiene una suscripción gratuita, puede obtener un número de teléfono de prueba.
User Access Token
para habilitar el cliente de llamada. Para más información sobre cómo obtenerUser Access Token
- Complete el inicio rápido para empezar a agregar llamadas a su aplicación
Comprobación de requisitos previos
- 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:
func startCall() {
// Ask permissions
AVAudioSession.sharedInstance().requestRecordPermission { (granted) in
if granted {
let startCallOptions = StartCallOptions()
startCallOptions.alternateCallerId = PhoneNumberIdentifier(phoneNumber: "<YOUR AZURE REGISTERED PHONE NUMBER>")
self.callAgent!.startCall(participants: [PhoneNumberIdentifier(phoneNumber: self.callee)], options: startCallOptions) { (call, error) in
if (error == nil) {
self.call = call
} else {
print("Failed to get call object")
}
}
}
}
}
Ejecución del código
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.
- Más información sobre las Funcionalidades del SDK de llamadas
- Más información sobre cómo funciona la llamada
- Obtenga información sobre las funcionalidades de búsqueda de números.