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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Etkin bir İletişim Hizmetleri kaynağı. İletişim Hizmetleri kaynağı oluşturun.
- İşletimsel telefon sistemindeki bir oturum sınır denetleyicisinin (SBC) tam etki alanı adı (FQDN) ve bağlantı noktası numarası.
- SBC FQDN'sinin doğrulanmış etki alanı adı.
Oturum kenarlık denetleyicisi ekleme
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.
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.
İleri’yi seçin. Her şey doğru ayarlandıysa SBC'nin Durumunu Azure portalında Etkin olarak görmeniz gerekir.
Önemli
Aramaları yerleştirmeden veya almadan önce SBC durumunun Çevrimiçi olduğundan emin olun
Ses yönlendirme kuralları oluşturma
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+1
10 basamakla eşleştirir.^\+1(425|206)(\d{7})$
: veya ile+1425
başlayan ve ardından yedi basamak gelen bir telefon numarasıyla+1206
eş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:
- Sol bölmedeki Sesli Arama - PSTN'nin altında Doğrudan yönlendirme'ye gidin.
- Ses Yolları sekmesinde, silmek istediğiniz yolun (veya yolların) onay kutularını seçin.
- Kaldır seçeneğini belirleyin.
SBC'yi silmek için:
- Sol bölmedeki Sesli Arama - PSTN'nin altında Doğrudan yönlendirme'ye gidin.
- Oturum Kenarlık Denetleyicileri sekmesinde Yapılandır'ı seçin.
- Kaldırmak istediğiniz SBC için FQDN ve bağlantı noktası alanlarını temizleyin ve İleri'yi seçin.
- 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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Etkin bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
- İşletim sisteminiz için .NET Core istemci kitaplığının en son sürümü.
- İşletimsel telefon sistemindeki bir oturum sınır denetleyicisinin (SBC) tam etki alanı adı (FQDN) ve bağlantı noktası numarası.
- SBC FQDN'sinin doğrulanmış etki alanı adı.
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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Java Development Kit (JDK) sürüm 8 veya üzeri.
- Apache Maven.
- Dağıtılmış bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
- İşletimsel telefon sistemindeki bir oturum sınır denetleyicisinin (SBC) tam etki alanı adı (FQDN) ve bağlantı noktası numarası.
- SBC FQDN'sinin doğrulanmış etki alanı adı.
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:
- /src/main/java/com/communication/quickstart dizinine gidin.
- Düzenleyicinizde App.java dosyasını açın.
- deyimini
System.out.println("Hello world!");
değiştirin. - 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 SipRoutingClientBuilder
Microsoft 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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Etkin bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
- İşletim sisteminiz için Node.js'nin Etkin LTS ve Bakım LTS sürümleri.
- İşletimsel telefon sistemindeki bir oturum sınır denetleyicisinin (SBC) tam etki alanı adı (FQDN) ve bağlantı noktası numarası.
- SBC FQDN'sinin doğrulanmış etki alanı adı.
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_STRING
bir 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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Python 3.7+.
- Dağıtılan bir İletişim Hizmetleri kaynağı ve bir bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
- İşletimsel telefon sistemindeki bir oturum sınır denetleyicisinin (SBC) tam etki alanı adı (FQDN) ve bağlantı noktası numarası.
- SBC FQDN'sinin doğrulanmış etki alanı adı.
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 SipRoutingClient
Microsoft 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:
- İletişim Hizmetleri'ne çağrıları yönlendiren ve yöneten iş akışları oluşturmak için çağrı otomasyonu hakkında bilgi edinin.
- SDK'ları çağırma özellikleri hakkında bilgi edinin.
- Aramanın nasıl çalıştığı hakkında daha fazla bilgi edinin.
- Hızlı başlangıcı izleyerek telefon numarasını arayın.