- pteng – “Para portugues pressione um, para ingles pressione dois”
- ptmenu – “Para efetuar um teste de echo pressione 1, para ouvir a musica de espera pressione 2 ou para falar com o escritório de vendas pressione 3”
- engmenu – “for echo test press 1, for music on hold press 2, for sales office press 3”
Copiar os arquivos no diretório /var/lib/asterisk/sounds/custom e construir a URA.
vi /etc/asterisk/URA
[URA]
exten => s,1,Wait(1) ;aguarda 1 segundo
exten => s,2,Set(CHANNEL(language)=pt_BR) ; configura como idioma default o idioma Portugues-Brasil
exten => s,3,Set(TIMEOUT(digit)=7) ; 7 segundos é o tempo que se espera entre um digito e outro
exten => s,4,Set(TIMEOUT(response)=10) ; espera 10 seg para o chamador pressionar alguma tecla
exten => s,5,BackGround(custom/pteng) ; toca o arquivo gravado e espera digitos
exten => s,6,WaitExten() ; espera o chamador pressionar alguma tecla
exten => 1,1,goto(URA1,s,1) ; se pressionado a tecla 1 vai para o contexto URA1, extensão s, prioridade 1
exten => 2,1,goto(URA2,s,1) ; se pressionado a tecla 2 vai para o contexto URA2, extensão s, prioridade 1
exten => i,1,Playback(invalid) ; se a tecla pressionada não é valida (nem 1 nem 2) toca uma mensagem de erro
exten => i,2,Playback(goodbye) ; mensagem de despedida
exten => i,3,Hangup ; finaliza a chamada
exten => t,1,goto(URA,s,2) ; não discou nada em 10 seg direciona para o inicio da URA
exten => h,1,Hangup ; se o chamador desliga a chamada ela vai para essa extensão e finaliza a chamada
[URA1]
exten => s,1,Set(TIMEOUT(digit)=7) ;
exten => s,2,Set(TIMEOUT(response)=10)
exten => s,3,Set(CHANNEL(language)=pt_BR) ;
exten => s,4,BackGround(custom/engmenu) ; toca menu em portugues
exten => s,5,WaitExten() ;
exten => 1,1,Playback(demo-echotest) ; pressionado 1 efetua-se um teste de echo
exten => 1,2,Echo()
exten => 2,1,MusicOnHold ; pressionado 2 toca a musica de espera
exten => 3,1,Playback(pls-wait-connect-call) ; pressionado 3 transfere para o consultor no ramal interno 2000
exten => 3,2,Dial(SIP/2000,45,r)
exten => i,1,Playback(invalid)
exten => i,2,Playback(goodbye)
exten => i,3,hangup
exten => t,1,goto(URA1,s,1)
exten => h,1,Hangup
[URA2] ; igual a anterior mas em ingles
exten => s,1,Set(TIMEOUT(digit)=7)
exten => s,2,Set(TIMEOUT(response)=10)
exten => s,3,Set(CHANNEL(language)=en)
exten => s,4,BackGround(custom/engmenu)
exten => s,5,WaitExten()
exten => 1,1,Playback(demo-echotest)
exten => 1,2,Echo()
exten => 2,1,MusicOnHold
exten => 3,1,Playback(pls-wait-connect-call)
exten => 3,2,Dial(SIP/2000,45,r)
exten => i,1,Playback(invalid)
exten => i,2,Playback(goodbye)
exten => i,3,hangup
exten => t,1,goto(URA2,s,1)
exten => h,1,Hangup
Devemos incluir esse arquivo em nosso dialplan:
vi /etc/asterisk/extensions.conf
Se queremos que todas as chamadas externas sejam enviadas para URA devemos definir o contexto:
[from-PSTN]
exten => s,1,Answer
exten => s,n,Wait(1)
exten => s,n,Goto(URA,s,1)
e no final do arquivo fazemos um include da URA:
#include “URA”
Salve as mudanças e entre no console asterisk:
asterisk -rvvv
CLI> dialplan reload
Claramente este é um exemplo do que pode ser feito com uma URA, temos diversas possibilidades:
- Uma URA que gerencia as filas de atendimento conforme o setor escolhido (Departamento Comercial, Departamento Financeiro, Suporte Técnico e etc.)
- Uma URA que permita digitar diretamente um ramal interno ou se o chamador não digitar nada transferir para a recepcionista.
Fonte: http://mestreasterisk.com.br/artigos-mestre-asterisk/criacao-de-ura-parte-2/
Da mesma maneira que o parte1 o parte 2 foi totalmente replicado em meu blog para consultas e referências.
Nenhum comentário:
Postar um comentário