Pessoal (Daviramos),
No e-mail anexo, Daviramos demonstrou uma possibilidade de executar por
include, uma funcao que a interface web nao contemplasse. Otimo.
Fiz meus testes conforme o exemplo, mas fiquei na duvida sobre a sequencia
desses comandos.
Minha duvida pode ser simples, boba, pode ate ter sido discutida aqui por
outros angulos, mas ainda me considero um iniciante e preciso da ajuda de voces.
Explico melhor, adotando o proprio exemplo que foi passado, segue:
#extensions_additional.conf
[ivr-3]
include => ivr-3-custom
include => from-did-direct-ivr
include => app-directory
exten => #,1,dbDel(${BLKVM_OVERRIDE})
exten => #,n,Set(__NODEST=)
exten => #,n,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(MSG=custom/no_expediente)
exten => s,n,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,ExecIf($["${MSG}" != ""],Background,${MSG})
exten => s,n,WaitExten(,)
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Goto(ext-queues,4001,1)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(ext-queues,4002,1)
exten => 3,1,dbDel(${BLKVM_OVERRIDE})
exten => 3,n,Set(__NODEST=)
exten => 3,n,Goto(ivr-8,s,1)
exten => 4,1,dbDel(${BLKVM_OVERRIDE})
exten => 4,n,Set(__NODEST=)
exten => 4,n,Goto(ext-queues,4005,1)
exten => 9,1,dbDel(${BLKVM_OVERRIDE})
exten => 9,n,Set(__NODEST=)
exten => 9,n,Goto(ext-queues,4003,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(ivr-3,s,begin)
exten => return,1,Set(MSG=custom/no_expediente)
exten => return,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(ivr-3,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)
; end of [ivr-3]
#extensions_custom.conf
[ivr-3-custom]
exten => 5,1,Answer()
exten => 5,n,NoOp(FUNCIONOU)
exten => 5,n,Hangup
Se entendi bem, mesmo o include "ivr-3-custom" estando no inicio de "IVR-3",
este include faz a mencao do item 'exten => 5,xxxxxxx', que me parece entrar
entre as linhas 'exten => 4,n,Goto(ext-queues,4005,1)' e 'exten =>
9,1,dbDel(${BLKVM_OVERRIDE})', estou certo?
Agora, a duvida que tenho e a seguinte:
Se tenho o seguinte "IVR-10"
[ivr-10]
include => ivr-10-custom
include => from-did-direct-ivr
include => app-directory
exten => #,1,dbDel(${BLKVM_OVERRIDE})
exten => #,n,Set(__NODEST=)
exten => #,n,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=10)
exten =>
s,n,Background(custom/ura-pt/ramal&custom/ura-pt/marketing&custom/ura-pt/farmacia&custom/ura-pt/laboratorio&custom/ura-pt/sistemas&custom/ura-pt/cobranca)
exten => s,n,WaitExten(,)
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Goto(from-did-direct,10,1)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(ext-group,333,1)
exten => 3,1,dbDel(${BLKVM_OVERRIDE})
exten => 3,n,Set(__NODEST=)
exten => 3,n,Goto(ext-group,335,1)
exten => 4,1,dbDel(${BLKVM_OVERRIDE})
exten => 4,n,Set(__NODEST=)
exten => 4,n,Goto(ext-group,334,1)
exten => 5,1,dbDel(${BLKVM_OVERRIDE})
exten => 5,n,Set(__NODEST=)
exten => 5,n,Goto(ext-group,330,1)
exten => 6,1,dbDel(${BLKVM_OVERRIDE})
exten => 6,n,Set(__NODEST=)
exten => 6,n,Goto(ext-group,331,1)
exten => 7,1,dbDel(${BLKVM_OVERRIDE})
exten => 7,n,Set(__NODEST=)
exten => 7,n,Goto(from-did-direct,52,1)
exten => i,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => i,n,ExecIf($[${LOOPCOUNT} <= 2],Playback,invalid)
exten => i,n,GotoIf($[${LOOPCOUNT} <= 2]?s,begin)
exten => i,n,dbDel(${BLKVM_OVERRIDE})
exten => i,n,Set(__NODEST=)
exten => i,n,Goto(app-blackhole,hangup,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(ivr-10,s,begin)
exten => return,1,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(ivr-10,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)
; end of [ivr-10]
.... E se eu quero deixar em um "custom" o menu de opcoes de discagem ["exten
=>
s,n,Background(custom/ura-pt/ramal&custom/ura-pt/marketing&custom/ura-pt/farmacia&custom/ura-pt/laboratorio&custom/ura-pt/sistemas&custom/ura-pt/cobranca)"],
posso deixar somente essa linha no meu custom ou tenho que deixar todas as
linhas "s,n," ? Se tiver que deixar todas as linhas "s,n,", como posso saber
que serao executas na sequencia desejada?
Muitissimo obrigado,
Juda Benhur.
--- Begin Message ---
Já foi respondido anteriormente.
Pequeno exemplo:
#extensions_additional.conf
[ivr-3]
include => ivr-3-custom
include => from-did-direct-ivr
include => app-directory
exten => #,1,dbDel(${BLKVM_OVERRIDE})
exten => #,n,Set(__NODEST=)
exten => #,n,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(MSG=custom/no_expediente)
exten => s,n,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,ExecIf($["${MSG}" != ""],Background,${MSG})
exten => s,n,WaitExten(,)
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Goto(ext-queues,4001,1)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(__NODEST=)
exten => 2,n,Goto(ext-queues,4002,1)
exten => 3,1,dbDel(${BLKVM_OVERRIDE})
exten => 3,n,Set(__NODEST=)
exten => 3,n,Goto(ivr-8,s,1)
exten => 4,1,dbDel(${BLKVM_OVERRIDE})
exten => 4,n,Set(__NODEST=)
exten => 4,n,Goto(ext-queues,4005,1)
exten => 9,1,dbDel(${BLKVM_OVERRIDE})
exten => 9,n,Set(__NODEST=)
exten => 9,n,Goto(ext-queues,4003,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(ivr-3,s,begin)
exten => return,1,Set(MSG=custom/no_expediente)
exten => return,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT_${CONTEXT}})
exten => return,n,Goto(ivr-3,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)
; end of [ivr-3]
Se quero alguma detalhe que a Interface WEB não me oferece, crio em
extensions_custom.conf o include que está na primeira linha do meu diaplan
ivr-3-custom
#extensions_custom.conf
[ivr-3-custom]
exten => 5,1,Answer()
exten => 5,n,NoOp(FUNCIONOU)
exten => 5,n,Hangup
2009/7/30 Juda BenHur <[email protected]>
> Pessoal,
>
> Me desculpem.
>
> Talvez não tenha conseguido explicar corretamente.
>
> O arquivo em questão do exemplo (extensions_additional.conf), tem uma linha
> informando que não deveriamos alterá-lo, pois é utilizado pela interface do
> FreePBX.
>
> No entando, a interface gráfica infelizmente não contempla algumas
> facilidades que permita que possamos customizar ainda mais as
> configuraçãoes.
>
> Se editar o arquivo e carrega-lo novamente pela linha de comando do
> asterisk, tudo bem, ele passa a funcionar perfeitamente, mas se você
> alterar
> posteriormente alguma coisa pela interface gráfica, ele vai considerar a
> versão anterior à alteração que foi efetuada pela edição direta do arquivo.
>
> Pode parecer teimosia ou insistência, mas como citei, há alterações que
> infelizmente a interface gráfica não contempla e, editando diretamente o
> arquivo, tudo fica mais fácil.
>
> Como podemos resolver essa situação?
>
> Um abraço
>
> Juda Benhur
>
> ----- Original Message -----
> From: "Rodrigo Vian" <[email protected]>
> To: <[email protected]>
> Sent: Thursday, July 30, 2009 8:30 PM
> Subject: Re: [AsteriskBrasil] Asterisk X FreePBX
>
>
> Isso é perfeitamente normal Juda...
> Os arquivos que podem ser alterados em linha de comando são estes:
>
> SIP
> sip_custom.conf
> sip_custom_post.conf
> sip_general_custom.conf
> sip_nat.conf
> sip_registrations_custom.conf
>
> IAX
> iax_custom.conf
> iax_custom_post.conf
> iax_general_custom.conf
> iax_registrations_custom.conf
>
> EXTENSION
> extensions_custom.conf
>
> OBS: Caso não exista esses arquivos no diretório de configuração do
> asterisk, poderá criá-los sem problema... Verifique também que nos
> arquivos sip.conf, iax.conf e extensions.conf há chamadas para outros
> arquivos de configuração.
>
> Abraço!
>
>
> Juda BenHur escreveu:
> > Pessoal,
> >
> >
> > Tenho o servidor Asterisk. 1.4, instalado a partir do CD Centos
> (FreePBX).
> >
> > Há algum tempo atrás, encaminhei essa questão eobtive apenas uma única
> > resposta, dizendo que eu deveria utilizar os arquivos "custom.conf" .
> >
> > Hoje, voltei a deparar com esse mesmo problema e, pesquisando os tais
> > arquivos "custom.conf", fiquei mais confuso ainda. Não consegui
> > identificar
> > onde os arquivos "custom.conf" guardam as configurações, quando é
> > executado
> > o comando 'reload' pela interface gráfica.
> >
> >
> > Bem, tenho a seguinte situacao, com duas cenas:
> >
> > 1a cena:
> > - Realizar alteracao diretamente nos arquivos, carregando as novas
> > configuracoes pelo console do Asterisk ( CLI> ), apos o "reload", as
> > alteracoes passam a funcionar;
> >
> > 2a cena:
> > - Realizar alteracao pela interface grafica. Apos alterar e ao realizar
> > alguma outra alteracao pela interface grafica, e clicar em "Apply
> > Configuration Changes", o conteudo do arquivo alterado, nao contempla as
> > alteracoes realizadas anteriormente, conforme a 1a cena.
> >
> >
> > Na prática, usando o meu cenário como exemplo, eu altero o arquivo
> > "extensions_additional.conf" onde tenho as configurações de grupos,
> filas,
> > ivr e, via linha de comando no asterisk, executo "extensions reload".
> > Contudo, ao realizar alguma alteração (exemplo, criar um novo ramal) pela
> > interface gráfica do FreePBX, as configurações no mesmo arquivo que
> > alterei
> > ("extensions_additional.conf"), retornam como se não tivesse sido
> > realizado
> > nenhuma alteração pela linha de comando.
> >
> > Alguem ja passou por isso?
> >
> > Como resolver essa situacao, haja visto que algumas alteracoes sao mais
> > rapidas e mais simples quando realizadas diretamente no arquivo ???
> >
> >
> >
> > Grato pela ajuda!
> >
> > Juda Benhur.
> >
> > _______________________________________________
> > Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
> > rodando o Android da Google.
> > http://www.neodroid.com
> >
> > Compre uma camiseta da AsteriskBrasil.org!
> > http://www.voipmania.com.br
> >
> > Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
> > rede Freenode.net: #asterisk-br
> > _______________________________________________
> > Lista de discussões AsteriskBrasil.org
> > [email protected]
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> >
> > _______________________________________________
> > Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
> > rodando o Android da Google.
> > http://www.neodroid.com
> >
> > Compre uma camiseta da AsteriskBrasil.org!
> > http://www.voipmania.com.br
> >
> > Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
> > rede Freenode.net: #asterisk-br
> > _______________________________________________
> > Lista de discussões AsteriskBrasil.org
> > [email protected]
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> >
>
>
>
> Rodrigo S. Vian
> Analista TI
> Porttal Tecnologia
> Soluções em TI & Telecom
> http://www.porttaltecnologia.com.br
> phone:55+19+3542-9667
> mobile:55+19+7808-5121
> nextel:55*89*25546
>
> |-- Antes de Imprimir, pense em sua responsabilidade com o Meio Ambiente
> --|
> _______________________________________________
> Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
> rodando o Android da Google.
> http://www.neodroid.com
>
> Compre uma camiseta da AsteriskBrasil.org!
> http://www.voipmania.com.br
>
> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
> rede Freenode.net: #asterisk-br
> _______________________________________________
> Lista de discussões AsteriskBrasil.org
> [email protected]
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
> _______________________________________________
> Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
> rodando o Android da Google.
> http://www.neodroid.com
>
> Compre uma camiseta da AsteriskBrasil.org!
> http://www.voipmania.com.br
>
> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
> rede Freenode.net: #asterisk-br
> _______________________________________________
> Lista de discussões AsteriskBrasil.org
> [email protected]
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
--
Atenciosamente
Daviramos Roussenq Fortunato
_______________________________________________
Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
rodando o Android da Google.
http://www.neodroid.com
Compre uma camiseta da AsteriskBrasil.org!
http://www.voipmania.com.br
Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede
Freenode.net: #asterisk-br
_______________________________________________
Lista de discussões AsteriskBrasil.org
[email protected]
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
--- End Message ---
_______________________________________________
Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.
VoIP, Asterisk e Convergência de Redes.
http://www.encontrovoipcenter.com.br
Compre uma camiseta da AsteriskBrasil.org!
http://www.voipmania.com.br
Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede
Freenode.net: #asterisk-br
_______________________________________________
Lista de discussões AsteriskBrasil.org
[email protected]
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil