📞 ACS Call Automation テスト

ヘルスチェック

🎙️ Media Streaming (双方向 WebSocket)

通話モードを選んでブラウザのマイクで話すと、選んだモードで加工された音声がリアルタイムに返ってきます。 実 ACS リソース未設定でも動作する WebSocket エコー検証です。

1. 発信 (Outbound Call)

2. 着信応答 (Incoming Call)

ACS リソースに購入済みの電話番号宛に外部 (PSTN 等) から着信があると、EventGrid 経由で POST /api/call/incoming に Microsoft.Communication.IncomingCall が届き、 サーバーは即座に AnswerCallAsync で応答します。 応答済みの着信は下に履歴として表示され、「最新を Call Connection ID に投入」 を押すと 通話中操作 / 保留 / 録音 が即そのコールに対して使えます。

まだ着信を受けていません。

EventGrid サブスクリプションの設定方法 (初回のみ必要)

ACS リソースに Microsoft.Communication.IncomingCall のイベントサブスクリプションを作成し、 Web Hook URL に下記を指定します:

https://uranowindowsapp.azurewebsites.net/acs/call-automation/api/call/incoming

az CLI 例:

az eventgrid event-subscription create \
  --name uranoIncomingCallSub \
  --source-resource-id /subscriptions/5a28e782-23c0-41e5-ac99-5121e157e20f/resourceGroups/myenv/providers/Microsoft.Communication/CommunicationServices/UranoMyACS \
  --endpoint https://uranowindowsapp.azurewebsites.net/acs/call-automation/api/call/incoming \
  --endpoint-type webhook \
  --included-event-types Microsoft.Communication.IncomingCall

サブスクリプション作成時に EventGrid から SubscriptionValidation が来ますが、サーバー側で自動応答する実装になっています。

3. 通話中の操作

4. 保留 / 保留解除 (Hold / Unhold)

参加者 RawId は「参加者一覧」ボタンで取得できます (PSTN なら 4:+81xxxxxxxxxx 形式)。

5. 録音 (Call Recording)

通話中に開始 → pause/resume 可 → stop で終了。保存先は ACS マネージド (48h 保持) と BYOS Azure Blob から選択。

詳細オプション

録音は現在の Call Connection ID に対して開始されます (上のテキスト欄)。


ダウンロード / 削除 (ACS マネージドストレージのみ)

contentLocation / deleteLocation は EventGrid の RecordingFileStatusUpdated から得ます。


6. Server Call ID 統計 (桁数仕様の実測)

ACS が発行する serverCallId の桁数は公式ドキュメントに 明記がなく、Skype/Teams calling backend 側の不透明識別子です (現行実装は base64 系の長文字列で、192 / 196 桁付近が観測されています)。 バックエンド更改で桁数が変動し得るため、ここでは outbound / incoming / callback:<EventType> / getProperties など複数の観測点でサンプリングし、長さ分布を継続記録します。

使い方

1. 発信または着信応答を行うとサンプルが自動的に積まれます (重複は抑制)。
2. 通話中の CallConnected / CallDisconnected 等のコールバック、 GET /api/call/{callConnectionId} でも観測点を増やせます。
3. 下表の「Length distribution」に複数行が出る = 桁数が変動している、ということです。

Length distribution

Source distribution

Recent samples (新しい順)

その他の機能 (別エリア)

本ページは Call Automation 単機能の UI です。同じ ACS カテゴリ配下のモジュールは「ACS カテゴリ」から辿れます。