Partilhar via


Integração com TelecomManager

Este documento descreve como integrar o TelecomManager com a sua aplicação Android.

Pré-requisitos

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);

Próximos passos