Agregue llamadas de emergencia a la aplicación habilitada para RTC mediante el SDK de llamadas de Azure Communication Services.
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.
La capacidad de marcar un número de emergencia y de recibir una llamada de respuesta puede ser un requisito para la aplicación. Compruebe los requisitos de llamadas de emergencia con su asesor legal.
Microsoft usa códigos de país o región según el estándar ISO 3166-1 alfa-2.
Los códigos ISO admitidos son US (Estados Unidos), PR (Puerto Rico), CA (Canadá), GB (Reino Unido) y DK (Dinamarca) únicamente.
Si no proporciona el código ISO de país o región al SDK de llamadas de Azure Communication Services, Microsoft usa la dirección IP para determinar el país o región del autor de la llamada.
En caso de que la dirección IP no pueda proporcionar una geolocalización confiable (por ejemplo, si el usuario se encuentra en una red privada virtual), se debe establecer el código ISO del país o región que realiza la llamada mediante la API en el SDK de llamadas.
Si los usuarios están marcando desde un territorio de EE. UU. (por ejemplo, Guam, Islas Vírgenes de los EE. UU., Islas Marianas del Norte o Samoa Americana), se debe establecer el código ISO en US.
La marcación de emergencia está fuera del ámbito para el enrutamiento directo de Azure Communication Services.
Para obtener información sobre la facturación del servicio de emergencia en Azure Communication Services, consulte la página de precios.
Configuración de un botón de prueba
Reemplace el código de index.html por el siguiente fragmento de código. Agrega un nuevo botón para probar las llamadas de emergencia.
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><buttonid="emergency-button"type="button">
933 Test Call
</button></div><scriptsrc="./bundle.js"></script></body></html>
Para agregar funcionalidad al botón de llamada de emergencia, agregue el código siguiente al archivo client.js. Se asigna un identificador de llamada temporal para la llamada de emergencia, independientemente de si se proporciona o no el parámetro alternateCallerId.
El número 933 es un servicio de llamada de prueba. Puede usarlo para probar los servicios de llamadas de emergencia sin interrumpir los servicios de llamadas de emergencia en directo al 911. En situaciones de emergencia reales, debe marcar el 911.
Ejecución de la aplicación y realización de una llamada
Use webpack-dev-server para compilar y ejecutar la aplicación. Ejecute el siguiente comando para agrupar el host de aplicación en un servidor web local:
Abra el explorador y vaya a http://localhost:8080/. Aparece la aplicación web completada.
Para hacer una llamada al 933, seleccione el botón 933 Test Call.
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.
La capacidad de marcar un número de emergencia y de recibir una llamada de respuesta puede ser un requisito para la aplicación. Compruebe los requisitos de llamadas de emergencia con su asesor legal.
Microsoft usa códigos de país o región según el estándar ISO 3166-1 alfa-2.
Los códigos ISO admitidos son US (Estados Unidos), PR (Puerto Rico), CA (Canadá), GB (Reino Unido) y DK (Dinamarca) únicamente.
Si no proporciona el código ISO de país o región al SDK de llamadas de Azure Communication Services, Microsoft usa la dirección IP para determinar el país o región del autor de la llamada.
En caso de que la dirección IP no pueda proporcionar una geolocalización confiable (por ejemplo, si el usuario se encuentra en una red privada virtual), se debe establecer el código ISO del país o región que realiza la llamada mediante la API en el SDK de llamadas.
Si los usuarios están marcando desde un territorio de EE. UU. (por ejemplo, Guam, Islas Vírgenes de los EE. UU., Islas Marianas del Norte o Samoa Americana), se debe establecer el código ISO en US.
La marcación de emergencia está fuera del ámbito para el enrutamiento directo de Azure Communication Services.
Para obtener información sobre la facturación del servicio de emergencia en Azure Communication Services, consulte la página de precios.
Configuración de un botón de prueba
Reemplace el código de app/src/main/res/layout/activity_main.xml por el siguiente fragmento de código. Agrega un nuevo botón para probar las llamadas de emergencia.
XML
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><EditTextandroid:id="@+id/callee_id"android:layout_width="match_parent"android:layout_height="wrap_content"android:ems="10"android:hint="Callee Id"android:inputType="textPersonName"android:layout_marginTop="100dp"android:layout_marginHorizontal="20dp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginBottom="46dp"android:gravity="center"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"><Buttonandroid:id="@+id/call_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Call" /><Buttonandroid:id="@+id/emergency_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="933 Test Call" /></LinearLayout></androidx.constraintlayout.widget.ConstraintLayout>
Modifique createAgent para especificar el país o región de emergencia:
Java
privatevoidcreateAgent(){
String userToken = "<User_Access_Token>";
try {
CommunicationTokenCredential credential = new CommunicationTokenCredential(userToken);
EmergencyCallOptions emergencyOptions = new EmergencyCallOptions().setCountryCode("<COUNTRY CODE>");
CallAgentOptions agentOptions = new CallAgentOptions();
callAgent = new CallClient().createCallAgent(getApplicationContext(), credential, agentOptions).get();
} catch (Exception ex) {
Toast.makeText(getApplicationContext(), "Failed to create call agent.", Toast.LENGTH_SHORT).show();
}
}
Adición de funcionalidad al botón de llamada
Para agregar funcionalidad al botón de llamada de emergencia, agregue el código siguiente al archivo MainActivity.java. Se asigna un identificador de llamada temporal para la llamada de emergencia, independientemente de si se proporciona o no el parámetro alternateCallerId.
El número 933 es un servicio de llamada de prueba. Puede usarlo para probar los servicios de llamadas de emergencia sin interrumpir los servicios de llamadas de emergencia en directo al 911. En situaciones de emergencia reales, debe marcar el 911.
Ejecución de la aplicación y realización de una llamada
Ahora puede ejecutar la aplicación con el botón Ejecutar aplicación de la barra de herramientas (o seleccione Mayús+F10). Para hacer una llamada al 933, seleccione el botón 933 Test Call.
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.
La capacidad de marcar un número de emergencia y de recibir una llamada de respuesta puede ser un requisito para la aplicación. Compruebe los requisitos de llamadas de emergencia con su asesor legal.
Microsoft usa códigos de país o región según el estándar ISO 3166-1 alfa-2.
Los códigos ISO admitidos son US (Estados Unidos), PR (Puerto Rico), CA (Canadá), GB (Reino Unido) y DK (Dinamarca) únicamente.
Si no proporciona el código ISO de país o región al SDK de llamadas de Azure Communication Services, Microsoft usa la dirección IP para determinar el país o región del autor de la llamada.
En caso de que la dirección IP no pueda proporcionar una geolocalización confiable (por ejemplo, si el usuario se encuentra en una red privada virtual), se debe establecer el código ISO del país o región que realiza la llamada mediante la API en el SDK de llamadas.
Si los usuarios están marcando desde un territorio de EE. UU. (por ejemplo, Guam, Islas Vírgenes de los EE. UU., Islas Marianas del Norte o Samoa Americana), se debe establecer el código ISO en US.
La marcación de emergencia está fuera del ámbito para el enrutamiento directo de Azure Communication Services.
Para obtener información sobre la facturación del servicio de emergencia en Azure Communication Services, consulte la página de precios.
Configuración de un botón de prueba
Reemplace el código de NavigationView en el archivo ContentView.swift por el siguiente fragmento de código. Agrega un nuevo botón para probar las llamadas de emergencia.
Swift
NavigationView {
Form {
Section {
TextField("Who would you like to call?", text: $callee)
Button(action: startCall) {
Text("Start Call")
}.disabled(callAgent == nil)
Button(action: endCall) {
Text("End Call")
}.disabled(call == nil)
Button (action: emergencyCall) {
Text("933 Test Call")
}.disabled(callAgent == nil)
Text(status)
Text(message)
}
}
.navigationBarTitle("Emergency Calling Quickstart")
}
En el archivo ContentView.swift, reemplace el código por el siguiente fragmento de código en el método onAppear para NavigationView:
Swift
var userCredential: CommunicationTokenCredential?do {
userCredential = tryCommunicationTokenCredential(token: "<USER ACCESS TOKEN>")
} catch {
print("ERROR: It was not possible to create user credential.")
return
}
self.callClient = CallClient()
let emergencyOptions = EmergencyCallOptions()
emergencyOptions.countryCode = "<COUNTRY CODE>"let callAgentOptions = CallAgentOptions()
callAgentOptions.emergencyCallOptions= emergencyOptions
// Creates the call agentself.callClient?.createCallAgent(userCredential: userCredential!, options: callAgentOptions) { (agent, error) inif error != nil {
print("ERROR: It was not possible to create a call agent.")
return
}
else {
self.callAgent = agent
print("Call agent successfully created.")
}
}
Adición de funcionalidad al botón de llamada
Para agregar funcionalidad al botón de llamada de emergencia, agregue el código siguiente al archivo ContentView.swift. Se asigna un identificador de llamada temporal para la llamada de emergencia, independientemente de si se proporciona o no el parámetro alternateCallerId.
El número 933 es un servicio de llamada de prueba. Puede usarlo para probar los servicios de llamadas de emergencia sin interrumpir los servicios de llamadas de emergencia en directo al 911. En situaciones de emergencia reales, debe marcar el 911.
Ejecución de la aplicación y realización de una 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. Para hacer una llamada al 933, seleccione el botón 933 Test Call.
Limpieza de recursos
Si quiere limpiar y quitar una suscripción a Communication Services, puede eliminar el recurso o grupo de recursos. Al eliminar un grupo de recursos también se eliminan los recursos asociados a él. Obtenga más información sobre la limpieza de recursos.
Pasos siguientes
Para más información, consulte los siguientes artículos.