Aracılığıyla paylaş


Hızlı Başlangıç: Ses yönlendirmeyi program aracılığıyla yapılandırma

Azure İleetişim Hizmetleri doğrudan yönlendirmesi için giden ses yönlendirme kurallarını yapılandırın.

Ön koşullar

Dekont

GitHub'da için SipRoutingClient daha fazla kullanım örneği bulabilirsiniz.

Oturum kenarlık denetleyicisi ekleme

  1. Sol bölmedeki Sesli Arama - PSTN'nin altında Doğrudan yönlendirme'yi seçin. Oturum Kenarlık Denetleyicisi sekmesinde Yapılandır'ı seçin.

  2. SBC için bir FQDN ve sinyal bağlantı noktası girin. SBC FQDN gereksinimleri şunlardır:

    • FQDN'nin etki alanı bölümü, daha önce önkoşullarda belirtildiği gibi doğrudan yönlendirme yapılandırmanıza ekleyebilmeniz için doğrulanmalıdır.
    • SBC sertifikasının adla eşleşmesi gerekir. Joker sertifikalar desteklenir.
    • FQDN için ve *.azure.com etki alanlarını kullanamazsınız*.onmicrosoft.com.

    Gereksinimlerin tam listesi için bkz . Azure doğrudan yönlendirme altyapısı gereksinimleri.

    Screenshot of adding a session border controller on the panel for configuring direct routing.

  3. İleri’yi seçin. Her şey doğru ayarlandıysa SBC'nin Durumunu Azure portalında Etkin olarak görmeniz gerekir.

    Screenshot of SBC connection properties.

Önemli

Aramaları yerleştirmeden veya almadan önce SBC durumunun Çevrimiçi olduğundan emin olun

Ses yönlendirme kuralları oluşturma

Screenshot of outgoing voice routing configuration.

Ses rotanıza bir ad verin, normal ifadeleri kullanarak sayı desenini belirtin ve bu desen için SBC'yi seçin. Temel normal ifadelere bazı örnekler aşağıda verilmiştir:

  • ^\+\d+$: Bir telefon numarasını artı ile başlayan bir veya daha fazla basamakla eşleştirir.
  • ^\+1(\d{10})$: bir telefon numarasını, sonrasında +110 basamakla eşleştirir.
  • ^\+1(425|206)(\d{7})$: veya ile +1425 başlayan ve ardından yedi basamak gelen bir telefon numarasıyla +1206eşleşir.
  • ^\+0?1234$: Hem +1234 hem de +01234 telefon numaralarını eşleştirir.

Normal ifadeler hakkında daha fazla bilgi için bkz . .NET normal ifadelerine genel bakış.

Tek bir desen için birden çok SBC seçebilirsiniz. Böyle bir durumda yönlendirme algoritması bunları rastgele sırada seçer. Tam sayı desenini birden çok kez de belirtebilirsiniz. Yüksek satır daha yüksek önceliğe sahiptir. Bu satırla ilişkilendirilmiş tüm SBC'ler kullanılamıyorsa, sonraki satır seçilir. Bu şekilde karmaşık yönlendirme senaryoları oluşturursunuz.

Doğrudan yönlendirme yapılandırmasını kaldırma

Ses yolunu silmek için:

  1. Sol bölmedeki Sesli Arama - PSTN'nin altında Doğrudan yönlendirme'ye gidin.
  2. Ses Yolları sekmesinde, silmek istediğiniz yolun (veya yolların) onay kutularını seçin.
  3. Kaldır seçeneğini belirleyin.

SBC'yi silmek için:

  1. Sol bölmedeki Sesli Arama - PSTN'nin altında Doğrudan yönlendirme'ye gidin.
  2. Oturum Kenarlık Denetleyicileri sekmesinde Yapılandır'ı seçin.
  3. Kaldırmak istediğiniz SBC için FQDN ve bağlantı noktası alanlarını temizleyin ve İleri'yi seçin.
  4. Ses Yolları sekmesinde ses yönlendirme yapılandırmasını gözden geçirin. Gerekirse değişiklik yapın ve kaydet'i seçin.

Ses yolu ile ilişkili bir SBC'yi kaldırdığınızda, Ses Yolları sekmesinde rota için farklı bir SBC seçebilirsiniz. SBC olmadan ses yolu silinir.

Ön koşullar

Kodun son hali

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun.

GitHub'da için SipRoutingClient daha fazla kullanım örneği de bulabilirsiniz.

C# uygulaması oluşturma

