こんにちは。NewITソリューション部の上蔀です。
今回は、Azureのサービスの一つであるAzure Communication Servicesについてご紹介します。
Azure Communication Servicesとは
Azure Communication ServicesとはAzure上のリソースを介して音声・ビデオ・チャットなどを扱うことができるAPIを提供するサービスです。
Azure Communication Services とは | Microsoft Learn
これを使用することで、作成したアプリに上記の機能を組み込むことができます。
今回はAzure Communication Servicesを利用して、Teams会議に参加して通話をするアプリを作成してみます。
ACSを利用してアプリをTeams会議に参加させる
リソース作成
Azure Portal で Azure Comunication serviceのリソースを作成します。
リソース名はエンドポイントのURLになるため、他のユーザーと重複しないものを設定する必要があります。




アプリ作成
Azure上のリソースの準備ができたので、Teams会議に参加させるアプリを作成していきます。
ACSの機能を使用するためには、公開されているSDKを利用するのが便利です。
Azure Communication Services の SDK と REST API – An Azure Communication Services concept document | Microsoft Learn
今回は簡易にUIを作って動作確認をするため、Reactで画面を作り、Javascript(Typescript)で実装していきます。
vite等でReactアプリの環境を構築し、必要なパッケージをインストールしていきます。

アクセストークンの取得
接続文字列が必要になるので、ACRのリソースの画面から取得します。


Teams会議への接続
トークンと会議URLを受け取って会議に接続する関数を作成します。返り値のcall
は通話の制御やメディアストリームの取得に使用します。

最後に、作成した関数を使って「入力欄に入力した会議URLに参加する」機能を実装します。

作成したwebアプリを起動すると以下のようなページが表示されます。

URLを入力し右のボタンを押すと、Teams会議に作成したアプリが入室待ちの状態になります。

承認すると、ブラウザ上で開いているWebアプリの方から音声の入出力が始まり、通話ができる状態になります。

今回は単に通話ができるところまででの簡易的な動作確認ですが、以下のようにcall
からメディアストリームを取得することでリアルタイムに会議の音声を受け渡すこともできます。

リアルタイムな音声処理により、会議の音声の文字起こしや生成AIによるサポートなどへの活用も見込めます。
まとめ
本記事では、Azure Communication Servicesを利用した、Teams会議に参加して通話をするアプリの作成を行いました。
Azure Communication ServicesではTeams会議への参加のほかにも、Teamsのチャット・チャネルへの書き込みや、メール・SMSの配信などの機能を提供しています。
顧客向け・組織向け問わず、幅広い用途が考えられます。
弊社ではクラウドやAIを中心としたシステムを提供しております。
ご興味をお持ちいただけましたらお気軽にお問い合わせいただけると幸いです。