このドキュメントでは、TelecomManager を Android アプリケーションと統合する方法について説明します。
[前提条件]
- アクティブなサブスクリプションを持つ Azure アカウント。 無料でアカウントを作成できます。
- デプロイ済みの Communication Services リソース。 Communication Services リソースを作成します。
- 通話クライアントを有効にするためのユーザー アクセス トークン。 詳細については、アクセス トークンの作成と管理に関する記事を参照してください。
- 省略可能: クイックスタートを完了して、アプリケーションに音声通話を追加します
TelecomManager の統合
重要
Azure Communication Services のこの機能は、現在プレビュー段階にあります。 プレビュー段階の機能は一般公開されており、新規および既存の Microsoft のすべてのお客様が使用できます。
プレビューの API と SDK は、サービス レベル アグリーメントなしに提供されます。 運用環境のワークロードには使用しないことをお勧めします。 特定の機能がサポートされていないか、機能が制約されている可能性があります。
詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
TelecomManager
Azure Communication Services Android SDK での統合は、他の VoIP および PSTN 通話アプリとの対話を処理します。このアプリは、 TelecomManager
とも統合されています。
TelecomConnectionService
を構成する
アプリに TelecomConnectionService
を追加する 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>
TelecomManagerOptions を使用して呼び出しエージェントを初期化する
TelecomManagerOptions
の構成済みインスタンスを使用すると、CallAgent
を有効にしてTelecomManager
を作成できます。
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);
オーディオ出力デバイスを構成する
アプリに対して TelecomManager 統合が有効になっている場合、オーディオ出力デバイスは、Telecom Manager API 経由でのみ選択する必要があります。
call.setTelecomManagerAudioRoute(android.telecom.CallAudioState.ROUTE_SPEAKER);
通話再開の動作を構成する
着信 PSTN コールなど、他のコールでコールが中断されると、ACS コールは OnHold
配置されます。 PSTN 通話が自動的に再開通話を超えるとどうなるかを構成したり、ユーザーが通話の再開を要求するのを待ったりすることができます。
telecomManagerOptions.setResumeCallAutomatically(true);