Konsol penceresinde (Komut İstemi, PowerShell veya Bash gibi) komutunu kullanarak dotnet new yeni bir konsol uygulaması oluşturun:

    dotnet new console -o DirectRoutingQuickstart

Bu komut, tek bir kaynak dosyası olan basit bir "Merhaba Dünya" C# projesi oluşturur: Program.cs.

Dizininizi yeni oluşturulan uygulama klasörüne değiştirin ve uygulamanızı derlemek için komutunu kullanın dotnet build :

    cd DirectRoutingQuickstart
    dotnet build

paketini yükleyin

Uygulama dizinindeyken komutunu kullanarak .NET için Azure communication Telefon Numbers istemci kitaplığını dotnet add package yükleyin:

    dotnet add package Azure.Communication.PhoneNumbers --version 1.1.0

Ad alanlarını eklemek için Program.cs dosyasının en üstüne bir using yönerge ekleyin:

using Azure.Communication.PhoneNumbers.SipRouting;

İstemcinin kimliğini doğrulama

bir Azure İletişim Hizmetleri kaynağından bağlantı dizesi kullanarak telefon numarası istemcilerinin kimliğini doğrulama:

// Get a connection string to the Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new SipRoutingClient(connectionString);

Doğrudan yönlendirme yapılandırması ayarlama

Önkoşullarda etki alanı sahipliğini doğruladınız. Sonraki adımlar, gövdeler oluşturmak (SBC eklemek) ve ses yolları oluşturmaktır.

Gövdeleri oluşturma veya güncelleştirme

Azure İletişim Hizmetleri doğrudan yönlendirme, yalnızca kayıtlı SBC'lerle iletişime izin verir. SBC'yi kaydetmek için FQDN'sine ve bağlantı noktasına ihtiyacınız vardır:

// 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 });

Yolları oluşturma veya güncelleştirme

Giden aramalar için yönlendirme kuralları sağlayın. Her kural iki bölümden oluşur: aranmış telefon numarasıyla eşleşmesi gereken bir regex deseni ve aramanın yönlendirildiği kayıtlı bir gövdenin FQDN'sini.

Yolların sırası, yolların önceliğini belirler. Arama için regex ile eşleşen ilk yol seçilir.

Bu örnekte, ile +1 başlayan sayılar için bir yol ve yalnızca +ile başlayan sayılar için ikinci bir yol oluşturursunuz:

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 });

Doğrudan yönlendirme yapılandırmasını güncelleştirme

Aynı FQDN ile kaydın üzerine yazarak belirli bir gövdenin özelliklerini güncelleştirebilirsiniz. Örneğin, yeni bir SBC bağlantı noktası değeri ayarlayabilirsiniz:

var usTrunk = new SipTrunk("sbc.us.contoso.com", 5063);
await client.SetTrunkAsync(usTrunk);

Yönlendirme kurallarını oluşturmak ve güncelleştirmek için aynı yöntemi kullanırsınız. Yolları güncelleştirdiğinizde, tümünü tek bir güncelleştirmede gönderin. Yeni yönlendirme yapılandırması, öncekinin üzerine tamamen yazar.

Doğrudan yönlendirme yapılandırmasını kaldırma

Tek bir ses yolunu düzenleyemez veya kaldıramazsınız. Ses yönlendirme yapılandırmasının tamamının üzerine yazmalısınız. Tüm yolları ve gövdeleri kaldıran boş bir liste örneği aşağıda verilmiştir:

//delete all configured voice routes
await client.SetRoutesAsync(new List<SipTrunkRoute>());

//delete all trunks
await client.SetTrunksAsync(new List<SipTrunk>());

Hiçbir ses yolu kullanmıyorsa, tek bir gövdeyi (SBC) silmek için aşağıdaki örneği kullanabilirsiniz. SBC herhangi bir ses yolunda listeleniyorsa, önce bu yolu silin.

await client.DeleteTrunkAsync("sbc.us.contoso.com");

Ön koşullar

Kodun son hali

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun.

GitHub'da için SipRoutingClient daha fazla kullanım örneği de bulabilirsiniz.

Java uygulaması oluşturma

Terminalinizi veya komut pencerenizi açın. Java uygulamanızı oluşturmak istediğiniz dizine gidin. Ardından maven-archetype-quickstart şablonundan Java projesini oluşturmak için komutunu çalıştırın:

mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

Görev, generate değerle aynı ada artifactId sahip bir dizin oluşturdu. Bu dizin altında src /main/java dizini proje kaynak kodunu, src/test/java dizini test kaynağını içerir ve pom.xml dosyası projenin Proje Nesne Modeli 'dir (POM).

