Azure Communication ServicesでTeams通話に参加する方法

こちらの記事はAzureリレー兼FIXER Advent Calendar 2021の24日の記事になります

1年目の日高です。Azure Communication Services(以下ACS)とTeamsの相互運用の機能が最近GAされました。そこで、こちらの機能を利用してACSからTeams通話に参加する方法について紹介したいと思います。

ACSの使用方法等は説明すると長くなってしまうので今回は省きます。ACSを使用した通話アプリの作成方法に関しては「Vue+Azure Communication Servicesで通話アプリを作成する」という記事で詳しく説明しているので確認してみてください 。

Teams通話に参加する

ACSからTeamsの会議に参加は意外と簡単に実装することができます。

グループ通話に参加するにはCallAgentのメソッドのjoinを使用するのですが、通話先はGroupLocatorという引数を渡して指定します。前回の記事ではgroupIdを渡していましたが、Teams会議へ参加する場合代わりにmeetingLinkとしてTeams会議のURLを渡すように変更するだけです。

Teams会議を作成する

まずは今回の通話に使用するTeams会議を作成します。作成方法は何でもよいのですが、今回は一番楽に作成できそうなOutlookの予定からTeams会議を作成していきます。

始めに、Outlookの予定表を開き任意の時間のブロックをクリックします。そして「会議室または場所を検索します」という文章の右側にあるTeams会議をオンにして予定を作成します。

作成し終わったら以下の画像のように予定をクリックし「参加」をクリックして通話に一度参加してください

通話に参加したら三点リーダーをクリックして「会議のオプション」を選びます

「ロビーを迂回するユーザー?」の値を「所属組織内のユーザーおよびゲスト」から「全員」へ変更します。

ACSユーザーはゲストユーザーとしてTeams会議に参加するためこの設定をしないとすでに会議に参加している人が承諾しないと通話に参加できなくなってしまうのでこちらの設定をしています

通話の接続先をTeamsへ変更する

先程説明したようにGroupLocatorにはgroupId又はmeetingLinkを指定することができます。

そのため前回の記事のコードの通話参加部分を以下のように書き換え、TEAMS_URLのところを先程セッティングしたTeams会議のURLに置き換えます

this.call = await this.callAgent.join({ meetingLink: "TEAMS_URL" }, callOption);

これで、ACSからTeamsに参加できるようになりました!!

少し短いですが今回はこれで終わろうと思います。

最後に

いかがだったでしょうか。Teamsとの相互運用がGAされたことでACSを使用してできることの幅がかなり広がりました。

ACSは頻繁にアップデートが行われているので今後できることはもっと増えていくと思います!

FIXER Inc. 日高 諒久
  • FIXER Inc. 日高 諒久
  • 入社1年目、いろいろ勉強中。vue.js、Nuxt、Azure Communication Services、power apps portalとかをよく触ってます。
    最近はAWSも触りだしました。