terça-feira, 15 de maio de 2012

CME Class of Restrictions

Um assunto que sempre me deu um pouco de nó na cabeça é a restrição de chamadas no CME. No CUCM estamos mais acostumados (pelo menos eu). Criamos as partitions e atribuímos às rotas para bloqueá-las; criamos as Calling Search Spaces e atribuimos aos devices para dar permissão.
Agora chega no CME e é "totalmente" diferente... tem as cor customs, cor lists, aplicamos como incoming em alguns lugares, outgoing em outros... uma zona! As explicações nas documentações da Cisco dizem que um ramal vai conseguir acesso a uma dial-peer caso o corlist do ramal seja um superconjunto (lembram disso?) da corlist da dial-peer. Não muito didático, né?

Bom, mas se pararmos para analisar, no CUCM também o ramal só vai conseguir ver uma pattern caso a sua Calling Search Space contenha a partition da rota. Ou seja, a CSS é um superconjunto do conjunto de partitions atribuídos a uma pattern. A diferença é o conjunto de partitions atribuído a uma pattern é formado por uma única partition. O que podemos concluir disso é que uma analogia entre Partitions/CSS do CUCM com Cor Lists do CME é totalmente plausível.

No CME, aplicamos os cor lists nas dial-peers (lembrando que quando criamos um ephone-dn, na realidade estamos criando uma dial-peer virtual para aquele ramal). E as cor lists possuem direção: incoming e outgoing. É só se colocar no lugar do roteador... quando a chamada vem de um ramal, ela é incoming. E quando sai para uma rota, ela é outgoing. Então geralmente aplicamos como incoming no ephone-dn (dial-peer de entrada) e como outgoing na pots dial-peer de saída.
No lado incoming, é o ephone-dn querendo fazer uma chamada. Então podemos considerar a cor list incoming como uma Calling Search Space.
E no lado outgoing, é a rota se bloqueando ou não para um ramal. Então podemos considerar a cor list outgoing como uma Partition.
Pronto, montamos a nossa analogia com o CUCM.
Obs: Essa não é a analogia/explicação que a Cisco usa nas documentações! Essa aqui é um pouco diferente e eu bolei de forma que eu pudesse lembrar melhor... se você nunca viu isso antes, sugiro ler as documentações da Cisco antes para ver como eles tratam oficialmente o assunto.

Bom, vamos ver um exemplo:

Digamos que tenho dois ramais criados no CME: ephone-dn 1 e ephone-dn 2. O 1 vai ter acesso a chamadas locais, e o 2 vai ter acesso a chamadas locais, DDD e DDI. Como podemos fazer isso?

1. Declarando a cor custom
Primeiramente precisamos declarar a nossa lista de cor custom. A Cisco faz uma analogia dessa lista com as Partitions, mas eu prefiro não encarar elas dessa forma. Basicamente aqui vamos definir algumas nomenclaturas para identificar cada tipo de chamada que queremos bloquear ou liberar. No caso, local, DDD e DDI.
dial-peer cor custom
 name local
 name DDD
 name DDI

2. Criando a cor list de saída
Agora vamos criar as cor lists. Vou separar em duas etapas: as cor list de entrada e as cor list de saída. Mas em termos de comando, é a mesma coisa. Vou separar apenas para ficar mais fácil de entender. As nossas cor lists de saída funcionarão como Partitions, pois elas que vão bloquear ou liberar a rota para um ramal.
dial-peer cor list PT-Local
 member local

dial-peer cor list PT-DDD
 member DDD

dial-peer cor list PT-DDI
 member DDI

Dentro de uma cor list, eu posso colocar vários members, como veremos adiante. Porém, para as cor list de saída, vamos deixar 1 member só. Lembra que eu falei que no CUCM "o conjunto de partitions atribuído uma pattern é formado por uma única partition". Então, é a mesma coisa... o conjunto de members atribuído a uma cor list de saída é formado por um único member.

3. Criando a cor list de entrada
E agora vamos criar as cor list de entrada, que serão as nossas "Calling Search Spaces". No CUCM a CSS só vê a rota quando a partition da rota estiver dentro da CSS, certo? Aqui é a mesma coisa. A cor list de entrada só vai ver a cor list de saída quando o member da cor list de saída estiver dentro da cor list de entrada. Portanto:

dial-peer cor list CSS-Local
 member local

dial-peer cor list CSS-DDD
 member local
 member DDD

dial-peer cor list CSS-DDI
 member local
 member DDD
 member DDI

Veja que por enquanto apenas criamos as cor lists. Não há nada ainda diferenciando elas entre uma cor list de entrada e uma cor list de saída, exceto pela nomenclatura.

4. Aplicando na dial-peer de saída
Agora que temos tudo criado, vamos aplicar nas dial-peers. Primeiramente nas de saída.
O que faremos a seguir será como se estivéssemos atribuindo uma Partition a uma rota, como no CUCM.

dial-peer voice 1 pots
 description *** Chamadas de Emergencia ***
 destination-pattern 019.
 port 0/0/0:15
 forward-digits 3

dial-peer voice 10 pots
 description *** Chamadas Locais ***
 destination-pattern 0[2-9].......
 port 0/0/0:15
 corlist outgoing PT-Local

dial-peer voice 11 pots
 description *** Chamadas DDD ***
 destination-pattern 0[0][^0][^0][^0][^0][2-9].......
 port 0/0/0:15
 corlist outgoing PT-DDD

dial-peer voice 12 pots
 description *** Chamadas DDI ***
 destination-pattern 0[0][0]T
 port 0/0/0:15
 corlist outgoing PT-DDI

Repare que a dial-peer de chamadas de emergência não possui corlist. Logo, ela não é bloqueada.

4. Aplicando na dial-peer de entrada
Agora vamos aplicar nas dial-peers de entrada. No caso, nos ephones-dn.
O que faremos a seguir será como se estivéssemos atribuindo uma Calling Search Space a um ramal.

ephone-dn 1 dual-line
 number 1000
 corlist incoming CSS-Local

ephone-dn 2 dual-line
 number 1001
 corlist incoming CSS-DDI

ephone-dn 3 dual-line
 number 1002

E agora esse ephone-dn 3 que num tem nenhuma corlist associada? Pois é... isso é diferente do CUCM. Quando não há nenhuma corlist na dial-peer de entrada, ela por padrão tem tudo liberado. Logo, esse phone conseguiria fazer Local, DDD e DDI! Para bloquear esse ramal, poderíamos criar uma  cor list de entrada vazia e aplicar ao ephone:
dial-peer cor list CSS-Block

ephone-dn 3
 corlist incoming CSS-Block

Outro exemplo
E se quisermos fazer o ephone-dn 4 não conseguir ligar internamente para o ephone-dn 5? Aí poderiamos fazer assim:

dial-peer cor custom
 name ephone5

dial-peer cor list PT-Ephone5
 member ephone5

dial-peer cor list CSS-Ephone4

ephone-dn 4 dual-line
 number 1004
 corlist incoming CSS-Ephone4

ephone-dn 5 dual-line
 number 1005
 corlist outgoing PT-Ephone5

Ou seja, em algumas situações, a sua dial-peer de saída pode não ser uma pots para a PSTN. Assim como a sua dial-peer de entrada não precisa ser sempre um ephone-dn. Tudo vai depender dos seus requisitos.
Denovo, para saber quando é incoming e quando é outgoing, coloque-se sempre no lugar do roteador. No exemplo acima era uma chamada vinda do ephone-dn 4 para o ephone-dn 5. Logo, o 4 é incoming e o 5 é outgoing.

Nenhum comentário:

Postar um comentário