paketini yükleyin

Metin düzenleyicinizde pom.xml dosyasını açın. Bağımlılık grubuna aşağıdaki bağımlılık öğelerini ekleyin:

<dependencies>
	<dependency>
		<groupId>com.azure</groupId>
		<artifactId>azure-communication-phonenumbers</artifactId>
		<version>1.1.0</version>
	</dependency>
</dependencies>

Uygulama çerçevesini ayarlama

Proje dizininden:

  1. /src/main/java/com/communication/quickstart dizinine gidin.
  2. Düzenleyicinizde App.java dosyasını açın.
  3. deyimini System.out.println("Hello world!"); değiştirin.
  4. Yönergeleri ekleyin import .

Başlamak için aşağıdaki kodu kullanın:

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
    }
}

İstemcinin kimliğini doğrulama

ile SipRoutingClientBuilderMicrosoft Entra kimlik doğrulamayı kullanabilirsiniz:

// 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();

Alternatif olarak, kimlik doğrulaması yapmak için iletişim kaynağından uç noktayı ve erişim anahtarını kullanın:

// 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();

Doğrudan yönlendirme yapılandırması ayarlama

Önkoşullarda etki alanı sahipliğini doğruladınız. Sonraki adımlar, gövdeler oluşturmak (SBC eklemek) ve ses yolları oluşturmaktır.

Gövdeleri oluşturma veya güncelleştirme

Azure İletişim Hizmetleri doğrudan yönlendirme, yalnızca kayıtlı SBC'lerle iletişime izin verir. SBC'yi kaydetmek için FQDN'sine ve bağlantı noktasına ihtiyacınız vardır:

sipRoutingAsyncClient.setTrunksWithResponse(asList(
	new SipTrunk("sbc.us.contoso.com", 5061),
	new SipTrunk("sbc.eu.contoso.com", 5061)
)).block();

Yolları oluşturma veya güncelleştirme

Giden aramalar için yönlendirme kuralları sağlayın. Her kural iki bölümden oluşur: aranmış telefon numarasıyla eşleşmesi gereken bir regex deseni ve aramanın yönlendirildiği kayıtlı bir gövdenin FQDN'sini.

Yolların sırası, yolların önceliğini belirler. Arama için regex ile eşleşen ilk yol seçilir.

Bu örnekte, ile +1 başlayan sayılar için bir yol ve yalnızca +ile başlayan sayılar için ikinci bir yol oluşturursunuz:

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();

Doğrudan yönlendirme yapılandırmasını güncelleştirme

Aynı FQDN ile kaydın üzerine yazarak belirli bir gövdenin özelliklerini güncelleştirebilirsiniz. Örneğin, yeni bir SBC bağlantı noktası değeri ayarlayabilirsiniz:

sipRoutingClient.setTrunk(new SipTrunk("sbc.us.contoso.com", 5063));

Yönlendirme kurallarını oluşturmak ve güncelleştirmek için aynı yöntemi kullanırsınız. Yolları güncelleştirdiğinizde, tümünü tek bir güncelleştirmede gönderin. Yeni yönlendirme yapılandırması, öncekinin üzerine tamamen yazar.

Doğrudan yönlendirme yapılandırmasını kaldırma

Tek bir ses yolunu düzenleyemez veya kaldıramazsınız. Ses yönlendirme yapılandırmasının tamamının üzerine yazmalısınız. Tüm yolları ve gövdeleri kaldıran boş bir liste örneği aşağıda verilmiştir.

İki içeri aktarma ekleyin:

import java.util.Collections;
import java.util.List;

Doğrudan yönlendirme yapılandırmasını silmek için aşağıdaki kodu kullanın:

//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();

Hiçbir ses yolu kullanmıyorsa, tek bir gövdeyi (SBC) silmek için aşağıdaki örneği kullanabilirsiniz. SBC herhangi bir ses yolunda listeleniyorsa, önce bu yolu silin.

sipRoutingClient.deleteTrunk("sbc.us.contoso.com");

Kodu çalıştırma

pom.xml dosyasını içeren dizine gidin ve aşağıdaki mvn komutu kullanarak projeyi derleyin:

  mvn clean compile

Ardından paketi derleyin:

  mvn package

Uygulamayı çalıştırmak için aşağıdaki mvn komutu çalıştırın:

  mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false

Ön koşullar

Kodun son hali

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun.

GitHub'da için SipRoutingClient daha fazla kullanım örneği de bulabilirsiniz.

Node.js uygulaması oluşturma

