クイックスタート: 音声ルーティングをプログラムで構成する
Azure Communication Services ダイレクト ルーティングの発信音声ルーティング規則を構成します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- アクティブな Communication Services リソース。 Communication Services リソースを作成します。
- 運用テレフォニー システムにおけるセッション ボーダー コントローラー (SBC) の完全修飾ドメイン名 (FQDN) とポート番号。
- SBC FQDN の検証済みドメイン名。
注意
SipRoutingClient
のその他の使用例については、GitHub を参照してください。
セッション ボーダー コントローラーを追加する
左側のペインの [音声通話 - PSTN] で、[ダイレクト ルーティング] を選択します。 [セッション ボーダー コントローラー] タブで、[構成] を選択します。
SBC の FQDN とシグナリング ポートを入力します。 SBC FQDN の要件は次のとおりです。
- 前提条件で前述したように、ダイレクト ルーティング構成に FQDN を追加する前に、FQDN のドメイン部分を確認する必要があります。
- SBC 証明書は名前と一致している必要があります。 ワイルドカードの証明書がサポートされています。
- FQDN には
*.onmicrosoft.com
および*.azure.com
ドメインを使用できません。
すべての要件の一覧については、「Azure ダイレクト ルーティング インフラストラクチャの要件」を参照してください。
[次へ] を選択します。 すべてが正しく設定されている場合は、Azure portal で SBC の状態が [アクティブ] と表示されます。
重要
通話を発信または受信する前に、SBC の状態が "オンライン" になっていることを確認します
音声ルーティング規則を作成する
音声ルートに名前を付け、正規表現を使用して数値パターンを指定し、そのパターンに対して SBC を選択します。 基本的な正規表現の例を次に示します。
^\+\d+$
: 先頭に正符号が付いた 1 桁以上の数字の電話番号と一致します。^\+1(\d{10})$
:+1
の後に 10 桁の数字がある電話番号と一致します。^\+1(425|206)(\d{7})$
: 先頭が+1425
または+1206
で、その後に 7 桁の数字が続く電話番号と一致します。^\+0?1234$
:+01234
と+1234
の両方の電話番号と一致します。
正規表現の詳細については、.NET 正規表現の概要に関する記事を参照してください。
1 つのパターンに対して複数の SBC を選択できます。 そのような場合、それらはルーティング アルゴリズムでランダムな順序で選択されます。 また、正確な数値パターンを複数回指定することもできます。 上の行ほど優先度が高くなります。 その行に関連付けられているすべての SBC が使用できない場合は、次の行が選択されます。 このようにして、複雑なルーティング シナリオが作成されます。
ダイレクト ルーティングの構成を削除する
音声ルートを削除するには:
- 左側のペインの [音声通話 - PSTN] で、[ダイレクト ルーティング] に移動します。
- [音声ルート] タブで、削除するルート (または複数のルート) のチェックボックスをオンにします。
- [削除] を選択します。
SBC を削除するには:
- 左側のペインの [音声通話 - PSTN] で、[ダイレクト ルーティング] に移動します。
- [セッション ボーダー コントローラー] タブで、[構成] を選択します。
- 削除する SBC の FQDN とポートのフィールドをクリアし、その後 [次へ] を選択します。
- [音声ルート] タブで、音声ルーティングの構成を確認します。 必要に応じて変更し、[保存] を選択します。
音声ルートに関連付けられている SBC を削除する場合、[音声ルート] タブでそのルートに別の SBC を選択できます。SBC が関連付けられていない音声ルートは削除されます。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- アクティブな Communication Services リソースと接続文字列。 Communication Services リソースを作成します。
- お使いのオペレーティング システムに対応した最新バージョンの .NET Core クライアント ライブラリ。
- 運用テレフォニー システムにおけるセッション ボーダー コントローラー (SBC) の完全修飾ドメイン名 (FQDN) とポート番号。
- SBC FQDN の検証済みドメイン名。
最終的なコード
このクイックスタートの最終的なコードは GitHub にあります。
また、SipRoutingClient
のその他の使用例については、GitHub でも参照できます。
C# アプリケーションを作成する
コンソール ウィンドウ (コマンド プロンプト、PowerShell、Bash など) で、dotnet new
コマンドを使用して新しいコンソール アプリを作成します。
dotnet new console -o DirectRoutingQuickstart
このコマンドにより、1 つのソース ファイルを使用する単純な "Hello World" C# プロジェクトが作成されます。Program.cs。
ディレクトリを、新しく作成したアプリ フォルダーに変更し、dotnet build
コマンドを使用して自分のアプリケーションをコンパイルします。
cd DirectRoutingQuickstart
dotnet build
パッケージをインストールする
まだアプリケーション ディレクトリにいる間に、dotnet add package
コマンドを使用して、.NET 用の Azure Communication PhoneNumbers クライアント ライブラリをインストールします。
dotnet add package Azure.Communication.PhoneNumbers --version 1.1.0
Program.cs の先頭に using
ディレクティブを追加して名前空間をインクルードします。
using Azure.Communication.PhoneNumbers.SipRouting;
クライアントを認証する
電話番号クライアントを、Azure Communication Services リソースから取得した接続文字列を使用して認証します。
// Get a connection string to the Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new SipRoutingClient(connectionString);
ダイレクト ルーティングの構成を設定する
前提条件で、ドメインの所有権を確認しました。 次の手順では、トランクの作成 (SBC の追加) と音声ルートの作成を行います。
トランクの作成または更新
Azure Communication Services ダイレクト ルーティングを使用すると、登録された SBC とのみ通信できます。 SBC を登録するには、その FQDN とポートが必要です。
// Register your SBCs by providing their fully qualified domain names and port numbers.
var usSbcFqdn = "sbc.us.contoso.com";
var euSbcFqdn = "sbc.eu.contoso.com";
var sbcPort = 5061;
var usTrunk = new SipTrunk(usSbcFqdn, sbcPort);
var euTrunk = new SipTrunk(euSbcFqdn, sbcPort);
await client.SetTrunksAsync(new List<SipTrunk> { usTrunk, euTrunk });
ルートの作成または更新
発信呼び出しのルーティング規則を指定します。 各規則は、2 つの部分で構成されます。ダイヤルされた電話番号と一致する必要がある正規表現パターンと、呼び出しがルーティングされる登録されたトランクの FQDN です。
ルートの順序によって、ルートの優先順位が決まります。 RegEx に一致する最初のルートが呼び出し用に選択されます。
この例では、+1
で始まる番号に 1 つのルートを作成し、+
だけで始まる番号に 2 つ目のルートを作成します。
var usRoute = new SipTrunkRoute("UsRoute", "^\\+1(\\d{10})$", trunks: new List<string> { usSbcFqdn });
var defaultRoute = new SipTrunkRoute("DefaultRoute", "^\\+\\d+$", trunks: new List<string> { usSbcFqdn, euSbcFqdn });
await client.SetRoutesAsync(new List<SipTrunkRoute> { usRoute, defaultRoute });
ダイレクト ルーティングの構成を更新する
レコードを同じ FQDN で上書きすることで、特定のトランクのプロパティを更新できます。 たとえば、新しい SBC ポート値を設定できます。
var usTrunk = new SipTrunk("sbc.us.contoso.com", 5063);
await client.SetTrunkAsync(usTrunk);
ルーティング規則の作成と更新でも同じ方法を使用します。 ルートを更新するときは、すべてのルートを 1 回の更新で送信します。 新しいルーティング構成では、前のルーティング構成が完全に上書きされます。
ダイレクト ルーティングの構成を削除する
1 つの音声ルートの編集や削除を行うことはできません。 音声ルーティング構成全体を上書きする必要があります。 すべてのルートとトランクを削除する空のリストの例を次に示します。
//delete all configured voice routes
await client.SetRoutesAsync(new List<SipTrunkRoute>());
//delete all trunks
await client.SetTrunksAsync(new List<SipTrunk>());
音声ルートで使用されていない場合は、次の例を使用して 1 つのトランク (SBC) を削除できます。 SBC が音声ルートに記載されている場合、そのルートを最初に削除します。
await client.DeleteTrunkAsync("sbc.us.contoso.com");
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Java Development Kit (JDK) バージョン 8 以降。
- Apache Maven。
- デプロイされた Communication Services リソースと接続文字列。 Communication Services リソースを作成します。
- 運用テレフォニー システムにおけるセッション ボーダー コントローラー (SBC) の完全修飾ドメイン名 (FQDN) とポート番号。
- SBC FQDN の検証済みドメイン名。
最終的なコード
このクイックスタートの最終的なコードは GitHub にあります。
また、SipRoutingClient
のその他の使用例については、GitHub でも参照できます。
Java アプリケーションの作成
ターミナルまたはコマンド ウィンドウを開きます。 Java アプリケーションを作成するディレクトリに移動します。 その後、次のコマンドを実行して、maven-archetype-quickstart テンプレートから Java プロジェクトを生成します。
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
generate
タスクにより、artifactId
値と同じ名前のディレクトリが作成されます。 このディレクトリの下の src/main/java ディレクトリにはプロジェクトのソース コードが、src/test/java ディレクトリにはテスト ソースがそれぞれ含まれており、pom.xml ファイルはプロジェクトのプロジェクト オブジェクト モデル (POM) です。
パッケージをインストールする
テキスト エディターで pom.xml ファイルを開きます。 依存関係のグループに、次の dependency 要素を追加します。
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-phonenumbers</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
アプリのフレームワークを設定する
プロジェクト ディレクトリで次の操作を行います。
- /src/main/java/com/communication/quickstart ディレクトリに移動します
- 使用しているエディターで App.java ファイルを開きます
System.out.println("Hello world!");
ステートメントを置き換えますimport
ディレクティブを追加します。
次のコードを使用して開始します。
import com.azure.communication.phonenumbers.siprouting.SipRoutingAsyncClient;
import com.azure.communication.phonenumbers.siprouting.SipRoutingClientBuilder;
import com.azure.communication.phonenumbers.siprouting.models.SipTrunk;
import com.azure.communication.phonenumbers.siprouting.models.SipTrunkRoute;
import static java.util.Arrays.asList;
public class App
{
public static void main( String[] args ) throws IOException
{
System.out.println("Azure Communication Services - Direct Routing Quickstart");
// Quickstart code goes here
}
}
クライアントを認証する
SipRoutingClientBuilder
では、Microsoft Entra 認証を使用できます。
// You can find your endpoint and access key from your resource in the Azure portal
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";
SipRoutingAsyncClient sipRoutingAsyncClient = new SipRoutingClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
または、通信リソースのエンドポイントとアクセス キーを使用して認証を行います。
// You can find your connection string from your resource in the Azure portal
String connectionString = "endpoint=https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<ACCESS_KEY>";
SipRoutingAsyncClient sipRoutingAsyncClient = new SipRoutingClientBuilder()
.connectionString(connectionString)
.buildClient();
ダイレクト ルーティングの構成を設定する
前提条件で、ドメインの所有権を確認しました。 次の手順では、トランクの作成 (SBC の追加) と音声ルートの作成を行います。
トランクの作成または更新
Azure Communication Services ダイレクト ルーティングを使用すると、登録された SBC とのみ通信できます。 SBC を登録するには、その FQDN とポートが必要です。
sipRoutingAsyncClient.setTrunksWithResponse(asList(
new SipTrunk("sbc.us.contoso.com", 5061),
new SipTrunk("sbc.eu.contoso.com", 5061)
)).block();
ルートの作成または更新
発信呼び出しのルーティング規則を指定します。 各規則は、2 つの部分で構成されます。ダイヤルされた電話番号と一致する必要がある正規表現パターンと、呼び出しがルーティングされる登録されたトランクの FQDN です。
ルートの順序によって、ルートの優先順位が決まります。 RegEx に一致する最初のルートが呼び出し用に選択されます。
この例では、+1
で始まる番号に 1 つのルートを作成し、+
だけで始まる番号に 2 つ目のルートを作成します。
sipRoutingAsyncClient.setRoutes(asList(
new SipTrunkRoute("UsRoute", "^\\+1(\\d{10})$").setTrunks(asList("sbc.us.contoso.com")),
new SipTrunkRoute("DefaultRoute", "^\\+\\d+$").setTrunks(asList("sbc.us.contoso.com", "sbc.eu.contoso.com"))
)).block();
ダイレクト ルーティングの構成を更新する
レコードを同じ FQDN で上書きすることで、特定のトランクのプロパティを更新できます。 たとえば、新しい SBC ポート値を設定できます。
sipRoutingClient.setTrunk(new SipTrunk("sbc.us.contoso.com", 5063));
ルーティング規則の作成と更新でも同じ方法を使用します。 ルートを更新するときは、すべてのルートを 1 回の更新で送信します。 新しいルーティング構成では、前のルーティング構成が完全に上書きされます。
ダイレクト ルーティングの構成を削除する
1 つの音声ルートの編集や削除を行うことはできません。 音声ルーティング構成全体を上書きする必要があります。 すべてのルートとトランクを削除する空のリストの例を次に示します。
2 つのインポートを追加します。
import java.util.Collections;
import java.util.List;
ダイレクト ルーティング構成を削除するには、次のコードを使用します。
//delete all configured voice routes
System.out.println("Delete all routes");
List<SipTrunkRoute> routes = Collections.<SipTrunkRoute> emptyList();
sipRoutingAsyncClient.setRoutes(routes).block();
//delete all trunks
System.out.println("Delete all trunks");
List<SipTrunk> trunks = Collections.<SipTrunk> emptyList();
sipRoutingAsyncClient.setTrunksWithResponse(trunks).block();
音声ルートで使用されていない場合は、次の例を使用して 1 つのトランク (SBC) を削除できます。 SBC が音声ルートに記載されている場合、そのルートを最初に削除します。
sipRoutingClient.deleteTrunk("sbc.us.contoso.com");
コードの実行
pom.xml ファイルのあるディレクトリに移動し、以下の mvn
コマンドでプロジェクトをコンパイルします。
mvn clean compile
次に、パッケージをビルドします
mvn package
次の mvn
コマンドを実行してアプリを実行します。
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- アクティブな Communication Services リソースと接続文字列。 Communication Services のリソースを作成する。
- オペレーティング システムの Node.js のアクティブ LTS およびメンテナンス LTS バージョン。
- 運用テレフォニー システムにおけるセッション ボーダー コントローラー (SBC) の完全修飾ドメイン名 (FQDN) とポート番号。
- SBC FQDN の検証済みドメイン名。
最終的なコード
このクイックスタートの最終的なコードは GitHub にあります。
また、SipRoutingClient
のその他の使用例については、GitHub でも参照できます。
Node.js アプリケーションの作成
ターミナルまたはコマンド ウィンドウを開き、自分のアプリ用に新しいディレクトリを作成し、そこに移動します。
mkdir direct-routing-quickstart && cd direct-routing-quickstart
既定の設定で npm init -y
を実行して、package.json ファイルを作成します。
npm init -y
作成したディレクトリのルートに、direct-routing-quickstart.js というファイルを作成します。 そこに次のスニペットを追加します。
async function main() {
// quickstart code will go here
}
main();
パッケージをインストールする
npm install
コマンドを使用して、JavaScript 用の Azure Communication Services Phone Numbers クライアント ライブラリをインストールします。
npm install @azure/communication-phone-numbers --save
--save
オプションを使用すると、--save
ファイル内の依存関係としてライブラリが追加されます。
クライアントを認証する
クライアント ライブラリから SipRoutingClient
をインポートし、接続文字列を使用してインスタンス化します。 次のコードは、COMMUNICATION_SERVICES_CONNECTION_STRING
という名前の環境変数からリソースの接続文字列を取得します。 リソースの接続文字列を管理する方法について確認してください。
direct-routing-quickstart.js に次のコードを追加します。
const { SipRoutingClient } = require('@azure/communication-phone-numbers');
// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];
// Instantiate the phone numbers client
const sipRoutingClient = new SipRoutingClient(connectionString);
ダイレクト ルーティングの構成を設定する
前提条件で、ドメインの所有権を確認しました。 次の手順では、トランクの作成 (SBC の追加) と音声ルートの作成を行います。
トランクの作成または更新
Azure Communication Services ダイレクト ルーティングを使用すると、登録された SBC とのみ通信できます。 SBC を登録するには、その FQDN とポートが必要です。
await client.setTrunks([
{
fqdn: 'sbc.us.contoso.com',
sipSignalingPort: 5061
},{
fqdn: 'sbc.eu.contoso.com',
sipSignalingPort: 5061
}
]);
ルートの作成または更新
発信呼び出しのルーティング規則を指定します。 各規則は、2 つの部分で構成されます。ダイヤルされた電話番号と一致する必要がある正規表現パターンと、呼び出しがルーティングされる登録されたトランクの FQDN です。
ルートの順序によって、ルートの優先順位が決まります。 RegEx に一致する最初のルートが呼び出し用に選択されます。
この例では、+1
で始まる番号に 1 つのルートを作成し、+
だけで始まる番号に 2 つ目のルートを作成します。
await client.setRoutes([
{
name: "UsRoute",
description: "route's description",
numberPattern: "^\+1(\d{10})$",
trunks: [ 'sbc.us.contoso.com' ]
},{
name: "DefaultRoute",
description: "route's description",
numberPattern: "^\+\d+$",
trunks: [ 'sbc.us.contoso.com', 'sbc.eu.contoso.com']
}
]);
ダイレクト ルーティングの構成を更新する
レコードを同じ FQDN で上書きすることで、特定のトランクのプロパティを更新できます。 たとえば、新しい SBC ポート値を設定できます。
await client.setTrunk({
fqdn: 'sbc.us.contoso.com',
sipSignalingPort: 5063
});
ルーティング規則の作成と更新でも同じ方法を使用します。 ルートを更新するときは、すべてのルートを 1 回の更新で送信します。 新しいルーティング構成では、前のルーティング構成が完全に上書きされます。
ダイレクト ルーティングの構成を削除する
1 つの音声ルートの編集や削除を行うことはできません。 音声ルーティング構成全体を上書きする必要があります。 すべてのルートとトランクを削除する空のリストの例を次に示します。
//delete all configured voice routes
console.log("Deleting all routes...");
await client.setRoutes([]);
//delete all trunks
console.log("Deleting all trunks...");
await client.setTrunks([]);
音声ルートで使用されていない場合は、次の例を使用して 1 つのトランク (SBC) を削除できます。 SBC が音声ルートに記載されている場合、そのルートを最初に削除します。
await client.deleteTrunk('sbc.us.contoso.com');
コードの実行
node
コマンドを使用して、direct-routing-quickstart.js
ファイルに追加したコードを実行します。
node direct-routing-quickstart.js
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Python 3.7 以降。
- デプロイされた Communication Services リソースと接続文字列。 Communication Services リソースを作成します。
- 運用テレフォニー システムにおけるセッション ボーダー コントローラー (SBC) の完全修飾ドメイン名 (FQDN) とポート番号。
- SBC FQDN の検証済みドメイン名。
最終的なコード
このクイックスタートの最終的なコードは GitHub にあります。
また、SipRoutingClient
のその他の使用例については、GitHub でも参照できます。
Python アプリケーションを作成する
ターミナルまたはコマンド ウィンドウを開きます。 アプリの新しいディレクトリを作成し、それに移動します。
mkdir direct-routing-quickstart && cd direct-routing-quickstart
テキスト エディターを使用して direct_routing_sample.py というファイルをプロジェクトのルート ディレクトリに作成し、次のコードを追加します。
import os
from azure.communication.phonenumbers.siprouting import SipRoutingClient, SipTrunk, SipTrunkRoute
try:
print('Azure Communication Services - Direct Routing Quickstart')
# Quickstart code goes here
except Exception as ex:
print('Exception:')
print(ex)
残りのクイックスタート コードは、以降のセクションで追加していきます。
パッケージをインストールする
まだアプリケーション ディレクトリにいる間に、pip install
コマンドを使用して、Python 用の Azure Communication Services 管理クライアント ライブラリをインストールします。
pip install azure-communication-phonenumbers==1.1.0
クライアントを認証する
SipRoutingClient
では、Microsoft Entra 認証を使用できます。 DefaultAzureCredential
オブジェクトを使用するのが、Microsoft Entra ID の使用を開始する最も簡単な方法です。これは、pip install
コマンドを使用してインストールできます。
pip install azure-identity
DefaultAzureCredential
オブジェクトを作成するためには、登録済みの Microsoft Entra アプリケーションと対応する値であらかじめ AZURE_CLIENT_ID
、AZURE_CLIENT_SECRET
、AZURE_TENANT_ID
を環境変数として設定しておく必要があります。 これらの環境変数を簡単に取得する方法については、Microsoft Entra ID を使用した認証に関するページを参照してください。
azure-identity
ライブラリのインストール後、クライアントの認証に進むことができます。
import os
from azure.communication.phonenumbers.siprouting import SipRoutingClient
from azure.identity import DefaultAzureCredential
# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
print('Azure Communication Services - Direct Routing Quickstart')
credential = DefaultAzureCredential()
sip_routing_client = SipRoutingClient(endpoint, credential)
except Exception as ex:
print('Exception:')
print(ex)
または、通信リソースのエンドポイントとアクセス キーを使用して認証を行うこともできます。
import os
from azure.communication.phonenumbers.siprouting import SipRoutingClient
# You can find your connection string from your resource in the Azure portal
connection_string = 'https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<YOUR_ACCESS_KEY>'
try:
print('Azure Communication Services - Direct Routing Quickstart')
sip_routing_client = SipRoutingClient.from_connection_string(connection_string)
except Exception as ex:
print('Exception:')
print(ex)
ダイレクト ルーティングの構成を設定する
前提条件で、ドメインの所有権を確認しました。 次の手順では、トランクの作成 (SBC の追加) と音声ルートの作成を行います。
トランクの作成または更新
SBC の完全修飾ドメイン名とポート番号を指定して、SBC を登録します。
new_trunks = [SipTrunk(fqdn="sbc.us.contoso.com", sip_signaling_port=1234), SipTrunk(fqdn="sbc.eu.contoso.com", sip_signaling_port=1234)]
sip_routing_client.set_trunks(new_trunks)
ルートの作成または更新
発信呼び出しのルーティング規則を指定します。 各規則は、2 つの部分で構成されます。ダイヤルされた電話番号と一致する必要がある正規表現パターンと、呼び出しがルーティングされる登録されたトランクの FQDN です。
ルートの順序によって、ルートの優先順位が決まります。 RegEx に一致する最初のルートが呼び出し用に選択されます。
この例では、+1
で始まる番号に 1 つのルートを作成し、+
だけで始まる番号に 2 つ目のルートを作成します。
us_route = SipTrunkRoute(name="UsRoute", description="Handle US numbers '+1'", number_pattern="^\\+1(\\d{10})$", trunks=["sbc.us.contoso.com"])
def_route = SipTrunkRoute(name="DefaultRoute", description="Handle all numbers", number_pattern="^\\+\\d+$", trunks=["sbc.us.contoso.com","sbc.eu.contoso.com"])
new_routes = [us_route, def_route]
sip_routing_client.set_routes(new_routes)
ダイレクト ルーティングの構成を更新する
レコードを同じ FQDN で上書きすることで、特定のトランクのプロパティを更新できます。 たとえば、新しい SBC ポート値を設定できます。
new_trunk = SipTrunk(fqdn="sbc.us.contoso.com", sip_signaling_port=5063)
sip_routing_client.set_trunk(new_trunk)
ルーティング規則の作成と更新でも同じ方法を使用します。 ルートを更新するときは、すべてのルートを 1 回の更新で送信します。 新しいルーティング構成では、前のルーティング構成が完全に上書きされます。
ダイレクト ルーティングの構成を削除する
1 つの音声ルートの編集や削除を行うことはできません。 音声ルーティング構成全体を上書きする必要があります。 すべてのルートとトランクを削除する空のリストの例を次に示します。
#delete all configured voice routes
print('Deleting all routes...')
sip_routing_client.set_routes([])
#delete all trunks
print('Deleting all trunks...')
sip_routing_client.set_trunks([])
音声ルートで使用されていない場合は、次の例を使用して 1 つのトランク (SBC) を削除できます。 SBC が音声ルートに記載されている場合、そのルートを最初に削除します。
sip_routing_client.delete_trunk("sbc.us.contoso.com")
コードの実行
コンソール プロンプトから、direct_routing_sample.py ファイルを含むディレクトリに移動します。 その後、次の Python コマンドを実行してアプリを実行します。
python direct_routing_sample.py
リソースをクリーンアップする
Communication Services サブスクリプションをクリーンアップして解除する場合は、リソースまたはリソース グループを削除できます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。 リソースのクリーンアップの詳細情報。
次の手順
詳細については、次の記事を参照してください。
- Communication Services に呼び出しをルーティングして管理するワークフローを構築するための呼び出し自動化について確認します。
- Calling SDK の機能について確認する。
- 通話のしくみの詳細について確認する。
- クイックスタートに従って電話番号を呼び出します。