Architecture for Voice, Video and Integrated Data

Cisco Unified Communications

Utilizando Call Forward Unregistered para sobrevivência e conceitos de Globalização

Posted by gvillarinho em 15/08/2012


Estes tempo, obtive uma demanda de configurar em um ambiente multi-site centralizado, com unidades espalhadas em vários estados, além de todas as configurações necessárias, uma delas me chamou mais a atenção que seria para que quando o telefone estiver em sobrevivência local, à chamada “ramal para ramal” continuasse transparente ao usuário final.

Funcionalidades

Com isso, cheguei a um pequeno design interessante onde faremos um mix em diversas features do Cisco Unified Communication Manager e Voice Gateway, para os que já estudaram a grade do CCNP Voice ou já precisou ler a respeito fica mais fácil o entendimento das features descritas abaixo:

– CFUR ( Call Forward Unregistered ) internal e/ou external, quando o telefone não estra registrado, automaticamente ele toma a ação configurada em sua pagina, podendo ser de jogar para o voice-mail ou encaminhar para outro numero.

– Globalization, conceito que é descrito no livro de estudo CIPT2, onde é transformado o que o usuário digitou para o padrão E.164 completo, exemplificando, quando um usuário de são Paulo disca para o numero fictício (11) 1234-5678, o E.164 ficaria +551112345678. Onde o sinal de mais (+) significa que é um numero padrão E.164, 55 significa código do Brasil , 11 significa área de São Paulo e 12345678 o numero discado.

– Localization, conceito que é descrito no livro de estudo CIPT2, onde um numero globalizado (globalized, como descrito acima do conceito de globalization ) ao sair por um determinado voice gateway é “transformado” para um numero legível para sua telefonia publica local. Aproveitando o exemplo acima do numero (11) 1234-5678, imagine que está chamada sairá por um voice gateway localizado no estado do Rio de Janeiro, onde seu código de área é diferente de São Paulo, então a chamada que quando sair pelo voice gateway(denominado call egress) esta como +551112345678 deverá ficar após sua transformação para o numero 0XX1112345678, onde o 0 no Brasil significa acesso a chamadas de Longa Distancia (DDD), o XX seria operadora desejada, 11 como código de área e o numero 1234-5678.

OBS: Ambos os conceitos de Globalization e Localization são mais utilizados com o NANP(North American Numbering Plan, padrão de dial-plan utilizados pelas operadoras PSTN) onde também possível dizer na própria composição dos dígitos se é local(subscriber), ddd(national) ou ddi(internacional). Como nosso dial-plan do Brasil não é NANP, temos que “adaptar”.

– Local Route Group, feature implementada na versão 7.1 do CUCM onde é possível definir um padrão dial-plan mais simplificado, que ao utilizar um route list com a opção do route group “Standard Local Route” ele buscará o route group associado no device pool do device phone e sairá por um determinado gateway.

– Called Party Transformation é uma feature utilizada para traduzir um numero já discado quando chegam a seu destino, podendo ser aplicado no voice gateway ou em device pools.

– SRST (Survivable Remote Site Telephony ) função que utiliza o gateway como PABX limitado quando há perda de conectividade entre o telefone e Cisco Unifed Communication Manager.

– num-exp ( number expansion ) é uma feature configurada no próprio voice gateway via CLI(linha de comando) onde permite adicionar dígitos ao numero discado ou mesmo modificar se necessário, antes mesmo da chamada dar “match” em uma dial-peer.

Ambiente e explicação

Alguns pontos para se importantes do meu ambiente:

– Meu ambiente utiliza Local Route Group para todos os gateways;
– Meus gateways estão em H.323 gateway;
– Os usuários não discam operadora, está inclusão é feita direto na Dial-peer do gateway.
– O Local route group, SRST e conectividades IP Phones via WAN já estão previamente configuradas,
– As traduções de unidade exemplo numero 1111-xxxx para 101-xxxx já estão previamente configuradas.

Caso tenha duvidas, nestes pontos listados, por favor deixe um post que lhe respondo.

Bem, depois desta apresentação das features e pontos do meu ambiente, vamos às configurações, mas antes disso vamos lembrar nossa ideia inicial, agora detalhando um pouco mais:

Os usuários em meu cliente possuem um padrão de sete dígitos em seus ramais, ou seja, três para site code + quatro para seu ramal próprio. Exemplos:

Usuário no site A ( onde o CUCM esta localizado fisicamente ) com o site code 101 ramal 1000, no estado de São Paulo código de área 11, possui o numero externo de (11) 1111-XXXX, onde XXXX representa sua faixa DDR.
Usuário no site B com o site code 102 ramal 1000, no estado de São Paulo código de área 11, possui o numero externo de (11) 2222-XXXX, onde XXXX representa sua faixa DDR.
Usuário no site C com o site code 103 ramal 1000, no estado de Rio de Janeiro código de área 21, possui o numero externo de (21) 3333-XXXX, onde XXXX representa sua faixa DDR.