Terminalinizi veya komut pencerenizi açın, uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin:

    mkdir direct-routing-quickstart && cd direct-routing-quickstart

Varsayılan ayarlarla bir package.json dosyası oluşturmak için npm init -y komutunu çalıştırın:

   npm init -y

Oluşturduğunuz dizinin kökünde direct-routing-quickstart.js adlı bir dosya oluşturun. Aşağıdaki kod parçacığını ekleyin:

async function main() {
    // quickstart code will go here
}

main();

paketini yükleyin

npm install JavaScript için Azure İletişim Hizmetleri Telefon Numbers istemci kitaplığını yüklemek için komutunu kullanın:

   npm install @azure/communication-phone-numbers --save

--save seçeneği, kitaplığı package.json dosyanıza bağımlılık olarak ekler.

İstemcinin kimliğini doğrulama

İstemci kitaplığından içeri aktarın SipRoutingClient ve bağlantı dizesi örneği oluşturun. Kod, adlı COMMUNICATION_SERVICES_CONNECTION_STRINGbir ortam değişkeninden kaynağın bağlantı dizesi alır. Kaynağınızın bağlantı dizesi yönetmeyi öğrenin.

direct-routing-quickstart.js dosyasına aşağıdaki kodu ekleyin:

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);

Doğrudan yönlendirme yapılandırması ayarlama

Önkoşullarda etki alanı sahipliğini doğruladınız. Sonraki adımlar, gövdeler oluşturmak (SBC eklemek) ve ses yolları oluşturmaktır.

Gövdeleri oluşturma veya güncelleştirme

Azure İletişim Hizmetleri doğrudan yönlendirme, yalnızca kayıtlı SBC'lerle iletişime izin verir. SBC'yi kaydetmek için FQDN'sine ve bağlantı noktasına ihtiyacınız vardır:

  await client.setTrunks([
    {
      fqdn: 'sbc.us.contoso.com',
      sipSignalingPort: 5061
    },{
      fqdn: 'sbc.eu.contoso.com',
      sipSignalingPort: 5061
    }
  ]);

Yolları oluşturma veya güncelleştirme

Giden aramalar için yönlendirme kuralları sağlayın. Her kural iki bölümden oluşur: aranmış telefon numarasıyla eşleşmesi gereken bir regex deseni ve aramanın yönlendirildiği kayıtlı bir gövdenin FQDN'sini.

Yolların sırası, yolların önceliğini belirler. Arama için regex ile eşleşen ilk yol seçilir.

Bu örnekte, ile +1 başlayan sayılar için bir yol ve yalnızca +ile başlayan sayılar için ikinci bir yol oluşturursunuz:

   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']
    }
  ]);

Doğrudan yönlendirme yapılandırmasını güncelleştirme

Aynı FQDN ile kaydın üzerine yazarak belirli bir gövdenin özelliklerini güncelleştirebilirsiniz. Örneğin, yeni bir SBC bağlantı noktası değeri ayarlayabilirsiniz:

  await client.setTrunk({
    fqdn: 'sbc.us.contoso.com',
    sipSignalingPort: 5063
  });

Yönlendirme kurallarını oluşturmak ve güncelleştirmek için aynı yöntemi kullanırsınız. Yolları güncelleştirdiğinizde, tümünü tek bir güncelleştirmede gönderin. Yeni yönlendirme yapılandırması, öncekinin üzerine tamamen yazar.

Doğrudan yönlendirme yapılandırmasını kaldırma

Tek bir ses yolunu düzenleyemez veya kaldıramazsınız. Ses yönlendirme yapılandırmasının tamamının üzerine yazmalısınız. Tüm yolları ve gövdeleri kaldıran boş bir liste örneği aşağıda verilmiştir:

//delete all configured voice routes
console.log("Deleting all routes...");
await client.setRoutes([]);

//delete all trunks
console.log("Deleting all trunks...");
await client.setTrunks([]);

Hiçbir ses yolu kullanmıyorsa, tek bir gövdeyi (SBC) silmek için aşağıdaki örneği kullanabilirsiniz. SBC herhangi bir ses yolunda listeleniyorsa, önce bu yolu silin.

   await client.deleteTrunk('sbc.us.contoso.com');

Kodu çalıştırma

Dosyaya node eklediğiniz kodu çalıştırmak için direct-routing-quickstart.js komutunu kullanın:

   node direct-routing-quickstart.js

Ön koşullar

Kodun son hali

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun.

GitHub'da için SipRoutingClient daha fazla kullanım örneği de bulabilirsiniz.

Python uygulaması oluşturma

Terminalinizi veya komut pencerenizi açın. Uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin:

