Integración con TelecomManager
En este documento se describe cómo integrar TelecomManager con la aplicación Android.
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 token de acceso de usuario para habilitar el cliente de llamada. Para más información, consulte Inicio rápido: Creación y administración de tokens de acceso.
- Opcional: Realice el inicio rápido para agregar llamadas de voz a la aplicación
Integración de TelecomManager
Importante
Esta característica de Azure Communication Services se encuentra actualmente en versión preliminar.
Las API y los SDK en versión preliminar se proporcionan sin contrato de nivel de servicio. Se recomienda no usarlos para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que sus funcionalidades estén limitadas.
Para obtener más información, consulte Términos de uso complementarios para las Versiones preliminares de Microsoft Azure.
TelecomManager
La integración en Android SDK de Azure Communication Services controla la interacción con otras aplicaciones de llamadas VoIP y RTC que también se integran con TelecomManager
.
Configuración de TelecomConnectionService
Adición de TelecomConnectionService
a la aplicación AndroidManifest.xml
<application>
...
<service
android:name="com.azure.android.communication.calling.TelecomConnectionService"
android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
android:exported="true">
<intent-filter>
<action android:name="android.telecom.ConnectionService" />
</intent-filter>
</service>
</application>
Inicialización del agente de llamadas con TelecomManagerOptions
Con la instancia configurada de TelecomManagerOptions
, podemos crear el CallAgent
con TelecomManager
habilitado.
CallAgentOptions options = new CallAgentOptions();
TelecomManagerOptions telecomManagerOptions = new TelecomManagerOptions("<your app's phone account id>");
options.setTelecomManagerOptions(telecomManagerOptions);
CallAgent callAgent = callClient.createCallAgent(context, credential, options).get();
Call call = callAgent.join(context, locator, joinCallOptions);
Configuración del dispositivo de salida de audio
Cuando la integración de TelecomManager está habilitada para la aplicación, el dispositivo de salida de audio solo debe seleccionarse a través de la API del administrador de telecomunicaciones.
call.setTelecomManagerAudioRoute(android.telecom.CallAudioState.ROUTE_SPEAKER);
Configuración del comportamiento de reanudación de llamadas
Cuando se interrumpe la llamada con otra llamada, por ejemplo, la llamada RTC entrante, se pone OnHold
la llamada de ACS. Puede configurar lo que sucede una vez que la llamada RTC se realiza automáticamente a través de la llamada de reanudación o esperar a que el usuario solicite la reanudación de la llamada.
telecomManagerOptions.setResumeCallAutomatically(true);