Integração com TelecomManager
Este documento descreve como integrar o TelecomManager com a sua aplicação Android.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso de Serviços de Comunicação implantado. Crie um recurso de Serviços de Comunicação.
- Um token de acesso de usuário para habilitar o cliente chamador. Para obter mais informações, consulte Criar e gerenciar tokens de acesso.
- Opcional: conclua o início rápido para adicionar chamadas de voz ao seu aplicativo
Integração TelecomManager
Importante
Esta funcionalidade dos Serviços de Comunicação do Azure está atualmente em pré-visualização.
As APIs e SDKs de visualização são fornecidos sem um contrato de nível de serviço. Recomendamos que você não os use para cargas de trabalho de produção. Alguns recursos podem não ser suportados ou podem ter recursos restritos.
Para obter mais informações, consulte Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure.
TelecomManager
A integração no SDK do Android dos Serviços de Comunicação do Azure lida com a interação com outros aplicativos de chamada VoIP e PSTN que também se integraram ao TelecomManager
.
Configurar TelecomConnectionService
Adicionar TelecomConnectionService
à sua Aplicação 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>
Inicializar agente de chamada com TelecomManagerOptions
Com a instância configurada do , podemos criar o CallAgent
com TelecomManager
habilitadoTelecomManagerOptions
.
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);
Configurar dispositivo de saída de áudio
Quando a integração TelecomManager está habilitada para o aplicativo, o dispositivo de saída de áudio deve ser selecionado apenas via API do gerenciador de telecomunicações.
call.setTelecomManagerAudioRoute(android.telecom.CallAudioState.ROUTE_SPEAKER);
Configurar o comportamento de retomada de chamada
Quando a chamada é interrompida com outra chamada, por exemplo, chamada PSTN de entrada, a chamada ACS é feita OnHold
. Você pode configurar o que acontece quando a chamada PSTN termina a chamada de retomada automaticamente ou esperar que o usuário solicite a retomada da chamada.
telecomManagerOptions.setResumeCallAutomatically(true);