Meu cliente pediu que, quando um usuário do site A ou C discasse para o site B o numero 2222-1000 (ou 0 + OPERADORA + 11 2222-1000 no caso para o site C no Rio de Janeiro) a chamada fosse traduzida para 102 1000, assim utilizando seu link WAN, diminuindo seu gasto com chamadas externas PSTN para a mesma empresa. E assim para os demais sites, ou seja, todos que fossem discados para chamadas externas pertencendo a sites diferentes, porém de mesma empresa seriam traduzidos para seus números internos de site code + ramal.
Até ai muito fácil e simples, porém o complicado estava por vir, que quando a chamada já traduzida estiver com o link WAN down e o telefone naquela unidade estiver em sobrevivência pabx limitado com o SRST ? Pois bem, utilizaremos o CFUR, uma feature bem “novinha” no Cisco Unified Communication Manager, eu acredito que entrou na versão 7.1. Até ai, ainda continua fácil, o maior desafio é que o que colocar no campo do CFUR ?
Pois se colocarmos redirecionarmos dos telefones do site B para 0(para pegar linha) + 22221000, os telefones do site A conseguirão fazer perfeitamente pois são do mesmo código de área (São Paulo 11) porém e as chamadas do site C que são de outro código de área (21 do Rio de Janeiro) ? se os usuários do Rio de Janeiro discarem para 0 (linha) + 2222-1000 poderá ser uma empresa ou residência do próprio Rio de Janeiro.

Foi ai que pensei em utilizar o globalization no CFUR, que isso deixaria a chamada em estilo “globalizado” e seria “localizado” em apenas no voice gateway de saída.

OBS: Ok, ok, podem existir outras maneiras de fazer como traduções nos gateways, utilizando AAR e o administrador manualmente altera o location na hora da queda para realizar o rerouting (sim, eu já vi isso!!!) , porém acredito eu que esta seja a melhor maneira, pois mantem as configurações centralizadas e mais fácil para expansão.

Continuando… depois de resolver o problema do CFUR com globalization, está na hora de vermos o lado oposto, que seria quando o site B esta em sobrevivência local, ou seja, sem conectividade ramal para ramal, mesmo assim consiga com transparência, continuar com esta fazendo ramal para ramal só que com utilizando a PSTN local, para isso usamos o num-exp.

Bem, depois de toda essa explicação, vamos as configurações e ao resultado.

 

Configuração

Passo 1 – Crie uma Calling Seach Space e uma partition para sua regra de globalização e associe a partição na CSS. Em meu exemplo, criei com o nome CSS_GLOBAL e PRT_GLOBAL

clip_image001

Passo 2 – Cria uma Route Pattern para a regra globalizada utilizando a partição PRT_GLOBAL

clip_image003

Faz-se necessário utilizar \ (barra) para entender que o sinal de + é padrão E.164.

Passo 3 – Adicionar na linha do usuário seu numero globalizado para que seja possível os outros sites realizarem chamadas via PSTN enquanto o site permanecer fora. Lembrando que é necessário preencher da seguinte forma + 55 CODIGO DE AREA + PREFIXO + XXXX, onde:

– +55 padrão E.164 e código do Brasil

– CODIGO DE AREA é código do estado, em nosso exemplo do site B é São Paulo 11

– PREFIXO da unidade, em nosso exemplo do site B é 2222

– XXXX é a mascará do ramal do usuário de 4 dígitos, caso o usuário tenha 5 ou mais dígitos em seu ramal, neste exemplo usará os 4 últimos dígitos.

Também não se esqueça de adicionar a CSS_GLOBAL que criamos no passo 1

clip_image005

Passo 4 – Criar uma Calling Search Space e partition para cada gateway de saída.

Aqui fica o seu critério como criar, pois pode se basear por código de área da unidade ou mesmo pelo numero de unidades que possuir, fica sua decisão.

Como assim? – Eu criei uma CSS e partição para cada voice gateway, pois assim tenho um controle melhor e restrinjo possíveis erros, mas não acredito que seja necessário, pode criar baseado pelo código de área da localidade, um exemplo, ao invés de criar 3 CSS e PRT no meu cenário de 3 sites, você criaria 2, porque o site A e B pertencem ao mesmo código de área (11 São Paulo).

Não se esqueça de associar a PRT criada no CSS. Em meu exemplo configurei CSS_<UNIDADE>_GATEWAY_SAIDA e PRT_<UNIDADE>_GATEWAY_SAIDA.

clip_image006

Passo 5 – Configurar o Called Party Transformation Pattern localizado na Aba Call Routing > Transformation > Transformation Pattern, para traduzir o numero quando o mesmo chegar no gateway de voz, basicamente aqui criei duas regras, uma para seu código de área (meu exemplo sendo o 11)outra para todas:

clip_image008

clip_image010

Passo 6 – Adicione a CSS_<unidade>_GATEWAY_SAIDA na opção Called Party Transformation CSS do device gateway e desmarque a opção “Use Device Pool Called Party Transformation CSS”.

clip_image011

Não esquece de salvar realizar um reset no device gateway.

Passo 7 – Acesse via CLI seu voice gateway e adicione todas as regras de tradução, exemplo:

– Se você estiver configurando o roteador do site B, deverá incluir as configurações para tradução do site A e C exatamente desta maneira:

#configure terminal
#num-exp 101…. 01111….
#num-exp 103…. 00213333….

Após esta configuração, será possível de um telefone IP em sobrevivência local realizar chamadas para suas unidades via PSTN.

Infelizmente, no gateway temos que adicionar todas as regras manualmente, uma a uma com o num-exp e ainda devemos nos atentar á utilização de chamadas locais ou DDD. A vantagem de se utilizar num-exp de outros métodos de tradução é que num-exp podemos utilizar até 255 entradas, enquanto o voice translation podemos utilizar até 15.

 

Duvidas?

Por favor, qualquer duvida, postem abaixo que teremos o prazer em responder.
Abraços.

Anúncios

2 Respostas to “Utilizando Call Forward Unregistered para sobrevivência e conceitos de Globalização”

  1. Henrique said

    Não da para fazer o Passo 7 com dial-peers utilizando o destination-pattern, prefix e apontando a porta de saída?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: