Partindo do princípio que você já tenha um tronco de entrada de ligações configurada no seu
Asterisk, vamos dar início no atendimento da ligação prosseguindo até a URA.
Todas estas linhas de comando abaixo devem ser salvas no arquivo:
/etc/asterisk/extensions.conf
Atendimento da ligação:
[did-incoming]
exten => _6100,2,Goto(ivr,s,1)
- O [did-incoming] é o responsável por atender as chamadas entrantes no meu asterisk. Por isso a linha abaixo está atendendo a ligação e transferindo para uma a IVR.
- (exten) podemos verificar que a segunda linha irá atender tudo que chegar com o parâmetro 6100. No meu caso tenho um link de E1 no servidor, e a operadora só me transmite os quarto últimos números do meu número real. Exemplo meu número é 4001-6100, a operadora só me envia que chegou uma ligação para o 6100.
[ivr]
exten => s,1,Answer
exten => s,2,NoOp(Ligação entrou na URA)
exten => s,n,Background(/var/lib/asterisk/sounds/bemvindo_a_empresa_X)
exten => s,n,NoOp(Digite a opção/1-suporte/2-comercial/3-financeiro)
exten => s,n,WaitExten(6)
exten => 1,1,NoOp(Chamada foi para Suporte)
exten => 1,2,Dial(SIP/@104|60)
exten => 2,1,NoOp(Chamada foi para Comercial)
exten => 2,2,Dial(SIP/@105|60)
exten => 3,1,NoOp(Chamada foi para Financeiro)
exten => 3,2,Dial(SIP/@106|60)
exten => t,1,NoOp(Tempo esgotado)
exten => t,2,Dial(SIP/@107|60)
exten => t,3,Hangup
Explicação do blocos:
Bloco - 1:
- s,1,Answer - A ligação entra na ura e é atendida;
- s,2,NoOp(Ligação entrou na URA) - Ele imprime no console do asterisk a mensagem entre parêntesis;
- s,n,Background(/var/lib/asterisk/sounds/bemvindo_a_empresa_X) - ele irá tocar a música que está no caminho indicado;
- exten => s,n,NoOp(Digite a opção/1-suporte/2-comercial/3-financeiro) - Ele imprime no console do asterisk a mensagem entre parêntesis;
- exten => s,n,WaitExten(6) - Aguarda até 6 segundos para a pessoa digitar a opção da URA;
Bloco - 2 / 3 / 4:
- 1,1,NoOp(Chamada foi para Suporte) - Imprime no console do asterisk a mensagem entre parêntesis;
- 1,2,Dial(SIP/@104|60) - Se a pessoa discar a opção correta, no caso 1,2,3; o PABX irá chamar o ramal indicado, neste caso o ramal 104;
- 1,3,Hangup - Desliga a ligação.
Bloco - 5:
exten => t,1,NoOp(Tempo esgotado) - Imprime no console do asterisk a mensagem entre parêntesis;
- exten => t,2,Dial(SIP/@107|60) - Caso passe o tempo e a pessoa não digite nenhuma opção ou se a pessoa digitar uma opção inválida, ele irá transferir para o ramal 107;
- exten => t,3,Hangup - Desliga a ligação.
Pronto, sua URA está montada!!!