Portanto, o funcionamento dessa aplicação se da através de dois scripts, que você pode baixar através do seu CCO no site da Cisco. Esses dois scripts são:
app-b-acd-aa-2.x.x.x.tcl: Faz a parte do Auto Atendimento (AA)
app-b-acd-2.x.x.x.tcl: Faz o tratamento de filas
Dentro do arquivo zip, tem também alguns audios prontos, no formato .au.
Antes de começar a configurar o B-ACD, que é o foco desse post, vamos primeiro criar a dial-peer que será usada para chegar na aplicação, lembrando que podemos chamar uma aplicação apenas nas dial-peers de entrada. No exemplo, criarei uma voip dial-peer com incoming called-number 3000 (dial-peer de entrada) e ao mesmo tempo um destination-pattern 3000 apontando de volta para o roteador (dial-peer de saída). Logo, essa dial-peer serve tanto para entrada quanto para saída. Poderiamos ter criado 2 dial-peers separadas, mas desse jeito fica mais fácil e rápido. O nome aa em service tem que ser o mesmo que o da aplicação AA que configuraremos mais pra frente.
dial-peer voice 3000 voip
service aa
destination-pattern 3000
session-target ipv4:10.10.10.1 # IP do roteador
incoming called-number 3000
dtmf-relay h245-alphanumeric
codec g711ulaw
no vad
E agora vamos configurar os nossos hunt groups no CME. Lembrando que se for ter telefone SIP dentro do hunt, precisamos configurar o voice hunt-group ao invés do ephone-hunt.
ephone-hunt 1 longest-idle # Vendas
pilot 3331
list 3050, 3051, 3052, 3053
timeout 10
ephone-hunt 2 longest-idle # Marketing
pilot 3332
list 3054, 3055, 3056, 3057
timeout 10
voice hunt-group 3 parallel # Suporte
pilot 3333
list 3058, 3059, 3060
timeout 10
Agora sim vamos configurar as aplicações de AA e Queue:
QUEUE
application
service queue flash:app-b-acd-2.1.2.3.tcl # Apontar o diretório corretamente
param number-of-hunt-grps 3 # Max numero de hunt groups que a aplicação suportará (1 a 10)
param queue-len 15 # Tamanho da fila (1 a 30)
param aa-hunt1 3331 # Opção 1 vai para o Hunt 3331
param aa-hunt2 3332 # Opção 2 vai para o Hunt 3332
param aa-hunt3 3333 # Opção 3 vai para o Hunt 3333
AA
application
service aa flash:app-b-acd-aa-2.1.2.3.tcl # Apontar o diretório corretamente
paramspace english location flash: # Define o pacote de linguas e a localização na flash
paramspace english index 1 # Define a categoria do audio para prompts dinamicos. Não usaremos isso no exemplo
paramspace english language en # Define o codigo (en) para os arquivos de audio.
param service-name queue # Faz a associação com a aplicação de fila criada acima (queue)
param handoff-string aa # Especifica o nome do serviço AA para informar o serviço de fila
param aa-pilot 3000 # Declara o número do piloto (mesmo da dial-peer)
param welcome-prompt _bacd_welcome.au # Prompt de Welcome
param menu-timeout 5 # Em segundos (0 a 10)
param dial-by-extension-option 9 # Habilita o dial-by-extension no menu 9
param max-extension-length 4 # Limita o numero de digitos de um ramal
param number-of-hunt-grps 3
param queue-overflow-extension 3999 # Se a fila estiver cheia, desvia para o 3999
param second-greeting-time 45 # Depois de 45 segundos, toca o prompt _bacd_allagentbusy.au
param call-retry-timer 10 # Quantos segundos a chamada espera para tentar conectar a um hunt ou alternate number
param max-time-call-retry 90 # Quanto tempo vai esperar na fila
param max-time-vm-retry 2 # Quantas vezes a chamada vai tentar chegar no Alternate Number
param voice-mail 3999 # Alternate Number. Pode ser um voice mail ou outro ramal
param send-account true # Gera o CDR das chamadas atendidas pelo B-ACD
Resumo do Exemplo: Se alguém ligar no pilot 3000, ouvirá o audio en_bacd_welcome.au. E logo em seguida o en_bacd_option_menu.au (que podemos regravar para ficar compatível com o exemplo). Esse prompt diria: "Pressione 1 para Vendas, 2 para Marketing e 3 para Suporte. Se souber o número do ramal, pressione 9". Se ele pressionar 1, 2 ou 3 e todas as pessoas do grupo estiverem ocupadas (e caso não tenha mais do que 15 pessoas na fila), ele vai tentar conectar a alguém do grupo a cada 10 segundos. Depois de 45 segundos, um novo prompt en_bacd_allagentbusy.au tocará. Se passados 90 segundos e ninguém do grupo atender, a chamada vai ser desviada para o 3999 (param voice-mail). Se o número estiver ocupado, ele vai tentar conectar novamente por 2 vezes. Se não conectar, ele será desconectado e o prompt en_bacd_disconnect.au tocará.
DROP THROUGH
Outra forma de configurarmos o AA é o drop throgh. Nessa configuração, o script não vai dar as opções de menu, e ao invés disso conectará diretamente em um hunt group.
application
service aa flash:app-b-acd-aa-2.1.2.3.tcl
(...)
param number-of-hunt-grps 1 ! -- Tem que ser 1, afinal, teremos apenas 1 hunt
param drop-through-option 1 ! -- Tem que ser o mesmo configurado no aa-huntX na fila
param drop-through-prompt _dt_prompt.au
Obs: Para o B-ACD funcionar, é necessário que o Music on Hold esteja ativo no CME:
telephony-service
moh music-on-hold.au
Nota 10.
ResponderExcluirMas e se eu quiser adicionar um novo grupo? Por exemplo, 4 para falar com o Help Desk?
abraço!
Opa, e aí Henrique!
ResponderExcluirAí você cria um novo parametro na aplicação queue:
param aa-hunt4 XXXX, onde XXXX é o pilot number do Hunt Group do Help Desk, por exemplo.
Abraço,
Bruno
Bruno,
ResponderExcluirAgora que me toquei quem você é haha.
Parabéns pelo CCIE cara !!
Aproveitando...é possível integrar com o CUCM?
Estou tentando aqui, mas não vai. Fica tocando a música eternamente, como se as dial-peers não funcionassem. Se não for possível, existe uma outra solução tão simples para integrar com o CUCM?
Abraço!
E ai cara...
ResponderExcluirNossa, vc sabe quem eu sou???
Eu não tirei o CCIE ainda não... estou estudando para isso, mas ainda não fiz a prova.
Então, com o CUCM num dá não. Essa feature é só pra CME mesmo.
Se tiver usando o CUCM 7, vc consegue fazer algo parecido com o Attendant Console. Mas essa feature não é mais suportada na 8 em diante... uma pena!
Abraço!
Para não ter que decorar os parametros:
ResponderExcluirmore flash:/app-b-acd-aa-2.1.2.3.tcl | inc Required
mostra todos parametros requeridos
more flash:/app-b-acd-aa-2.1.2.3.tcl | inc cfg_avpair
mostra todos parametros possiveis
Obrigado Marcelo!
ExcluirO que recomendo também é na hora da prova abrir o Configuration Guide do B-ACD:
Products >> Voice and Unified Communications >> IP Telephony >> Unified Communications Platform >> Cisco Unified Communications Manager Express >> Configuration Guides >> Cisco Unified CME B-ACD and Tcl Call-Handling Applications
No arquivo, faça uma busca por "Embedded", e vá para o capítulo "Embedded Call-Queue and AA Tcl Scripts: Example".
Lá já tem o script pronto, inclusive com a Dial-Peer, com os principais parâmetros. Aí é só editar no notepad! :)
Bruno Nonogaki, excelente esse post.
ResponderExcluirMuito útil e me ajudou bastante.
Abraços