Guia de início rápido: configurar o roteamento de voz programaticamente
Configure regras de encaminhamento de voz para o encaminhamento direto do Azure Communication Services.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso ativo dos Serviços de Comunicação. Crie um recurso de Serviços de Comunicação.
- O nome de domínio totalmente qualificado (FQDN) e o número da porta de um controlador de borda de sessão (SBC) em um sistema de telefonia operacional.
- O nome de domínio verificado do FQDN do SBC.
Nota
Você pode encontrar mais exemplos de uso no SipRoutingClient
GitHub.
Adicionar um controlador de borda de sessão
No painel esquerdo, em Chamadas de voz - PSTN, selecione Roteamento direto. Na guia Controlador de Borda de Sessão, selecione Configurar.
Insira um FQDN e uma porta de sinalização para o SBC. Os requisitos para o FQDN SBC incluem:
- A parte de domínio do FQDN deve ser verificada antes que você possa adicioná-la à sua configuração de roteamento direto, conforme mencionado anteriormente nos pré-requisitos.
- O certificado SBC deve corresponder ao nome. Há suporte para certificados curinga.
- Não é possível usar os
*.onmicrosoft.com
domínios e*.azure.com
para o FQDN.
Para obter a lista completa de requisitos, consulte Requisitos de infraestrutura de roteamento direto do Azure.
Selecione Seguinte. Se tudo estiver configurado corretamente, você verá o status do SBC como Ativo no portal do Azure.
Importante
Antes de fazer ou receber chamadas, verifique se o status do 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 plus.^\+1(\d{10})$
: Corresponde a um número de telefone com 10 dígitos após+1
.^\+1(425|206)(\d{7})$
: Corresponde a um número de telefone que começa com ou com+1425
+1206
, seguido de sete dígitos.^\+0?1234$
: Corresponde aos números de telefone e+1234
aos números de telefone+01234
.
Para obter mais informações sobre expressões regulares, consulte Visão geral de expressões regulares do .NET.
Você pode selecionar vários SBCs para um único padrão. Nesse caso, o algoritmo de roteamento os 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 Chamadas de voz - PSTN, vá para Roteamento direto.
- Na guia Rotas de Voz , marque as caixas de seleção da rota (ou rotas) que você deseja excluir.
- Selecione Remover.
Para excluir um SBC:
- No painel esquerdo, em Chamadas de voz - PSTN, vá para Roteamento direto.
- Na guia Controladores de borda de sessão, selecione Configurar.
- Limpe os campos FQDN e porta do SBC que pretende remover e, em seguida, selecione Seguinte.
- Na guia Rotas de voz, revise a configuração de roteamento de voz . Faça alterações, se necessário, e selecione Salvar.
Ao remover um SBC associado a uma rota de voz, você pode 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 subscrição ativa. Crie uma conta gratuitamente.
- Um recurso ativo dos Serviços de Comunicação e uma cadeia de conexão. Crie um recurso de Serviços de Comunicação.
- A versão mais recente da biblioteca de cliente .NET Core para seu sistema operacional.
- O nome de domínio totalmente qualificado (FQDN) e o número da porta de um controlador de borda de sessão (SBC) em um sistema de telefonia operacional.
- O nome de domínio verificado do FQDN do SBC.
Código final
Encontre o código finalizado para este início rápido no GitHub.
Você também pode encontrar mais exemplos de uso no SipRoutingClient
GitHub.
Criar um aplicativo C#
Em uma janela de console (como Prompt de Comando, PowerShell ou Bash), use o dotnet new
comando para criar um novo aplicativo de console:
dotnet new console -o DirectRoutingQuickstart
Este comando cria um projeto C# "Hello World" simples com um único arquivo de origem: Program.cs.
Altere seu diretório para a pasta do aplicativo recém-criada e use o dotnet build
comando para compilar seu aplicativo:
cd DirectRoutingQuickstart
dotnet build
Instalar o pacote
Enquanto você ainda estiver no diretório do aplicativo, instale a biblioteca de cliente do Azure Communication PhoneNumbers para .NET usando o dotnet add package
comando:
dotnet add package Azure.Communication.PhoneNumbers --version 1.1.0
Adicione uma using
diretiva à parte superior de Program.cs para incluir os namespaces:
using Azure.Communication.PhoneNumbers.SipRouting;
Autenticar o cliente
Autentique clientes de número de telefone usando uma cadeia de conexão de um recurso 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);
Configurar 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 dos Serviços de Comunicação do Azure permite a comunicação apenas com SBCs registrados. Para registrar um SBC, você precisa de seu FQDN e porta:
// 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
Fornecer 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 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 e uma segunda rota para números que começam com +1
apenas +
:
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 de 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 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
Não é possível 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:
//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 estiver usando-o. Se o SBC estiver listado em qualquer rota de voz, exclua essa rota primeiro.
await client.DeleteTrunkAsync("sbc.us.contoso.com");
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Java Development Kit (JDK) versão 8 ou posterior.
- Apache Maven.
- Um recurso de Serviços de Comunicação implantado e uma cadeia de conexão. Crie um recurso de Serviços de Comunicação.
- O nome de domínio totalmente qualificado (FQDN) e o número da porta de um controlador de borda de sessão (SBC) em um sistema de telefonia operacional.
- O nome de domínio verificado do FQDN do SBC.
Código final
Encontre o código finalizado para este início rápido no GitHub.
Você também pode encontrar mais exemplos de uso no SipRoutingClient
GitHub.
Criar uma aplicação Java
Abra o terminal ou a janela de comando. Vá para o diretório onde você deseja criar sua aplicação Java. Em seguida, 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 generate
tarefa criou um diretório com o mesmo nome do artifactId
valor. Neste 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 Project Object Model (POM) do projeto.
Instalar o pacote
Abra o arquivo pom.xml em 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 a estrutura do aplicativo
No diretório do projeto:
- Vá para o diretório /src/main/java/com/communication/quickstart .
- Abra o arquivo App.java no editor.
- Substitua a
System.out.println("Hello world!");
instrução. - Adicionar
import
diretivas.
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
o , 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();
Como alternativa, use o ponto de extremidade e a chave de acesso 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();
Configurar 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 dos Serviços de Comunicação do Azure permite a comunicação apenas com SBCs registrados. Para registrar um SBC, você precisa de seu FQDN e porta:
sipRoutingAsyncClient.setTrunksWithResponse(asList(
new SipTrunk("sbc.us.contoso.com", 5061),
new SipTrunk("sbc.eu.contoso.com", 5061)
)).block();
Criar ou atualizar rotas
Fornecer 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 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 e uma segunda rota para números que começam com +1
apenas +
:
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 de 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 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
Não é possível 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.
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 estiver usando-o. Se o SBC estiver listado em qualquer rota de voz, exclua essa rota primeiro.
sipRoutingClient.deleteTrunk("sbc.us.contoso.com");
Executar o código
Vá para o diretório que contém o arquivo pom.xml e compile o projeto usando o seguinte mvn
comando:
mvn clean compile
Em seguida, compile o pacote:
mvn package
Execute o seguinte mvn
comando para executar o aplicativo:
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso ativo dos Serviços de Comunicação e uma cadeia de conexão. Crie um recurso de Serviços de Comunicação.
- Versões LTS ativas e LTS de manutenção do Node.js para o seu sistema operacional.
- O nome de domínio totalmente qualificado (FQDN) e o número da porta de um controlador de borda de sessão (SBC) em um sistema de telefonia operacional.
- O nome de domínio verificado do FQDN do SBC.
Código final
Encontre o código finalizado para este início rápido no GitHub.
Você também pode encontrar mais exemplos de uso no SipRoutingClient
GitHub.
Criar uma aplicação Node.js
Abra o terminal ou a janela de comando, crie um novo diretório para seu aplicativo e vá até ele:
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
Crie um arquivo chamado direct-routing-quickstart.js na raiz do diretório que você criou. Adicione o seguinte trecho a ele:
async function main() {
// quickstart code will go here
}
main();
Instalar o pacote
Use o npm install
comando para instalar a biblioteca de cliente de Números de Telefone dos Serviços de Comunicação do Azure para JavaScript:
npm install @azure/communication-phone-numbers --save
A --save
opção adiciona a biblioteca como uma dependência no arquivo package.json .
Autenticar o cliente
Importe SipRoutingClient
da biblioteca do cliente e instancie-a com sua cadeia de conexão. O código recupera a cadeia de conexão para o recurso de uma variável de ambiente chamada COMMUNICATION_SERVICES_CONNECTION_STRING
. Saiba como gerir a cadeia de ligaçã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);
Configurar 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 dos Serviços de Comunicação do Azure permite a comunicação apenas com SBCs registrados. Para registrar um SBC, você precisa de seu FQDN e porta:
await client.setTrunks([
{
fqdn: 'sbc.us.contoso.com',
sipSignalingPort: 5061
},{
fqdn: 'sbc.eu.contoso.com',
sipSignalingPort: 5061
}
]);
Criar ou atualizar rotas
Fornecer 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 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 e uma segunda rota para números que começam com +1
apenas +
:
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 de 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 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
Não é possível 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:
//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 estiver usando-o. Se o SBC estiver listado em qualquer rota de voz, exclua essa rota primeiro.
await client.deleteTrunk('sbc.us.contoso.com');
Executar o código
Use o comando para executar o node
código que você adicionou ao direct-routing-quickstart.js
arquivo:
node direct-routing-quickstart.js
Pré-requisitos
- Uma conta do Azure com uma subscrição 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 de Serviços de Comunicação.
- O nome de domínio totalmente qualificado (FQDN) e o número da porta de um controlador de borda de sessão (SBC) em um sistema de telefonia operacional.
- O nome de domínio verificado do FQDN do SBC.
Código final
Encontre o código finalizado para este início rápido no GitHub.
Você também pode encontrar mais exemplos de uso no SipRoutingClient
GitHub.
Criar uma aplicação Python
Abra o terminal ou a janela de comando. Crie um novo diretório para seu aplicativo e vá até ele:
mkdir direct-routing-quickstart && cd direct-routing-quickstart
Use um editor de texto para criar um arquivo chamado direct_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 código de início rápido restante nas seções a seguir.
Instalar o pacote
Enquanto você ainda estiver no diretório do aplicativo, instale a biblioteca de cliente da Administração dos Serviços de Comunicação do Azure para Python usando o pip install
comando:
pip install azure-communication-phonenumbers==1.1.0
Autenticar o cliente
Com SipRoutingClient
o , você pode usar a autenticação do Microsoft Entra. Usar o objeto é a maneira mais fácil de começar a usar o Microsoft Entra ID, e você pode instalá-lo usando o DefaultAzureCredential
pip install
comando:
pip install azure-identity
Criar um DefaultAzureCredential
objeto requer que você tenha AZURE_CLIENT_ID
, AZURE_CLIENT_SECRET
e AZURE_TENANT_ID
já definido como variáveis de ambiente com seus valores correspondentes do seu aplicativo Microsoft Entra registrado. Para obter uma maneira rápida de obter essas variáveis de ambiente, consulte Autenticar usando a ID do Microsoft Entra.
Depois de instalar a azure-identity
biblioteca, 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)
Como alternativa, você pode usar o ponto de extremidade e a chave de acesso 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)
Configurar 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
Registe os seus SBCs fornecendo os seus nomes de domínio e números de porta totalmente qualificados:
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
Fornecer 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 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 e uma segunda rota para números que começam com +1
apenas +
:
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 de 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 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
Não é possível 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:
#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 estiver usando-o. Se o SBC estiver listado em qualquer rota de voz, exclua essa rota primeiro.
sip_routing_client.delete_trunk("sbc.us.contoso.com")
Executar o código
Em um prompt do 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
Clean up resources (Limpar recursos)
Se quiser limpar e remover uma assinatura dos Serviços de Comunicação, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele. Saiba mais sobre a limpeza de recursos.
Próximos passos
Para obter mais informações, consulte os seguintes artigos que podem estar em inglês:
- Saiba mais sobre a automação de chamadas para criar fluxos de trabalho que encaminham e gerenciam chamadas para os Serviços de Comunicação.
- Saiba mais sobre os recursos do SDK de chamada.
- Saiba mais sobre como funciona a chamada.
- Ligue para um número de telefone seguindo um início rápido.