Partilhar via


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

  1. No painel esquerdo, em Chamadas de voz - PSTN, selecione Roteamento direto. Na guia Controlador de Borda de Sessão, selecione Configurar.

  2. 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.

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

  3. Selecione Seguinte. Se tudo estiver configurado corretamente, você verá o status do SBC como Ativo no portal do Azure.

    Screenshot of SBC connection properties.

Importante

Antes de fazer ou receber chamadas, verifique se o status do SBC está Online

Criar regras de roteamento de voz

Screenshot of outgoing voice routing configuration.

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:

  1. No painel esquerdo, em Chamadas de voz - PSTN, vá para Roteamento direto.
  2. Na guia Rotas de Voz , marque as caixas de seleção da rota (ou rotas) que você deseja excluir.
  3. Selecione Remover.

Para excluir um SBC:

  1. No painel esquerdo, em Chamadas de voz - PSTN, vá para Roteamento direto.
  2. Na guia Controladores de borda de sessão, selecione Configurar.
  3. Limpe os campos FQDN e porta do SBC que pretende remover e, em seguida, selecione Seguinte.
  4. 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:

  1. Vá para o diretório /src/main/java/com/communication/quickstart .
  2. Abra o arquivo App.java no editor.
  3. Substitua a System.out.println("Hello world!"); instrução.
  4. 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 SipRoutingClientBuildero , 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 SipRoutingCliento , 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_SECRETe 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: