Quickstart: Spraakroutering programmatisch configureren
Configureer regels voor doorsturen voor uitgaande spraakoproepen voor Azure Communication Services.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een actieve Communication Services-resource. Een Communication Services-resource maken.
- De FQDN (Fully Qualified Domain Name) en het poortnummer van een sessierandcontroller (SBC) in een operationeel telefoniesysteem.
- De geverifieerde domeinnaam van de SBC-FQDN.
Notitie
Meer gebruiksvoorbeelden voor SipRoutingClient
GitHub vindt u hier.
Een sessierandcontroller toevoegen
Selecteer in het linkerdeelvenster onder Spraakoproepen - PSTN de optie Directe routering. Selecteer Configureren op het tabblad Sessierandcontroller.
Voer een FQDN- en signaleringspoort in voor de SBC. Vereisten voor de SBC-FQDN zijn onder andere:
- Het domeingedeelte van de FQDN moet worden geverifieerd voordat u het kunt toevoegen aan uw directe routeringsconfiguratie, zoals eerder vermeld in de vereisten.
- Het SBC-certificaat moet overeenkomen met de naam. Jokertekencertificaten worden ondersteund.
- U kunt de
*.onmicrosoft.com
en*.azure.com
domeinen voor de FQDN niet gebruiken.
Zie de vereisten voor de directe routeringsinfrastructuur van Azure voor de volledige lijst met vereisten.
Selecteer Volgende. Als alles correct is ingesteld, ziet u de status van SBC als actief in Azure Portal.
Belangrijk
Voordat u oproepen plaatst of ontvangt, moet u ervoor zorgen dat de SBC-status online is
Regels voor spraakroutering maken
Geef uw stemroute een naam, geef het nummerpatroon op met behulp van reguliere expressies en selecteer de SBC voor dat patroon. Hier volgen enkele voorbeelden van eenvoudige reguliere expressies:
^\+\d+$
: Komt overeen met een telefoonnummer met een of meer cijfers die beginnen met een plusteken.^\+1(\d{10})$
: Komt overeen met een telefoonnummer met 10 cijfers na+1
.^\+1(425|206)(\d{7})$
: Komt overeen met een telefoonnummer dat begint met+1425
of met+1206
, gevolgd door zeven cijfers.^\+0?1234$
: Komt overeen met zowel als+01234
+1234
telefoonnummers.
Zie het overzicht van reguliere expressies voor .NET voor meer informatie over reguliere expressies.
U kunt meerdere SBCs voor één patroon selecteren. In dat geval kiest het routeringsalgoritmen deze in willekeurige volgorde. U kunt ook het exacte getalpatroon meer dan één keer opgeven. De hogere rij heeft een hogere prioriteit. Als alle SBCs die aan die rij zijn gekoppeld, niet beschikbaar zijn, wordt de volgende rij geselecteerd. Op deze manier maakt u complexe routeringsscenario's.
Een directe routeringsconfiguratie verwijderen
Een spraakroute verwijderen:
- Ga in het linkerdeelvenster onder Spraakoproepen - PSTN naar Directe routering.
- Schakel op het tabblad Spraakroutes de selectievakjes in voor de route (of routes) die u wilt verwijderen.
- Selecteer Verwijderen.
Een SBC verwijderen:
- Ga in het linkerdeelvenster onder Spraakoproepen - PSTN naar Directe routering.
- Selecteer Configureren op het tabblad Sessierandcontrollers.
- Wis de FQDN- en poortvelden voor de SBC die u wilt verwijderen en selecteer vervolgens Volgende.
- Controleer op het tabblad Spraakroutes de configuratie van spraakroutering. Breng indien nodig wijzigingen aan en selecteer Opslaan.
Wanneer u een SBC verwijdert die is gekoppeld aan een spraakroute, kunt u een andere SBC kiezen voor de route op het tabblad Spraakroutes . De spraakroute zonder SBC wordt verwijderd.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een actieve Communication Services-resource en verbindingsreeks. Een Communication Services-resource maken.
- De nieuwste versie van de .NET Core-clientbibliotheek voor uw besturingssysteem.
- De FQDN (Fully Qualified Domain Name) en het poortnummer van een sessierandcontroller (SBC) in een operationeel telefoniesysteem.
- De geverifieerde domeinnaam van de SBC-FQDN.
Uiteindelijke code
Zoek de voltooide code voor deze quickstart op GitHub.
U vindt ook meer gebruiksvoorbeelden op SipRoutingClient
GitHub.
Een C#-toepassing maken
Gebruik in een consolevenster (zoals opdrachtprompt, PowerShell of Bash) de dotnet new
opdracht om een nieuwe console-app te maken:
dotnet new console -o DirectRoutingQuickstart
Met deze opdracht maakt u een eenvoudig C#-project Hallo wereld met één bronbestand: Program.cs.
Wijzig uw map in de zojuist gemaakte app-map en gebruik de dotnet build
opdracht om uw toepassing te compileren:
cd DirectRoutingQuickstart
dotnet build
Het pakket installeren
Terwijl u zich nog steeds in de toepassingsmap bevindt, installeert u de Azure Communication Telefoon Numbers-clientbibliotheek voor .NET met behulp van de dotnet add package
opdracht:
dotnet add package Azure.Communication.PhoneNumbers --version 1.1.0
Voeg een using
instructie toe aan het begin van Program.cs om de naamruimten op te nemen:
using Azure.Communication.PhoneNumbers.SipRouting;
De client verifiëren
Clients met telefoonnummers verifiëren met behulp van een verbindingsreeks van een Azure Communication Services-resource:
// Get a connection string to the Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new SipRoutingClient(connectionString);
Een directe routeringsconfiguratie instellen
In de vereisten hebt u het eigendom van het domein geverifieerd. De volgende stappen zijn het maken van trunks (add SBCs) en het maken van spraakroutes.
Trunks maken of bijwerken
Directe routering van Azure Communication Services staat alleen communicatie met geregistreerde SBCs toe. Als u een SBC wilt registreren, hebt u de FQDN en poort nodig:
// 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 });
Routes maken of bijwerken
Geef routeringsregels op voor uitgaande oproepen. Elke regel bestaat uit twee delen: een regex-patroon dat overeenkomt met een gebeld telefoonnummer en de FQDN van een geregistreerde trunk waar de oproep wordt gerouteerd.
De volgorde van routes bepaalt de prioriteit van routes. De eerste route die overeenkomt met de regex wordt gekozen voor een oproep.
In dit voorbeeld maakt u één route voor getallen die beginnen met +1
en een tweede route voor getallen die beginnen met alleen +
:
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 });
Een directe routeringsconfiguratie bijwerken
U kunt de eigenschappen van een specifieke trunk bijwerken door de record te overschrijven met dezelfde FQDN. U kunt bijvoorbeeld een nieuwe SBC-poortwaarde instellen:
var usTrunk = new SipTrunk("sbc.us.contoso.com", 5063);
await client.SetTrunkAsync(usTrunk);
U gebruikt dezelfde methode om routeringsregels te maken en bij te werken. Wanneer u routes bijwerkt, verzendt u ze allemaal in één update. De nieuwe routeringsconfiguratie overschrijft de vorige volledig.
Een directe routeringsconfiguratie verwijderen
U kunt één spraakroute niet bewerken of verwijderen. U moet de volledige configuratie voor spraakroutering overschrijven. Hier volgt een voorbeeld van een lege lijst waarmee alle routes en trunks worden verwijderd:
//delete all configured voice routes
await client.SetRoutesAsync(new List<SipTrunkRoute>());
//delete all trunks
await client.SetTrunksAsync(new List<SipTrunk>());
U kunt het volgende voorbeeld gebruiken om één trunk (SBC) te verwijderen als er geen spraakroutes worden gebruikt. Als de SBC wordt vermeld in een spraakroute, verwijdert u die route eerst.
await client.DeleteTrunkAsync("sbc.us.contoso.com");
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Java Development Kit (JDK) versie 8 of hoger.
- Apache Maven.
- Een actieve Communication Services-resource en verbindingsreeks. Een Communication Services-resource maken.
- De FQDN (Fully Qualified Domain Name) en het poortnummer van een sessierandcontroller (SBC) in een operationeel telefoniesysteem.
- De geverifieerde domeinnaam van de SBC-FQDN.
Uiteindelijke code
Zoek de voltooide code voor deze quickstart op GitHub.
U vindt ook meer gebruiksvoorbeelden op SipRoutingClient
GitHub.
Een Java-toepassing maken
Open uw terminal-of opdrachtvenster. Ga naar de map waar u uw Java-toepassing wilt maken. Voer vervolgens de opdracht uit om het Java-project te genereren op basis van de maven-archetype-quickstart-sjabloon :
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
De generate
taak heeft een map gemaakt met dezelfde naam als de artifactId
waarde. Onder deze map bevat de map src/main/java de projectbroncode, bevat de src/test/java-map de testbron en het pom.xml-bestand is het Project Object Model (POM) van het project.
Het pakket installeren
Open het bestand pom.xml in uw teksteditor. Voeg de volgende afhankelijkheidselementen toe aan de groep afhankelijkheden:
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-phonenumbers</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
Stel het app-framework in
Ga als volgt te werk vanuit de projectmap:
- Ga naar de map /src/main/java/com/communication/quickstart .
- Open het Bestand App.java in uw editor.
- Vervang de
System.out.println("Hello world!");
instructie. - Voeg instructies toe
import
.
Gebruik de volgende code om te beginnen:
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
}
}
De client verifiëren
Met SipRoutingClientBuilder
kunt u Microsoft Entra-verificatie gebruiken:
// 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();
U kunt ook het eindpunt en de toegangssleutel van de communicatieresource gebruiken om te verifiëren:
// 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();
Een directe routeringsconfiguratie instellen
In de vereisten hebt u het eigendom van het domein geverifieerd. De volgende stappen zijn het maken van trunks (add SBCs) en het maken van spraakroutes.
Trunks maken of bijwerken
Directe routering van Azure Communication Services staat alleen communicatie met geregistreerde SBCs toe. Als u een SBC wilt registreren, hebt u de FQDN en poort nodig:
sipRoutingAsyncClient.setTrunksWithResponse(asList(
new SipTrunk("sbc.us.contoso.com", 5061),
new SipTrunk("sbc.eu.contoso.com", 5061)
)).block();
Routes maken of bijwerken
Geef routeringsregels op voor uitgaande oproepen. Elke regel bestaat uit twee delen: een regex-patroon dat overeenkomt met een gebeld telefoonnummer en de FQDN van een geregistreerde trunk waar de oproep wordt gerouteerd.
De volgorde van routes bepaalt de prioriteit van routes. De eerste route die overeenkomt met de regex wordt gekozen voor een oproep.
In dit voorbeeld maakt u één route voor getallen die beginnen met +1
en een tweede route voor getallen die beginnen met alleen +
:
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();
Een directe routeringsconfiguratie bijwerken
U kunt de eigenschappen van een specifieke trunk bijwerken door de record te overschrijven met dezelfde FQDN. U kunt bijvoorbeeld een nieuwe SBC-poortwaarde instellen:
sipRoutingClient.setTrunk(new SipTrunk("sbc.us.contoso.com", 5063));
U gebruikt dezelfde methode om routeringsregels te maken en bij te werken. Wanneer u routes bijwerkt, verzendt u ze allemaal in één update. De nieuwe routeringsconfiguratie overschrijft de vorige volledig.
Een directe routeringsconfiguratie verwijderen
U kunt één spraakroute niet bewerken of verwijderen. U moet de volledige configuratie voor spraakroutering overschrijven. Hier volgt een voorbeeld van een lege lijst waarmee alle routes en trunks worden verwijderd.
Voeg twee importbewerkingen toe:
import java.util.Collections;
import java.util.List;
Gebruik de volgende code om een directe routeringsconfiguratie te verwijderen:
//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();
U kunt het volgende voorbeeld gebruiken om één trunk (SBC) te verwijderen als er geen spraakroutes worden gebruikt. Als de SBC wordt vermeld in een spraakroute, verwijdert u die route eerst.
sipRoutingClient.deleteTrunk("sbc.us.contoso.com");
De code uitvoeren
Ga naar de map die het pom.xml-bestand bevat en compileer het project met behulp van de volgende mvn
opdracht:
mvn clean compile
Bouw vervolgens het pakket:
mvn package
Voer de volgende mvn
opdracht uit om de app uit te voeren:
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een actieve Communication Services-resource en verbindingsreeks. Een Communication Services-resource maken.
- Active LTS- en Maintenance LTS-versies van Node.js voor uw besturingssysteem.
- De FQDN (Fully Qualified Domain Name) en het poortnummer van een sessierandcontroller (SBC) in een operationeel telefoniesysteem.
- De geverifieerde domeinnaam van de SBC-FQDN.
Uiteindelijke code
Zoek de voltooide code voor deze quickstart op GitHub.
U vindt ook meer gebruiksvoorbeelden op SipRoutingClient
GitHub.
Een Node.js-toepassing maken
Open uw terminal of opdrachtvenster, maak een nieuwe map voor uw app en ga naar het volgende:
mkdir direct-routing-quickstart && cd direct-routing-quickstart
Voer npm init -y
uit om een package.json-bestand te maken met standaardinstellingen:
npm init -y
Maak een bestand met de naam direct-routing-quickstart.js in de hoofdmap van de map die u hebt gemaakt. Voeg het volgende codefragment toe:
async function main() {
// quickstart code will go here
}
main();
Het pakket installeren
Gebruik de npm install
opdracht om de Azure Communication Services-clientbibliotheek Telefoon Numbers voor JavaScript te installeren:
npm install @azure/communication-phone-numbers --save
Met --save
de optie wordt de bibliotheek toegevoegd als een afhankelijkheid in uw package.json-bestand .
De client verifiëren
Importeer SipRoutingClient
vanuit de clientbibliotheek en instantieer deze met uw verbindingsreeks. De code haalt de verbindingsreeks voor de resource op uit een omgevingsvariabele met de naam COMMUNICATION_SERVICES_CONNECTION_STRING
. Meer informatie over het beheren van de verbindingsreeks van uw resource.
Voeg de volgende code toe aan 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);
Een directe routeringsconfiguratie instellen
In de vereisten hebt u het eigendom van het domein geverifieerd. De volgende stappen zijn het maken van trunks (add SBCs) en het maken van spraakroutes.
Trunks maken of bijwerken
Directe routering van Azure Communication Services staat alleen communicatie met geregistreerde SBCs toe. Als u een SBC wilt registreren, hebt u de FQDN en poort nodig:
await client.setTrunks([
{
fqdn: 'sbc.us.contoso.com',
sipSignalingPort: 5061
},{
fqdn: 'sbc.eu.contoso.com',
sipSignalingPort: 5061
}
]);
Routes maken of bijwerken
Geef routeringsregels op voor uitgaande oproepen. Elke regel bestaat uit twee delen: een regex-patroon dat overeenkomt met een gebeld telefoonnummer en de FQDN van een geregistreerde trunk waar de oproep wordt gerouteerd.
De volgorde van routes bepaalt de prioriteit van routes. De eerste route die overeenkomt met de regex wordt gekozen voor een oproep.
In dit voorbeeld maakt u één route voor getallen die beginnen met +1
en een tweede route voor getallen die beginnen met alleen +
:
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']
}
]);
Een directe routeringsconfiguratie bijwerken
U kunt de eigenschappen van een specifieke trunk bijwerken door de record te overschrijven met dezelfde FQDN. U kunt bijvoorbeeld een nieuwe SBC-poortwaarde instellen:
await client.setTrunk({
fqdn: 'sbc.us.contoso.com',
sipSignalingPort: 5063
});
U gebruikt dezelfde methode om routeringsregels te maken en bij te werken. Wanneer u routes bijwerkt, verzendt u ze allemaal in één update. De nieuwe routeringsconfiguratie overschrijft de vorige volledig.
Een directe routeringsconfiguratie verwijderen
U kunt één spraakroute niet bewerken of verwijderen. U moet de volledige configuratie voor spraakroutering overschrijven. Hier volgt een voorbeeld van een lege lijst waarmee alle routes en trunks worden verwijderd:
//delete all configured voice routes
console.log("Deleting all routes...");
await client.setRoutes([]);
//delete all trunks
console.log("Deleting all trunks...");
await client.setTrunks([]);
U kunt het volgende voorbeeld gebruiken om één trunk (SBC) te verwijderen als er geen spraakroutes worden gebruikt. Als de SBC wordt vermeld in een spraakroute, verwijdert u die route eerst.
await client.deleteTrunk('sbc.us.contoso.com');
De code uitvoeren
Gebruik de node
opdracht om de code uit te voeren die u aan het direct-routing-quickstart.js
bestand hebt toegevoegd:
node direct-routing-quickstart.js
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Python 3.7+.
- Een geïmplementeerde Communication Services-resource en een verbindingsreeks. Een Communication Services-resource maken.
- De FQDN (Fully Qualified Domain Name) en het poortnummer van een sessierandcontroller (SBC) in een operationeel telefoniesysteem.
- De geverifieerde domeinnaam van de SBC-FQDN.
Uiteindelijke code
Zoek de voltooide code voor deze quickstart op GitHub.
U vindt ook meer gebruiksvoorbeelden op SipRoutingClient
GitHub.
Een Python-toepassing maken
Open uw terminal-of opdrachtvenster. Maak een nieuwe map voor uw app en ga vervolgens naar de map:
mkdir direct-routing-quickstart && cd direct-routing-quickstart
Gebruik een teksteditor om een bestand met de naam direct_routing_sample.py te maken in de hoofdmap van het project en voeg de volgende code toe:
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)
U voegt de resterende quickstart-code toe in de volgende secties.
Het pakket installeren
Terwijl u zich nog steeds in de toepassingsmap bevindt, installeert u de Azure Communication Services-clientbibliotheek Beheer istration voor Python met behulp van de pip install
opdracht:
pip install azure-communication-phonenumbers==1.1.0
De client verifiëren
Met SipRoutingClient
, kunt u Microsoft Entra-verificatie gebruiken. DefaultAzureCredential
Het object is de eenvoudigste manier om aan de slag te gaan met Microsoft Entra-id. U kunt het object installeren met behulp van de pip install
opdracht:
pip install azure-identity
Als u een DefaultAzureCredential
object maakt, moet u deze AZURE_CLIENT_SECRET
hebben AZURE_CLIENT_ID
en AZURE_TENANT_ID
al instellen als omgevingsvariabelen met de bijbehorende waarden uit uw geregistreerde Microsoft Entra-toepassing. Zie Verifiëren met behulp van Microsoft Entra ID voor een snelle manier om deze omgevingsvariabelen op te halen.
Nadat u de azure-identity
bibliotheek hebt geïnstalleerd, kunt u doorgaan met het verifiëren van de client:
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)
U kunt ook het eindpunt en de toegangssleutel van de communicatieresource gebruiken om te verifiëren:
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)
Een directe routeringsconfiguratie instellen
In de vereisten hebt u het eigendom van het domein geverifieerd. De volgende stappen zijn het maken van trunks (add SBCs) en het maken van spraakroutes.
Trunks maken of bijwerken
Registreer uw SBCs door hun volledig gekwalificeerde domeinnamen en poortnummers op te geven:
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)
Routes maken of bijwerken
Geef routeringsregels op voor uitgaande oproepen. Elke regel bestaat uit twee delen: een regex-patroon dat overeenkomt met een gebeld telefoonnummer en de FQDN van een geregistreerde trunk waar de oproep wordt gerouteerd.
De volgorde van routes bepaalt de prioriteit van routes. De eerste route die overeenkomt met de regex wordt gekozen voor een oproep.
In dit voorbeeld maakt u één route voor getallen die beginnen met +1
en een tweede route voor getallen die beginnen met alleen +
:
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)
Een directe routeringsconfiguratie bijwerken
U kunt de eigenschappen van een specifieke trunk bijwerken door de record te overschrijven met dezelfde FQDN. U kunt bijvoorbeeld een nieuwe SBC-poortwaarde instellen:
new_trunk = SipTrunk(fqdn="sbc.us.contoso.com", sip_signaling_port=5063)
sip_routing_client.set_trunk(new_trunk)
U gebruikt dezelfde methode om routeringsregels te maken en bij te werken. Wanneer u routes bijwerkt, verzendt u ze allemaal in één update. De nieuwe routeringsconfiguratie overschrijft de vorige volledig.
Een directe routeringsconfiguratie verwijderen
U kunt één spraakroute niet bewerken of verwijderen. U moet de volledige configuratie voor spraakroutering overschrijven. Hier volgt een voorbeeld van een lege lijst waarmee alle routes en trunks worden verwijderd:
#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([])
U kunt het volgende voorbeeld gebruiken om één trunk (SBC) te verwijderen als er geen spraakroutes worden gebruikt. Als de SBC wordt vermeld in een spraakroute, verwijdert u die route eerst.
sip_routing_client.delete_trunk("sbc.us.contoso.com")
De code uitvoeren
Ga vanuit een consoleprompt naar de map met het bestand direct_routing_sample.py . Voer vervolgens de volgende Python-opdracht uit om de app uit te voeren:
python direct_routing_sample.py
Resources opschonen
Als u een Communication Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd. Meer informatie over het opschonen van resources.
Volgende stappen
Raadpleeg voor meer informatie de volgende artikelen:
- Meer informatie over oproepautomatisering voor het bouwen van werkstromen die aanroepen naar Communication Services routeren en beheren.
- Meer informatie over de mogelijkheden van calling SDK.
- Meer informatie over hoe bellen werkt.
- Bel naar een telefoonnummer door een quickstart te volgen.