Início Rápido: Configurar o roteamento de voz programaticamente
Configurar as regras de roteamento de voz de saída para roteamento direto dos Serviços de Comunicação do Azure.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso ativo dos Serviços de Comunicação. Crie um recurso dos Serviços de Comunicação.
- O nome de domínio totalmente qualificado (FQDN) e número da porta de um controlador de borda de sessão (SBC) em um sistema operacional de telefonia.
- O nome de domínio verificado do FQDN do SBC.
Observação
Você pode encontrar mais exemplos de uso para SipRoutingClient
no GitHub.
Adicionar um controlador de borda de sessão
No painel esquerdo, em Chamada de Voz – PSTN, selecione Roteamento direto. Em uma guia Controladores de Borda da Sessão, selecione Configurar.
Insira um FQDN e uma porta de sinalização para o SBC. Os requisitos para o FQDN do SBC incluem:
- A parte do domínio do FQDN deve ser verificada antes que você possa adicioná-la à configuração de roteamento direto, conforme mencionado anteriormente nos pré-requisitos.
- O certificado SBC deve corresponder ao nome. Há suporte a certificados com caracteres curinga.
- Você não pode usar os domínios
*.onmicrosoft.com
e*.azure.com
para o FQDN.
Para obter a lista completa de requisitos, confira os Requisitos da infraestrutura de roteamento direto do Azure.
Selecione Avançar. Se tudo estiver configurado corretamente, você deverá ver o status do SBC como Ativo no portal do Azure.
Importante
Antes de fazer ou receber chamadas, verifique se o status SBC está Online
Criar regras de roteamento de voz
Dê um nome à sua Rota de Voz, especifique o padrão numérico usando expressões regulares e selecione o SBC para esse padrão. Aqui estão alguns exemplos de expressões regulares básicas:
^\+\d+$
: corresponde a um número de telefone com um ou mais dígitos que começam com um sinal de mais.^\+1(\d{10})$
: corresponde a um número de telefone com 10 dígitos depois de um+1
.^\+1(425|206)(\d{7})$
: corresponde a um número de telefone que começa com+1425
ou+1206
seguido por sete dígitos.^\+0?1234$
: corresponde aos números de telefone+01234
e+1234
.
Para saber mais sobre as expressões regulares, confira Visão geral das expressões regulares .NET.
Você pode selecionar vários SBCs para um único padrão. Em tal caso, o algoritmo de roteamento escolhe em ordem aleatória. Você também pode especificar o padrão de número exato mais de uma vez. A linha mais alta tem prioridade mais alta. Se todos os SBCs associados a essa linha não estiverem disponíveis, a próxima linha será selecionada. Dessa forma, você cria cenários de roteamento complexos.
Remover uma configuração de roteamento direto
Para excluir uma rota de voz:
- No painel esquerdo, em Chamada de Voz – PSTN, vá para Roteamento direto.
- Na guia Rotas de Voz, marque as caixas de seleção para a rota (ou rotas) que deseja excluir.
- Selecione Remover.
Para excluir um SBC:
- No painel esquerdo, em Chamada de Voz – PSTN, vá para Roteamento direto.
- Na guia Controladores de Borda da Sessão, selecione Configurar.
- Limpe os campos FQDN e porta do SBC que você deseja remover e selecione Avançar.
- Na guia Rotas de Voz, revise a configuração de roteamento de voz. Adicione os comentários que forem necessário e selecione Salvar.
Ao remover um SBC associado a uma rota de voz, você poderá escolher um SBC diferente para a rota na guia Rotas de Voz. A rota de voz sem um SBC será excluída.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso e uma cadeia de conexão ativos dos Serviços de Comunicação. Crie um recurso dos Serviços de Comunicação.
- A versão mais recente da biblioteca de clientes do .NET Core para o seu sistema operacional.
- O nome de domínio totalmente qualificado (FQDN) e número da porta de um controlador de borda de sessão (SBC) em um sistema operacional de telefonia.
- O nome de domínio verificado do FQDN do SBC.
Código final
Encontre o código finalizado para este guia de início rápido no GitHub.
Você também pode encontrar mais exemplos de uso do SipRoutingClient
no GitHub.
Criar um aplicativo C#
Em uma janela de console (como o prompt de comando, PowerShell ou Bash), use o comando dotnet new
para criar um novo aplicativo de console:
dotnet new console -o DirectRoutingQuickstart
Esse comando cria um projeto simples C# "Olá, Mundo" com um arquivo de origem único: Program.cs.
Altere o seu diretório para a pasta de aplicativo recém-criada e use o comando dotnet build
para compilar o aplicativo:
cd DirectRoutingQuickstart
dotnet build
Instalar o pacote
Enquanto ainda estiver no diretório do aplicativo, instale o biblioteca de clientes de Números de Telefone da Comunicação do Azure para .NET usando o comando dotnet add package
:
dotnet add package Azure.Communication.PhoneNumbers --version 1.1.0
Adicione uma diretiva using
à parte superior de Program.cs para incluir os namespaces:
using Azure.Communication.PhoneNumbers.SipRouting;
Autenticar o cliente
Autentique os clientes de número de telefone usando uma cadeia de conexão de recursos dos Serviços de Comunicação do Azure:
// Get a connection string to the Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new SipRoutingClient(connectionString);
Definir uma configuração de roteamento direto
Nos pré-requisitos, você verificou a propriedade do domínio. As próximas etapas são criar troncos (adicionar SBCs) e criar rotas de voz.
Criar ou atualizar troncos
O roteamento direto de Serviços de Comunicação do Azure permite apenas a comunicação com SBCs registrados. Para registrar um SBC, você precisa do FQDN e da porta dele:
// 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 });
Criar ou atualizar rotas
Forneça regras de roteamento para chamadas de saída. Cada regra consiste em duas partes: um padrão regex que deve corresponder a um número de telefone discado e o FQDN de um tronco de voz registrado onde a chamada é roteada.
A ordem das rotas determina a prioridade das rotas. A primeira rota que corresponder ao regex será escolhida para uma chamada.
Neste exemplo, você cria uma rota para números que começam com +1
e uma segunda rota para números que começam apenas com +
:
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 });
Atualizar uma configuração de roteamento direto
Você pode atualizar as propriedades de um tronco específico substituindo o registro pelo mesmo FQDN. Por exemplo, você pode definir um novo valor na porta SBC:
var usTrunk = new SipTrunk("sbc.us.contoso.com", 5063);
await client.SetTrunkAsync(usTrunk);
Você usa o mesmo método para criar e atualizar regras de roteamento. Ao atualizar as rotas, envie todas elas em uma única atualização. A nova configuração de roteamento substitui totalmente a anterior.
Remover uma configuração de roteamento direto
Você não pode editar ou remover uma única rota de voz. Você deve substituir toda a configuração de roteamento de voz. Aqui está um exemplo de uma lista vazia que remove todas as rotas e troncos de voz:
//delete all configured voice routes
await client.SetRoutesAsync(new List<SipTrunkRoute>());
//delete all trunks
await client.SetTrunksAsync(new List<SipTrunk>());
Você pode usar o exemplo a seguir para excluir um único tronco (SBC), se nenhuma rota de voz o estiver usando. Se o SBC estiver listado em qualquer rota de voz, primeiro exclua essa rota.
await client.DeleteTrunkAsync("sbc.us.contoso.com");
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- JDK (Java Development Kit) versão 8 ou posterior.
- Apache Maven.
- Um recurso e uma cadeia de conexão dos Serviços de Comunicação implantados. Crie um recurso dos Serviços de Comunicação.
- O nome de domínio totalmente qualificado (FQDN) e número da porta de um controlador de borda de sessão (SBC) em um sistema operacional de telefonia.
- O nome de domínio verificado do FQDN do SBC.
Código final
Encontre o código finalizado para este guia de início rápido no GitHub.
Você também pode encontrar mais exemplos de uso do SipRoutingClient
no GitHub.
Criar um aplicativo Java
Abra o terminal ou a janela Comando. Vá até o diretório em que você deseja criar o aplicativo Java. Depois, execute o comando para gerar o projeto Java a partir do modelo maven-archetype-quickstart:
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
A tarefa generate
criou um diretório com o mesmo nome do valor artifactId
. Nesse diretório, o diretório src/main/java contém o código-fonte do projeto, o diretório src/test/java contém a fonte de teste e o arquivo pom.xml é o POM (Modelo de Objeto do Projeto) do projeto.
Instalar o pacote
Abra o arquivo pom.xml no seu editor de texto. Adicione os seguintes elementos de dependência ao grupo de dependências:
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-phonenumbers</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
Configurar o framework de aplicativos
No diretório do projeto:
- Vá para o diretório /src/main/java/com/communication/quickstart.
- Abra o arquivo App.java em seu editor.
- Substitua a instrução
System.out.println("Hello world!");
. - Adicione as diretivas
import
.
Use o seguinte código para começar:
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
}
}
Autenticar o cliente
Com SipRoutingClientBuilder
, você pode usar a autenticação do 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();
Alternativamente, use o ponto de extremidade e a chave de acesso a partir do recurso de comunicação para autenticar:
// 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();
Definir uma configuração de roteamento direto
Nos pré-requisitos, você verificou a propriedade do domínio. As próximas etapas são criar troncos (adicionar SBCs) e criar rotas de voz.
Criar ou atualizar troncos
O roteamento direto de Serviços de Comunicação do Azure permite apenas a comunicação com SBCs registrados. Para registrar um SBC, você precisa do FQDN e da porta dele:
sipRoutingAsyncClient.setTrunksWithResponse(asList(
new SipTrunk("sbc.us.contoso.com", 5061),
new SipTrunk("sbc.eu.contoso.com", 5061)
)).block();
Criar ou atualizar rotas
Forneça regras de roteamento para chamadas de saída. Cada regra consiste em duas partes: um padrão regex que deve corresponder a um número de telefone discado e o FQDN de um tronco de voz registrado onde a chamada é roteada.
A ordem das rotas determina a prioridade das rotas. A primeira rota que corresponder ao regex será escolhida para uma chamada.
Neste exemplo, você cria uma rota para números que começam com +1
e uma segunda rota para números que começam apenas com +
:
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();
Atualizar uma configuração de roteamento direto
Você pode atualizar as propriedades de um tronco específico substituindo o registro pelo mesmo FQDN. Por exemplo, você pode definir um novo valor na porta SBC:
sipRoutingClient.setTrunk(new SipTrunk("sbc.us.contoso.com", 5063));
Você usa o mesmo método para criar e atualizar regras de roteamento. Ao atualizar as rotas, envie todas elas em uma única atualização. A nova configuração de roteamento substitui totalmente a anterior.
Remover uma configuração de roteamento direto
Você não pode editar ou remover uma única rota de voz. Você deve substituir toda a configuração de roteamento de voz. Aqui está o exemplo de uma lista vazia que remove todas as rotas e troncos de voz.
Adicione duas importações:
import java.util.Collections;
import java.util.List;
Use o código a seguir para excluir uma configuração de roteamento direto:
//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();
Você pode usar o exemplo a seguir para excluir um único tronco (SBC), se nenhuma rota de voz o estiver usando. Se o SBC estiver listado em qualquer rota de voz, primeiro exclua essa rota.
sipRoutingClient.deleteTrunk("sbc.us.contoso.com");
Executar o código
Navegue até o diretório que contém o arquivo pom.xml e compile o projeto usando o seguinte comando mvn
:
mvn clean compile
Então, crie o pacote:
mvn package
Execute o seguinte comando mvn
para executar o aplicativo:
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso e uma cadeia de conexão ativos dos Serviços de Comunicação. Crie um recurso dos Serviços de Comunicação.
- Versões LTS ativas e LTS de manutenção de Node.js para seu sistema operacional.
- O nome de domínio totalmente qualificado (FQDN) e número da porta de um controlador de borda de sessão (SBC) em um sistema operacional de telefonia.
- O nome de domínio verificado do FQDN do SBC.
Código final
Encontre o código finalizado para este guia de início rápido no GitHub.
Você também pode encontrar mais exemplos de uso do SipRoutingClient
no GitHub.
Criar um aplicativo do Node.js
Abra a janela Comando ou o terminal para criar um diretório para o seu aplicativo e acesse-o:
mkdir direct-routing-quickstart && cd direct-routing-quickstart
Execute npm init -y
para criar um arquivo package.json com as configurações padrão:
npm init -y
Criar um arquivo chamado direct-routing-quickstart.js na raiz do diretório que você criou. Adicione o seguinte snippet a ele:
async function main() {
// quickstart code will go here
}
main();
Instalar o pacote
Use o comando npm install
para instalar a biblioteca de clientes de Números de Telefone dos Serviços de Comunicação do Azure para JavaScript:
npm install @azure/communication-phone-numbers --save
A opção --save
adiciona a biblioteca como uma dependência no arquivo package.json.
Autenticar o cliente
Importe o SipRoutingClient
da biblioteca de clientes e crie uma instância dele com sua cadeia de conexão. O código recupera a cadeia de conexão para o recurso a partir de uma variável de ambiente chamada COMMUNICATION_SERVICES_CONNECTION_STRING
. Saiba como gerenciar a cadeia de conexão do seu recurso.
Adicione o seguinte código ao 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);
Definir uma configuração de roteamento direto
Nos pré-requisitos, você verificou a propriedade do domínio. As próximas etapas são criar troncos (adicionar SBCs) e criar rotas de voz.
Criar ou atualizar troncos
O roteamento direto de Serviços de Comunicação do Azure permite apenas a comunicação com SBCs registrados. Para registrar um SBC, você precisa do FQDN e da porta dele:
await client.setTrunks([
{
fqdn: 'sbc.us.contoso.com',
sipSignalingPort: 5061
},{
fqdn: 'sbc.eu.contoso.com',
sipSignalingPort: 5061
}
]);
Criar ou atualizar rotas
Forneça regras de roteamento para chamadas de saída. Cada regra consiste em duas partes: um padrão regex que deve corresponder a um número de telefone discado e o FQDN de um tronco de voz registrado onde a chamada é roteada.
A ordem das rotas determina a prioridade das rotas. A primeira rota que corresponder ao regex será escolhida para uma chamada.
Neste exemplo, você cria uma rota para números que começam com +1
e uma segunda rota para números que começam apenas com +
:
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']
}
]);
Atualizar uma configuração de roteamento direto
Você pode atualizar as propriedades de um tronco específico substituindo o registro pelo mesmo FQDN. Por exemplo, você pode definir um novo valor na porta SBC:
await client.setTrunk({
fqdn: 'sbc.us.contoso.com',
sipSignalingPort: 5063
});
Você usa o mesmo método para criar e atualizar regras de roteamento. Ao atualizar as rotas, envie todas elas em uma única atualização. A nova configuração de roteamento substitui totalmente a anterior.
Remover uma configuração de roteamento direto
Você não pode editar ou remover uma única rota de voz. Você deve substituir toda a configuração de roteamento de voz. Aqui está um exemplo de uma lista vazia que remove todas as rotas e troncos de voz:
//delete all configured voice routes
console.log("Deleting all routes...");
await client.setRoutes([]);
//delete all trunks
console.log("Deleting all trunks...");
await client.setTrunks([]);
Você pode usar o exemplo a seguir para excluir um único tronco (SBC), se nenhuma rota de voz o estiver usando. Se o SBC estiver listado em qualquer rota de voz, primeiro exclua essa rota.
await client.deleteTrunk('sbc.us.contoso.com');
Executar o código
Use o comando node
para executar o código adicionado ao arquivo direct-routing-quickstart.js
:
node direct-routing-quickstart.js
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Python 3.7+.
- Um recurso de Serviços de Comunicação implantado e uma cadeia de conexão. Crie um recurso dos Serviços de Comunicação.
- O nome de domínio totalmente qualificado (FQDN) e número da porta de um controlador de borda de sessão (SBC) em um sistema operacional de telefonia.
- O nome de domínio verificado do FQDN do SBC.
Código final
Encontre o código finalizado para este guia de início rápido no GitHub.
Você também pode encontrar mais exemplos de uso do SipRoutingClient
no GitHub.
Criar um aplicativo Python
Abra o terminal ou a janela Comando. Crie um novo diretório para seu aplicativo e vá para ele:
mkdir direct-routing-quickstart && cd direct-routing-quickstart
Use um editor de texto para criar um arquivo chamado directory_routing_sample.py no diretório raiz do projeto e adicione o seguinte código:
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)
Você adiciona o restante do código de início rápido nas seções a seguir.
Instalar o pacote
Enquanto você ainda estiver no diretório do aplicativo, instale a biblioteca de clientes da Administração dos Serviços de Comunicação do Azure para Python usando o comando pip install
:
pip install azure-communication-phonenumbers==1.1.0
Autenticar o cliente
Com SipRoutingClient
, você pode usar a autenticação do Microsoft Entra. Usar o objeto DefaultAzureCredential
é a maneira mais fácil de começar a usar o Microsoft Entra ID, e você pode instalá-lo usando o comando pip install
:
pip install azure-identity
A criação de um objeto DefaultAzureCredential
requer que você já tenha AZURE_CLIENT_ID
, AZURE_CLIENT_SECRET
e AZURE_TENANT_ID
definidos como variáveis de ambiente com seus valores correspondentes do aplicativo Microsoft Entra registrado. Para obter uma maneira rápida de obter essas variáveis de ambiente, consulte Autenticar usando o Microsoft Entra ID.
Depois de instalar a biblioteca azure-identity
, você pode continuar autenticando o cliente:
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)
Alternativamente, você pode usar o ponto de extremidade e a chave de acesso a partir do recurso de comunicação para autenticar:
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)
Definir uma configuração de roteamento direto
Nos pré-requisitos, você verificou a propriedade do domínio. As próximas etapas são criar troncos (adicionar SBCs) e criar rotas de voz.
Criar ou atualizar troncos
Registre seus SBCs fornecendo seus nomes de domínio totalmente qualificados e números de porta:
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)
Criar ou atualizar rotas
Forneça regras de roteamento para chamadas de saída. Cada regra consiste em duas partes: um padrão regex que deve corresponder a um número de telefone discado e o FQDN de um tronco de voz registrado onde a chamada é roteada.
A ordem das rotas determina a prioridade das rotas. A primeira rota que corresponder ao regex será escolhida para uma chamada.
Neste exemplo, você cria uma rota para números que começam com +1
e uma segunda rota para números que começam apenas com +
:
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)
Atualizar uma configuração de roteamento direto
Você pode atualizar as propriedades de um tronco específico substituindo o registro pelo mesmo FQDN. Por exemplo, você pode definir um novo valor na porta SBC:
new_trunk = SipTrunk(fqdn="sbc.us.contoso.com", sip_signaling_port=5063)
sip_routing_client.set_trunk(new_trunk)
Você usa o mesmo método para criar e atualizar regras de roteamento. Ao atualizar as rotas, envie todas elas em uma única atualização. A nova configuração de roteamento substitui totalmente a anterior.
Remover uma configuração de roteamento direto
Você não pode editar ou remover uma única rota de voz. Você deve substituir toda a configuração de roteamento de voz. Aqui está um exemplo de uma lista vazia que remove todas as rotas e troncos de voz:
#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([])
Você pode usar o exemplo a seguir para excluir um único tronco (SBC), se nenhuma rota de voz o estiver usando. Se o SBC estiver listado em qualquer rota de voz, primeiro exclua essa rota.
sip_routing_client.delete_trunk("sbc.us.contoso.com")
Executar o código
Em um prompt de console, vá para o diretório que contém o arquivo direct_routing_sample.py . Em seguida, execute o seguinte comando Python para executar o aplicativo:
python direct_routing_sample.py
Limpar os recursos
Se quiser limpar e remover uma assinatura dos Serviços de Comunicação, exclua o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele. Saiba mais sobre como limpar recursos.
Próximas etapas
Para obter mais informações, consulte os seguintes artigos:
- Saiba mais sobre a automação de chamadas para criar fluxos de trabalho que roteiam e gerenciam chamadas para os Serviços de Comunicação.
- Saiba mais sobre os recursos do SDK de Chamada.
- Saiba mais sobre como a chamada funciona.
- Ligue para um número de telefone seguindo um início rápido.