mkdir direct-routing-quickstart && cd direct-routing-quickstart

Proje kök dizininde direct_routing_sample.py adlı bir dosya oluşturmak ve aşağıdaki kodu eklemek için bir metin düzenleyicisi kullanın:

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)

Kalan hızlı başlangıç kodunu aşağıdaki bölümlere eklersiniz.

paketini yükleyin

Uygulama dizinindeyken komutunu kullanarak Python için Azure İletişim Hizmetleri Yönetici istration istemci kitaplığını pip install yükleyin:

pip install azure-communication-phonenumbers==1.1.0

İstemcinin kimliğini doğrulama

ile SipRoutingClientMicrosoft Entra kimlik doğrulamayı kullanabilirsiniz. DefaultAzureCredential Nesnesini kullanmak, Microsoft Entra Id kullanmaya başlamanın en kolay yoludur ve komutunu kullanarak pip install yükleyebilirsiniz:

pip install azure-identity

DefaultAzureCredential Nesne oluşturmak için AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, ve AZURE_TENANT_ID zaten kayıtlı Microsoft Entra uygulamanızdan karşılık gelen değerleriyle ortam değişkenleri olarak ayarlamanız gerekir. Bu ortam değişkenlerini edinmenin hızlı bir yolu için bkz . Microsoft Entra Id kullanarak kimlik doğrulaması.

Kitaplığı yükledikten sonra istemcinin azure-identity kimliğini doğrulamaya devam edebilirsiniz:

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)

Alternatif olarak, kimlik doğrulaması yapmak için iletişim kaynağından uç noktayı ve erişim anahtarını kullanabilirsiniz:

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)

Doğrudan yönlendirme yapılandırması ayarlama

Önkoşullarda etki alanı sahipliğini doğruladınız. Sonraki adımlar, gövdeler oluşturmak (SBC eklemek) ve ses yolları oluşturmaktır.

Gövdeleri oluşturma veya güncelleştirme

Tam etki alanı adlarını ve bağlantı noktası numaralarını sağlayarak SBC'lerinizi kaydedin:

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)

Yolları oluşturma veya güncelleştirme

Giden aramalar için yönlendirme kuralları sağlayın. Her kural iki bölümden oluşur: aranmış telefon numarasıyla eşleşmesi gereken bir regex deseni ve aramanın yönlendirildiği kayıtlı bir gövdenin FQDN'sini.

Yolların sırası, yolların önceliğini belirler. Arama için regex ile eşleşen ilk yol seçilir.

Bu örnekte, ile +1 başlayan sayılar için bir yol ve yalnızca +ile başlayan sayılar için ikinci bir yol oluşturursunuz:

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)

Doğrudan yönlendirme yapılandırmasını güncelleştirme

Aynı FQDN ile kaydın üzerine yazarak belirli bir gövdenin özelliklerini güncelleştirebilirsiniz. Örneğin, yeni bir SBC bağlantı noktası değeri ayarlayabilirsiniz:

new_trunk = SipTrunk(fqdn="sbc.us.contoso.com", sip_signaling_port=5063)
sip_routing_client.set_trunk(new_trunk)

Yönlendirme kurallarını oluşturmak ve güncelleştirmek için aynı yöntemi kullanırsınız. Yolları güncelleştirdiğinizde, tümünü tek bir güncelleştirmede gönderin. Yeni yönlendirme yapılandırması, öncekinin üzerine tamamen yazar.

Doğrudan yönlendirme yapılandırmasını kaldırma

Tek bir ses yolunu düzenleyemez veya kaldıramazsınız. Ses yönlendirme yapılandırmasının tamamının üzerine yazmalısınız. Tüm yolları ve gövdeleri kaldıran boş bir liste örneği aşağıda verilmiştir:

#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([])

Hiçbir ses yolu kullanmıyorsa, tek bir gövdeyi (SBC) silmek için aşağıdaki örneği kullanabilirsiniz. SBC herhangi bir ses yolunda listeleniyorsa, önce bu yolu silin.

sip_routing_client.delete_trunk("sbc.us.contoso.com")

Kodu çalıştırma

Konsol isteminden direct_routing_sample.py dosyasını içeren dizine gidin. Ardından aşağıdaki Python komutunu çalıştırarak uygulamayı çalıştırın:

python direct_routing_sample.py

Kaynakları temizleme

İletişim Hizmetleri aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler. Kaynakları temizleme hakkında daha fazla bilgi edinin.

Sonraki adımlar

Daha fazla bilgi için aşağıdaki makaleleri inceleyin: