Microsoft Teamsでダイレクトルーティングを構成する


# 前提条件

- Microsoft Teamsが有効なMicrosoft 365アカウント
    - Microsoft 電話システムのライセンスが必要
    - example.onmicrosoft.comのようなドメインではなく、独自ドメインを利用している必要あり
    - 例：example.com

# 事前準備

## Microsoft 365アカウントにMicrosoft 電話システムのライセンスを付ける

2022/8/20 現在だと、Microsoft E5のみ標準で電話システムが含まれていて、他のプランだと基本的にオプションの扱いです。
とりあえず、試すならE5の試用版が手っ取り早いですね。

1. 「Microsoft 365管理センター」の「ユーザ」から「アクティブなユーザ」を開く
2. 対象のユーザの表示名をクリックし、詳細を開く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/8abf6b9e-58f2-820c-9e97-0b2686520e3d.png)

3. (E5の場合)「ライセンスとアプリ」タブの「アプリ」で「Microsoft 365 電話システム」にチェックが入っていることを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/283a1578-ccd5-641f-f468-ab452412eae8.png)

4.(それ以外の場合)「ライセンスとアプリ」タブの「ライセンス」で「Microsoft Teams 電話スタンダード」にチェックが入っていることを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/f6e038bf-13eb-3ded-d21b-23ef6dbf3e13.png)


## Microsoft 365アカウントに電話番号を付ける

以前は、Power Shellを使わないとダメだったけど、いつのまにか管理センターから出来るようになっていました。

1. 「Teams 管理センター」から「ユーザ」→「ユーザを管理」を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/8528411f-2a29-9ab4-081e-698fa45ddeb0.png)

1. 電話番号を付けるユーザを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/ff9609ef-6a8c-eb37-f899-3105d2ae2d9f.png)
 
1. 「アカウント」タブから「一般情報」右側の「編集」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/b7c861b4-9c62-e57a-e887-b7afb2cec6e6.png)

1. 「電話番号の種類」は「ダイレクトルーティング」を選択します。「割り当てられた電話番号」はE.164形式で入力します。
「ユーザに電話番号情報をメールで送信」は必要に応じて有効にし、「適用」をクリックします。
(適用をクリックした後に、反映時間が掛かっていると表示される場合がありますが、画面の指示に従って少し待つと適用されます。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/250e8051-ec93-1b1c-d5b4-3a7ea813e253.png)

## SBC(セッションボーダーコントローラー)の登録

1. 「Teams 管理センター」から「音声」→「ダイレクトルーティング」を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/11d3b72a-e76a-76ef-7e35-5831238406e6.png)

1. 「セッションボーダーコントローラー」から「追加」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/2c12585b-1390-ea51-8739-6ffe4ba37f8d.png)

1. 追加する画面が表示されたら、主に赤枠の部分を入力します。「sbc1.example.com」と表示されている箇所がSBCのFQDNです。
「有効」を「オン」にします（スクリーンショットではオフになってしまっていますが・・）
「SIPシグナリングポート」は標準で「5067」ですが、SBC側に合わせてください。
また、必要に応じて「同時通話の上限」を変更します。
最後に、スクリーンショットから見切れていますが、入力したら、「保存」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/a2ee4e5c-a4c6-062d-b8d5-d1f7f6c372cc.png)

## 音声ルートとPSTN 使用法の設定

次に音声ルートとPSTN 使用法の設定をします。言葉が分かりにくいですが、次のような感じです。

- 音声ルート
    - Teamsユーザがどのようなダイヤルをした際に、どのSBCをどのような順番で利用するか
    - 例）通常の発信は、A/B 2台にSBCに分散させる
    - 例）特定の番号は特定のSBCに迂回する
- PSTN使用法
    - 音声ルートをまとめて、Teamsユーザに適用出来るようにする設定
- 音声ルーティング ポリシー
    - TeamsユーザにどのPSTN使用法を割り当てるか決めるポリシー

- 見え方：Teamsユーザ→音声ルーティングポリシー→PSTN使用法→音声ルート→SBC
    - このあたり参照：[ダイレクト ルーティングの呼び出しルーティングを構成する](https://docs.microsoft.com/ja-jp/microsoftteams/direct-routing-voice-routing)

1. 「Teams 管理センター」から「音声」→「ダイレクトルーティング」を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/11d3b72a-e76a-76ef-7e35-5831238406e6.png)

1. 「音声ルート」から「追加」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/54081ba4-7997-9472-25d8-9f08fdfa8588.png)

1. 「Qiita 音声ルート」の箇所は、わかりやすい名前を付けます。
「ダイヤルする番号のパターン」は、Teamsユーザが発信した番号と比較され、マッチした場合、この後で選択するSBCがされるようになります。
（実際は番号計画などによって変えてください）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/212618ad-8e1e-fb94-2349-09c18bf9eed1.png)

1. 「登録するセッションボーダーコントローラー」から「セッションボーダー...」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/4c14323e-b090-175f-325f-71756f61d491.png)

1. 右側のペインにSBCを選択する画面が表示されます。先ほど登録したSBCを選択肢、「適用」をクリックします。
（スクリーンショットでは2台 登録しているため、2行表示されています）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/ab8a97f8-107f-6742-b3c4-139b3f253ffa.png)

1. 念のため元の画面でも、SBCが選択されていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/860c289c-28a6-aed5-e376-70a1b3d7c693.png)

1. 「PSTN使用法レコード」から「PSTN使用法レコ...」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/1d504261-6024-a0ac-764a-b320a04979a1.png)

1. 右側のペインに、追加する画面が表示されます。「追加」をクリックし、適当な名称を付け、「保存して適用」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/1f050893-107f-a2be-4105-59d7e749b42d.png)

1. 念のため元の画面でも、追加されていることを確認し、「保存」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/9d7f8eb9-0809-0bfc-be0e-04ce69c8d389.png)

1. 元の画面に戻りますので、設定した内容で追加されていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/7f4cd454-a905-38f2-2d4a-85035e1b2e6f.png)


## PSTN使用法レコードを音声ルーティングポリシーに割り当て

最後に、音声ルーティングポリシーを編集し、先ほど作成したPSTN使用法レコードを実際のユーザに割り当てます。

1. 「Teams 管理センター」から「音声」→「音声ルーティングポリシー」を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/b7a51851-334a-b297-ad8e-3fdae13e9454.png)

1. ここではいったん「グローバル(組織全体の既定値)」を使って適用しますので、「グローバル(組織全体の既定値)」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/dc8fab1d-14a1-0f56-e086-b4db77a102e0.png)

1. 「PSTN使用法レコード」から「追加または削除」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/9f2f2fb2-75c1-2e93-6cdc-404b3205122c.png)

1. 先ほど作成した「Qiita PSTN使用法」を選択し、「保存して適用」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/aca3f509-a78a-dc95-73e5-a7ee503bd402.png)

1. 元の画面に戻るので、念のため設定した内容が反映されていることを確認します。
(スクリーンショット 赤枠内が作成した、「Qiita PSTN使用法」になっていればOK)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/25028/8aad2ebe-5eda-3a27-627c-6809dc43de41.png)

## ダイヤルプラン

ダイヤルプランも考えてみたので時間があれば記載予定

| Number | Name | Pattern | Replace |備考|
|:-:|:-:|:-:|:-:|:-:|
|1|JP-International-Dial|^010(\d+)$|+$1|国際電話 010-国番号-相手番号|
|2|JP-Domestic-Dial|^0(\d{9,})+$|+81$1|国内電話 0AB-J|
|3|JP-1xx-Dial|^1(\d{2,})$|+811$1|100番特番|
|4| JP-Extension|^([2-9]\d+{1,7})$|+81$1|内線|