domingo, 17 de junho de 2012

To: Called Number (Gateways H323)

Um post bem específico hoje. Quando o usuário faz uma chamada para a PSTN roteando via um gateway H.323, o telefone originador pode exibir o número discado de diversas formas uma vez que a chamada é completada.
Por exemplo, digamos que eu tenha um ramal em Boston e faça uma chamada para NY via TEHO. O usuário em Boston discará 9 1 212 394-1111, e a chamada sairá como uma chamada local pelo gateway de NY, enviando para a PSTN os dígitos 3941111.
Quando o usuário faz essa chamada, o phone dele pode exibir o número discado de várias formas, por exemplo:
To: 912123941111
To: 3941111
To: 12123941111
To: *9988776655#3941111 
To: 911
Ou qualquer outro jeito que você quiser!

A regra é sempre fazer a manipulação necessária para o roteamento da chamada dentro da Route List, e usar a Route Pattern para alterar a forma de exibição do número discado no telefone. Mas antes deveremos desabilitar um supplementary-service no gateway (veremos a seguir).
Então por exemplo, eu vou criar no gateway a dial-peer:

dial-peer voice 3 pots
 destination-pattern 9T
 port 0/0/0:23

E no Call Manager a route pattern 91212.394XXXX. Agora vamos às nossas situações:

1. Por padrão, tanto faz se você configurar a regra de Discard-Digits na Route Pattern ou na Route List. O gateway sempre vai atualizar o CID de acordo com a dial-peer. Então no telefone do usuário vai aparecer To: 93941111.

2. Se no gateway eu criar uma voice translation-rule e aplicar na dial-peer, a regra refleirá no CID exibido no telefone. Por exemplo, se eu criar uma regra para tirar o 9:

voice translation-rule 1
 rule 1 /^9\(.*\)/ /\1/
!
voice translation-profile Strip9
 translate called 1
!
dial-peer voice 3 pots
 translation-profile outgoing Strip9
 destination-pattern 9T
 port 0/0/0:23

O número exibido no telefone será: To: 3941111.
Isso porque novamente o gateway está atualizando o número de acordo a dial-peer. Para desativar esse comportamento, faça:

voice service voip
 no supplementary-service h225-notify cid-update

Por isso que no Brasil, quando criamos uma dial-peer de DDD incluindo a operadora (15, 21, 23, ...) via translation, o telefone atualiza o número discado incluindo o número da operadora que foi modificado no gateway. Desativando esse serviço, o gateway não mais atualizará o CID.

3. Agora sim, com o cid-update desabilitado, se eu configurar na Route List um Discard-Digits Pre-Dot, Prefix 9. E na Route Pattern não configurar nada, o telefone não vai alterar a forma como o número é exibido, e mostrará To: 91213941111 (da mesma forma que o usuário discou)

4. Se eu configurar na Route Pattern um Discard-Digits Pre-Dot, Prefix 9. E na Route List não configurar nada, o telefone vai alterar a forma como o número é exibido (de acordo com a regra da Route Pattern), e mostrará: To: 93941111

5. E finalmete, se eu configurar na Route List um DDI Pre-Dot, Prefix 9. E na Route Pattern configurar um DDI Pre-Dot, Prefix *9988776655# o CM vai enviar para o gateway o número de acordo com as regras na Route List (93941111), porém o telefone vai exibir o número formatado de acordo com a regra da Route Pattern, ou seja, To: *9988776655#3941111.

Então se cair na prova alguma questão pedindo para mudar a forma como o número é apresentado, sugiro desativar o cid-update do gateway, e fazer todas as regras utilizando a RL para a formatação do número a ser entregue para o gateway, e a RP para a formatação do número que será exibido no telefone.

Nenhum comentário:

Postar um comentário