OBS.: Procedimento válido a partir da versão de firmware 5.40
Por padrão as rotas do gateway são previamente configuradas para encaminhar as chamadas oriundas da conta SIP para a interface TDM e vice-versa. Porém, em muitos casos é necessário fazer manipulações nos números enviados ou recebidos.
O primeiro passo é identificarmos as regras atuais no equipamento e avaliar os parâmetros para entendermos o que cada um faz. Para isso acesse o gateway via ssh.
Execute o comando que segue:
config dialplan show
Com isso será exibido o dialplan atualmente configurado no gateway. Será mostrado como abaixo:
config dialplan rule tdm_group1_default source_peer tdm group1 config dialplan rule tdm_group1_default destination_peer sip trunk1 config dialplan rule tdm_group1_default called_pattern X. config dialplan rule tdm_group1_default callerid_pattern config dialplan rule tdm_group1_default outgoing_called {} config dialplan rule tdm_group1_default outgoing_callerid {} config dialplan rule tdm_group1_default answer_timeout 90 config dialplan rule sip_trunk1_default source_peer sip trunk1 config dialplan rule sip_trunk1_default destination_peer tdm group1 config dialplan rule sip_trunk1_default called_pattern X. config dialplan rule sip_trunk1_default callerid_pattern config dialplan rule sip_trunk1_default outgoing_called {} config dialplan rule sip_trunk1_default outgoing_callerid {} config dialplan rule sip_trunk1_default answer_timeout 90
Os parâmetros exibidos têm a seguinte sintaxe:
config dialplan rule <nome_da_regra> <parâmetro> <valor> <...>
Sabendo isso, podemos separar as duas regras apresentadas e analisa-las.
Essa primeira regra, denominada tdm_group1_default é a regra que trata as chamadas recebidas pela conta SIP e que serão encaminhadas para o E1:
config dialplan rule tdm_group1_default source_peer tdm group1 config dialplan rule tdm_group1_default destination_peer sip trunk1 config dialplan rule tdm_group1_default called_pattern X. config dialplan rule tdm_group1_default callerid_pattern config dialplan rule tdm_group1_default outgoing_called {} config dialplan rule tdm_group1_default outgoing_callerid {} config dialplan rule tdm_group1_default answer_timeout 90
Agora vamos analisar cada um dos parâmetros da regra:
O parâmetro source_peer especifica o canal de origem da chamada, ou seja, nesta regra serão tratadas somente as chamadas entrantes através deste canal. No caso a regra especifica que o canal de origem deve ser do tipo tdm e o grupo deve ser o group1:
config dialplan rule tdm_group1_default source_peer tdm group1
Para interfaces TDM as regras são separadas por grupos. No caso do AG561 há somente o grupo group1, para equipamentos de maior porte, poderão existir mais grupos e os mesmos poderão ser customizados. Para o tipo de canal SIP deverão ser utilizados os nomes das contas.
O parâmetro destination_peer especifica o canal de destino, ou seja, para qual canal a chamada será encaminhada.
config dialplan rule tdm_group1_default destination_peer sip trunk1
O parâmetro called_pattern especifica o padrão esperado para o número que entra pela interface de origem:
config dialplan rule tdm_group1_default called_pattern X.
No exemplo acima, o valor "X." indica que a regra trata quaisquer números, pois o "X" indica qualquer dígitos de 0 a 9, e o "." indica quaisquer dígitos em qualquer quantidade.
O parâmetro callerid_pattern representa o padrão esperado para o número de "A", ou seja, o callerid:
config dialplan rule tdm_group1_default callerid_pattern
Deixe vázio para não filtrar a chamada por callerid.
Os parâmetros callerd_pattern e callerid_pattern utilizam o padrão de dígitos que segue:
X | Dígito de 0 a 9 |
Z | Dígito de 1 a 9 |
N | Dígito de 2 a 9 |
[1237-9] | Qualquer dígito entre os colchetes. No exemplo serão aceitos 1, 2, 3, 7 até 9 |
. | Qualquer dígito, um ou mais caracteres |
O parâmetro outgoing_called representa o número de saída. No exemplo abaixo, as duas chaves sem quaisquer outros dígitos junto a elas ou entre elas, indicam que será enviado para a saída o mesmo número recebido na entrada:
config dialplan rule tdm_group1_default outgoing_called {}
O parâmetro outgoing_callerid representa o número de identificação para a saída. No exemplo abaixo, as duas chavess sem quaisquer outros dígitos junto a elas, indicam que será enviado como identificação para frente o mesmo número de identificação recebido:
config dialplan rule tdm_group1_default outgoing_callerid {}
Seguem alguns exemplos de preenchimentos dos parâmetros outgoing_callerid e outgoing_called:
{} | Encaminha todos os dígitos recebidos (padrão) |
{:2:4} | Após o segundo dígito, encaminha 4 dígitos. Exemplo: de 123456 encaminha 3456 |
{:-4} | Encaminha os últimos 4 dígitos |
{:2} | Remove os 2 primeiros dígitos |
012{} | Adiciona o prefixo 012 ao número original |
{}0100 | Adiciona o sufixo 0100 ao número original |
O parâmetro timeout indica o tempo pelo qual a regra aguardará o atendimento antes de desligar por timeout. O valor é expresso em segundos:
config dialplan rule tdm_group1_default answer_timeout 90
A regra original encaminha todos os dígitos recebidos para a frente. Mantendo-se essa regra, podem ser criadas regras mais específicas que se sobreponham a ela. Por exemplo, supondo que queiramos adicionar o CSP (código de seleção de prestadora) 21 aos números discados iniciados por 0 (zero).
O primeiro passo será criar uma regra:
config dialplan rule sip_trunk1_inserir_csp
Com o comando acima criamos a regra denominada sip_trunk1_inserir_csp.
Execute o comando abaixo visualizar os parâmetros da regra:
config dialplan rule sip_trunk1_inserir_csp show
A regra é criada, por padrão, com alguns parâmetros já preenchidos:
config dialplan rule sip_trunk1_inserir_csp source_peer tdm group1 config dialplan rule sip_trunk1_inserir_csp called_pattern X. config dialplan rule sip_trunk1_inserir_csp callerid_pattern config dialplan rule sip_trunk1_inserir_csp outgoing_called {} config dialplan rule sip_trunk1_inserir_csp outgoing_callerid {} config dialplan rule sip_trunk1_inserir_csp answer_timeout 90
Para editar os parâmetros conforme a sua necessidade, copie cada um dos comandos, altere o parâmetro desejado, cole-o na console e pressione a tecla ENTER.
Agora, vamos analisar cada um dos comandos, fazendo as alterações necessárias para o que foi proposto.
O canal de destino no nosso caso será a conta SIP trunk1:
config dialplan rule sip_trunk1_inserir_csp source_peer sip trunk1
No called_pattern que vamos definir o padrão do número esperado, neste exemplo, esperamos todo número que inicie com 0 (zero), seguido de qualquer dígito em qualquer quantidade:
config dialplan rule sip_trunk1_inserir_csp called_pattern 0.
No parâmetro outgoing_called vamos fazer a conversão do número para o destino:
config dialplan rule sip_trunk1_inserir_csp outgoing_called 021{:1}
No exemplo acima, supondo que o número discado foi 05135000100, ao passar o valor {:1} estamos informando ao gateway para remover o primeiro dígito, ou seja, o número será 5135000100. Concomitantemente a isso, estamos adicionando o prefixo 021 ao número, de forma que o número final será 0215135000100.
Agora vamos ver o resultado final da nossa regra:
config dialplan rule sip_trunk1_inserir_csp source_peer sip trunk1 config dialplan rule sip_trunk1_inserir_csp called_pattern 0X. config dialplan rule sip_trunk1_inserir_csp callerid_pattern config dialplan rule sip_trunk1_inserir_csp outgoing_called 021{:1} config dialplan rule sip_trunk1_inserir_csp outgoing_callerid {} config dialplan rule sip_trunk1_inserir_csp answer_timeout 90
Resumidamente, nessa regra, estamos dizendo que, sempre que o número discado iniciar com zero, deverá ser suprimido o primeiro dígito e incluído o prefixo 021.
Após criar ou editar as regras de discagem é necessário salvar e aplicar as configurações ao sistema. Para isso, execute os seguintes comandos:
config save config apply