Compartilhar via


Integrar com o TelecomManager

Esse documento descreve como integrar o TelecomManager ao seu aplicativo Android.

Pré-requisitos

Integração do TelecomManager

Importante

Este recurso dos Serviços de Comunicação do Azure estão atualmente em versão prévia.

Versões prévias das APIs e dos SDKs são fornecidas sem um contrato de nível de serviço. É recomendável que você não as use para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou talvez ter restrição de recursos.

Para saber mais, consulte os Termos de Uso Complementares das Versões Prévias do Microsoft Azure.

O SDK do Android para integração do TelecomManager nos Serviços de Comunicação do Azure se encarrega da interação com outros Aplicativos de chamadas VoIP e PSTN que também são integrados com o TelecomManager.

configurar TelecomConnectionService

Adicionar TelecomConnectionService ao AndroidManifest.xml do seu aplicativo

<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 o agente de chamada com TelecomManagerOptions

Com a instância configurada do TelecomManagerOptions, podemos criar o CallAgent com o 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);

Configurar o dispositivo de saída de áudio

Quando a integração do TelecomManager estiver habilitada para o Aplicativo, o dispositivo de saída de áudio tem que ser selecionado apenas por meio da API do gerenciador de telecomunicações.

call.setTelecomManagerAudioRoute(android.telecom.CallAudioState.ROUTE_SPEAKER);

Configurar o comportamento de retomada de chamada

Quando a chamada é interrompida por outra chamada, por exemplo, uma chamada PSTN sendo recebida, a chamada do ACS é colocada OnHold. Você pode configurar o que acontece quando a chamada PSTN terminar: retomar a outra chamada automaticamente ou aguardar que o usuário solicite a retomada da chamada.

telecomManagerOptions.setResumeCallAutomatically(true);

Próximas etapas