Cisco CUCM Bloqueio de chamadas por Calling

Transcrição

Cisco CUCM Bloqueio de chamadas por Calling
Cisco CUCM Bloqueio de chamadas por
Calling Party Number (ID):
Tradução por Rogerio Rodrigues
De tempos em tempos, o administrador do Cisco Unified Communications Manager (CUCM) recebe um pedido
para bloquear chamadas de entrada para uma organização com base no
calling party number (CPN). Isto é
comumente conhecido como "lista negra". Historicamente, os administradores podem usar translation profiles
nos dial-peers para atender a essa necessidade. Com o CUCM 8.0 as opções disponíveis para um administrador
foram ampliadas, aproveitando uma nova diretiva de rota nos padrões de tradução.
Background
A abordagem descrita neste blog é focado em filtragem de chamadas com base no CPN como apresentado a
partir da PSTN (via um gateway de voz ou CUBE). Ele não aborda "lista negra" para Cisco Mobility ou outros
casos de uso estação-para-estação ou estações-para-PSTN.
Um caso de uso típico é para bloquear chamadas de marketing, chamadas de recrutamento, ou qualquer outra
chamada, que geralmente é indesejada. A ideia é que o administrador cria uma lista de CPNs que devem ser
bloqueados e qualquer outra coisa é permitido. Verdadeiramente um conceito básico.
Antes de CUCM 8.0, o método mais comum para a lista negra de chamadas de entrada desconhecidas com
base em CPN era aproveitar translation-profiles em um gateway Cisco IOS. Com o lançamento do CUCM 8.0,
não há outra opção criada disponível para os administradores que eu acredito melhorar a sustentabilidade
operacional global.
O Método Translation-Profile
No exemplo acima, a chamada é apresentada ao gateway de voz pela PSTN. O gateway utiliza um translationprofile em uma entrada dial-peer POTS para "testar" o CPN contra uma lista de números "bloqueados". Se o
CPN está na lista de bloqueio, em seguida, a chamada é rejeitada utilizando uma mensagem
administrativamente definida. Se o CPN não está bloqueado, então o gateway de voz continuará processando a
chamada, correspondente a VoIP leg dial-peer, e tudo está bem no mundo.
Um exemplo de configuração de suporte do fluxo de chamadas descrito poderia ser:
!Voice Translation Rule set
voice translation-rule 69
rule 1 reject /^800.*/
rule 2 reject /2025551000/
rule 3 reject /7035551000/
!
!Voice Translation Profile Assignment
voice translation-profile all-blacklist
translate calling 69
!
! Sample POTS Dial-Peer
dial-peer voice 39001 pots
description Ingress From PSTN
incoming called-number 301555....
call-block translation-profile incoming all-blacklist
call-block disconnect-cause incoming call-reject
direct-inward-dial
port 0/0/1:23
forward-digits 10
!
O dial-peer POTS 39001 está tratando o ingresso de chamadas da PSTN e está configurado para verificar os
elementos de informação de configuração de chamada ISDN (IE) contra um translation profile para determinar se
a chamada é permitida. O translation profile "all-blacklist" identifica a translation-rule e o IE que deve ser
avaliado. Especificamente, o IE calling.
A translation-rule "69" define vários padrões que devem ser rejeitados. Ou seja, qualquer número que se inicia
com 800, as chamadas de 2025551000, e chamadas de 7035551000.
O método descrito acima é aplicável apenas às configurações de SIP e H.323. Ele não funciona com MGCP. Um
outro ponto de interesse é que há um limite de 15 regras em translation-rule. Felizmente, eu não superei esse
limite, mas eu suspeito que algumas pessoas sim.
CUCM Rota Next Hop através de Calling Party Number
No CUCM versão 8.0, a Cisco adicionou o recurso Hotline (Hotline Feature). Um elemento de configuração
adicionado para suportar esse recurso é um novo parâmetro nas Translation Patterns. Este novo parâmetro pode
ser utilizado para instruir a rotina de análise de dígitos CUCM para avaliar a chamada através de CPN, ao invés
de called party number (DNIS). Este parâmetro de configuração é chamada "Rota Next Hop através de Calling
Party Number" e pode ser usado para facilitar a "black list" CPNs sem exigir que o administrador use o recurso
de Hotline.
O diagrama a seguir ilustra um exemplo de fluxo de chamadas onde a filtragem CPN é facilitada por esta nova
capacidade.
O fluxo de chamada pode ser descrito como se segue:
1. A operadora PSTN apresenta a chamada para o gateway de voz.
2.
O gateway de voz processa a chamada e, em seguida, retransmite informações de configuração de
chamada para o CUCM.
3. O objeto gateway no CUCM está configurado para usar CL_PSTN-In_CSS, o qual é usado para o passo
inicial de análise de dígitos.
4. A translation pattern na route partition CL_PSTN-In_PT está configurada para capturar qualquer CPN
usando o padrão de dígitos "!"
o
Translation Pattern: !
o
Partition: CL_PSTN-In_PT
o
Calling Search Space: CL_PSTN-Screen_CSS
o
Route Option: Route this pattern
o
Route Option: Urgent Priority
o Route Option: Route Next Hop by Calling Party Number
5. Supondo-se que a CPN está presente, o CUCM continuará a análise de dígitos usando CL_PSTNScreen_CSS.
6. A CL_PSTN-Screen_CSS contém uma partição, CL_PSTN-Screen_PT e esta partition conterá allow and
deny patterns. Aqui que a mágica acontece.
Antes de ir para a forma como queremos alavancar CL_PSTN-Screen_PT, eu quero salientar algo sobre o que
está acontecendo no Passo 4. Eu tentei esta configuração algumas vezes no meu laboratório sem sucesso e eu
percebi duas coisas. Primeiro, eu preciso trabalhar em minhas habilidades de compreensão de leitura. Em
segundo lugar, o termo "Route Next Hop por Calling Party Number" deve ser lido literalmente.
O que está acontecendo aqui é que o pattern "!" em CL_PSTN-In_PT está dizendo a CUCM "avaliar o CPN
contra os patterns na CL_PSTN-Screen_CSS". Originalmente, eu estava tentando adicionar meus padrões de
bloqueio para CL_PSTN-In_PT com o flag "Route Next Hop" e o flag "Block this pattern"" definido no mesmo
padrão. Isso não funciona.
Em vez disso, o que você precisa fazer é criar padrões de tradução em CL_PSTN-Screen_PT que são
configurados como os padrões normais de tradução (ou seja, não marque a opção "Route Next Hop pelo Partido
Número de chamada" opção). O processo de análise de dígitos CUCM vai fazer é tomar o CPN e compará-lo
com o padrão de tradução (s) em CL_PSTN-Screen_PT.
Continuando com nosso exemplo, como você pode ver na figura, definimos os seguintes padrões de tradução
em CL_PSTN-Screen_PT:
Em vez disso, o que você precisa fazer é criar translation patterns em CL_PSTN-Screen_PT que são
configurados como os translation-patterns normais (ou seja, não marque a opção ""Route Next Hop by Calling
Party Number"). O que o processo de análise de dígitos do CUCM vai fazer é pegar o CPN e compará-lo com as
translation-pattern (s) em CL_PSTN-Screen_PT.
Continuando com nosso exemplo, como você pode ver na figura, definimos os seguintes Translation-patterns em
CL_PSTN-Screen_PT:
• "!": Este padrão é essencialmente nosso explícito "allow all" padrão e o flag Route Option "Route this pattern".
Você precisa disto para permitir a configuração de chamada para continuar por patterns que você deseja permitir
completamente.
• Os seguintes patterns são configurados com o flag Route Option "Block this pattern". Assim, as chamadas de
um CPN que corresponde a qualquer um desses patterns é bloqueado:
o "2025551000": jogo padrão específico.
o "800": Qualquer CPN que começa com 1800 ou 800 é correspondido.
Ao bloquear um pattern, o administrador pode selecionar um dos códigos de causa de desconexão para enviar
de volta para a operadora PSTN (via gateway de voz). A seleção de "Call Rejected" pode ser a opção preferida,
pois é o sistema que origina a chamada é automatizado (ou seja, discador preditivo de uma empresa de
marketing), então existe a possibilidade de o sistema atuar na mensagem de informação rejeitada e remover o
DNIS de sua tabela de marcação de destino .
Resumo dos passos de configuração
In my lab, I used the following configuration procedures.
1. Criar partitions:
o
CL_PSTN-In_PT: Esta partition realizará as translations com flag comportamento "Route Next Hop".
o
CL_PSTN-Screen_PT: Esta partição realizará as translations usadas para avaliar o CPN.
2. Criar Calling Search Spaces:
o
CL_PSTN-In_CSS: Esta é a CSS atribuida ao gateway de voz e que contém a CL_PSTN-In_PT.
o
CL_PSTN-Screen_CSS: Esta é a CSS atribuída aos patterns na CL_PSTN-In_PT. Esta CSS contém a
CL_PSTN-Screen_PT.
o
CL_Tenant-Control_CSS: Esta CSS está atribuída aos patterns in CL_PSTN-Screen_PT e contém
partitions que contém DN´s de telefones e outros patterns que faz o roteamento para dispositivos ou
aplicações no cluster CUCM.
3. Atribuir a CL_PSTN-In_CSS para o gateway de voz.
4. Adicione o "Route Next Hop" translation "!" para a CL_PSTN-In_PT. Selecione a CL_PSTN-Screen_CSS,
habilite call routing, and habilite "Route Next Hop by Calling Party Number". NOTE: Você também pode
aplicar calling or called party transformations nesta etapa, conforme necessário.
5. Adicione o "allow all" translation "!" para CL_PSTN-Screen_CSS, habilite call routing, e NÃO habilite "Route
Next Hop by Calling Party Number".
6. Adicione todas "black list" translation. Habilite call blocking, selecione disconnect cause reason, e está pronto
para testar.
Considerações
Eu não sou certo porque a Cisco optou por usar aqui uma abordagem "próxima instrução". Estou certo de que há
uma boa razão e provavelmente está relacionada à forma como o recurso Hotline é projetado para operar. Eu
tentei misturar translations que foram roteadas na called party e translations que tiveram a opção "Route Next
Hop" ativada. Desta maneira, removendo um dos passos prescritos. Isso não funciona como seria de esperar.
Em meus testes, a análise dígitos do CUCM sempre preferiu roteamento por informações de called party se você
misturar patterns na mesma CSS.
Os exemplos de configuração fornecidos assumem que as chamadas que entram no CUCM estão apresentando
um CPN válido. Se as chamadas que entram no sistema são sinalizadas como privado, CPN não é fornecido. O
padrão "!" não vai te ajudar e você pode precisar olhar para isso usando um padrão nulo (em branco), na
CL_PSTN-In_PT e CL_PSTN-Screen_PT. (Eu não testei isso).
Conclusões:
Eu ainda estou trabalhando com a execução da abordagem do CUCM descrita neste blog através de alguns de
nossos cenários de design de produção para fins de validação. Até o momento, a abordagem parece viável para
aqueles que usam MGCP gateways, gostaria de centralizar roteamento de chamada no CUCM, ou superado os
limites com o número de regras que podem ser atribuídos a uma Translation-rule definida no IOS.

Documentos relacionados