Teams 回線共有機能

この記事では、Azure Communication Services を使用して Microsoft Teams 回線共有機能を実装する方法について説明します。 回線共有機能を使用すると、ユーザーが、通話の発信や処理を代わりに行う代理人を選択できます。 この機能は、ユーザーに管理アシスタントがいて、そのアシスタントがユーザーの通話を定期的に処理する場合に便利です。

回線共有機能のコンテキストでは、マネージャーは、通話の発信や受信を代理人が代わりに行うことを承認する Teams ユーザーです。 代理人は、デリゲータに代わって通話を発信または受信できる Microsoft 365 ユーザーです。 詳細については、「線の 外観を共有する」を参照してください。

前提条件

サポート

SDK

次の表は、個々の Azure Communication Services SDK での共有回線の外観機能のサポートを示しています。

サポートの状態 Web ウェブユーザーインターフェース iOS iOS ユーザーインターフェース Android Androidのユーザーインターフェース ウィンドウズ
サポートの有無 ✔️

この API 機能は、Azure Communication Services Calling Web SDK (1.35.1 以降) で使用できます。

SDK のインストール

npm install コマンドを使用して、JavaScript 用の Azure Communication Services 通話と共通の各 SDK をインストールします。

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

必要なオブジェクトを初期化する

CallClient インスタンスを作成して、通話スタックを開始します。 AzureLogger インスタンスと setLogLevel メソッドを使用して、通話 SDK のログ記録を構成できます。 メソッド deviceManager を使用して、オペレーティング システムの getDeviceManager にアクセスできます。

次に、メソッド createTeamsCallAgent を使用して、Teams ユーザーの着信と発信の通話を管理する TeamsCallAgent インスタンスを非同期的に作成します。 このメソッドは、CommunicationTokenCredentialを表す引数として を取ります。

const { CallClient } = require('@azure/communication-calling');
const { AzureCommunicationTokenCredential} = require('@azure/communication-common');
const { AzureLogger, setLogLevel } = require("@azure/logger");

// Set the logger's log level
setLogLevel('verbose');

// Redirect log output to wherever desired. To console, file, buffer, REST API, etc...
AzureLogger.log = (...args) => {
    console.log(...args); // Redirect log output to console
};

const userToken = '<USER_TOKEN>';
callClient = new CallClient();
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const teamsCallAgent = await callClient.createTeamsCallAgent(tokenCredential);
const deviceManager = await callClient.getDeviceManager();

Microsoft Teams ユーザーの代わりに電話をかける

委任者の代わりに呼び出しを行う前に、通話を発信する代理人が、Microsoft Teamsのmake callsを通じてアクセス許可を持っていることを確認します。

Microsoft Teams ユーザーの代わりに電話をかけるには、通話開始時に OnBehalfOfOptions を指定します。 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx をデリゲータの userId に、yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy を呼び出し先の userId に置き換えます。

const onBehalfOfOptions = { userId: { microsoftTeamsUserId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }
const teamsCallOptions = { onBehalfOfOptions: onBehalfOfOptions };
const call = teamsCallAgent.startCall([{ microsoftTeamsUserId: "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" }], teamsCallOptions);

Microsoft Teams参加者の代わりに、公共交換電話網 (PSTN) ユーザーに通話を発信するには、通話参加者としてPhoneNumberIdentifierを使用します。

const call = teamsCallAgent.startCall([{ phoneNumber: "+1xxxxxxxxxx" }], teamsCallOptions);

Microsoft Teams ユーザーの代わりに通話を受信する

委任者の代わりに呼び出しを受信するには:

  • Microsoft Teamsの委任者の通話設定で受信通話の設定を有効にするために、委任のアクセス許可を更新します。
  • Microsoft Teamsの委任呼び出し設定を使用して、代理人の同時呼び出しを設定します。

次のステップ