[AsteriskBrasil] AGI - Shell Script
Deivison Moraes
moraesdeivison em gmail.com
Terça Maio 29 22:48:54 BRT 2012
Boa noite !
Eu tenho um AGI parecido com o que você necessita porem em PHP, alguma
preferência por usar shell script ?
Mandei há um tempo atrás um tópico relacionado a AGI + PHP, tomei uns
"tocos" mas consegui aprender mais ou menos. O meu eu uso para consulta
de portabilidade, junto ao serviço da telein, está funcionando muito
bem. Se quiser posso postar aqui.
Em 29-05-2012 22:13, Carlos Eduardo B. Rovaris escreveu:
> Boa noite,
>
>
> Gostaria de saber se alguém tem AGI em desenvolvida em Shell Script que
> poderia me auxiliar em alguns pontos que estou com dificuldades de resolver.
>
>
> Segue minha configuração:
>
> ->>>> Extensions.conf
>
> exten => 500,1,agi(2test.sh)
> exten => 500,n,NoOP(${consulta})
>
> ############################################################
>
> ->>>> Script Shell:
>
> #!/bin/bash
>
> numero=48xxxxxxxx
>
> consulta= ## procedimento de consulta do valor armazenado na variavel
> numero ##
>
> echo "SET VARIABLE consulta $consulta "
>
> ############################################################
>
> ->>>> Debug Asterisk console:
>
> Verbosity is at least 20
> == Using SIP RTP CoS mark 5
> -- Executing [500 em external:1] AGI("SIP/1600-00000038", "2test.sh")
> in new stack
> -- Launched AGI Script /var/lib/asterisk/agi-bin/2test.sh
> <SIP/1600-00000038>AGI Tx>> agi_request: 2test.sh
> <SIP/1600-00000038>AGI Tx>> agi_channel: SIP/1600-00000038
> <SIP/1600-00000038>AGI Tx>> agi_language: en
> <SIP/1600-00000038>AGI Tx>> agi_type: SIP
> <SIP/1600-00000038>AGI Tx>> agi_uniqueid: 1338338846.56
> <SIP/1600-00000038>AGI Tx>> agi_version: 1.8.12.0
> <SIP/1600-00000038>AGI Tx>> agi_callerid: 1600
> <SIP/1600-00000038>AGI Tx>> agi_calleridname: CEBR2
> <SIP/1600-00000038>AGI Tx>> agi_callingpres: 0
> <SIP/1600-00000038>AGI Tx>> agi_callingani2: 0
> <SIP/1600-00000038>AGI Tx>> agi_callington: 0
> <SIP/1600-00000038>AGI Tx>> agi_callingtns: 0
> <SIP/1600-00000038>AGI Tx>> agi_dnid: 500
> <SIP/1600-00000038>AGI Tx>> agi_rdnis: unknown
> <SIP/1600-00000038>AGI Tx>> agi_context: external
> <SIP/1600-00000038>AGI Tx>> agi_extension: 500
> <SIP/1600-00000038>AGI Tx>> agi_priority: 1
> <SIP/1600-00000038>AGI Tx>> agi_enhanced: 0.0
> <SIP/1600-00000038>AGI Tx>> agi_accountcode:
> <SIP/1600-00000038>AGI Tx>> agi_threadid: 1095186752
> <SIP/1600-00000038>AGI Tx>>
> <SIP/1600-00000038>AGI Rx<< SET VARIABLE consulta 5
> <SIP/1600-00000038>AGI Tx>> 200 result=1
> [May 30 04:47:28] ERROR[14217]: utils.c:1164 ast_carefulwrite: write()
> returned error: Broken pipe
> --<SIP/1600-00000038>AGI Script 2test.sh completed, returning 0
> -- Executing [500 em external:2] NoOp("SIP/1600-00000038", "5") in new
> stack
> -- Auto fallthrough, channel 'SIP/1600-00000038' status is 'UNKNOWN'
> server*CLI>
>
> ############################################################
>
> Basicamente o que estou precisando resolver:
> - como armazenar o valor da "agi_extension" na variavel "numero" do
> Shell Script ?
>
> - Como faço para encaminhar a chamada de acordo com o valor de retorno
> da AGI ?
>
> ex: No exemplo do log, disquei 500, e através da AGI retornou o valor "5".
>
> Assim gostaria de fazer:
>
> Caso o valor seja "4", encaminha para Trunk1
> Caso o valor seja "5", encaminha para Trunk2
> Caso o valor seja "6", encaminha para Trunk3
>
>
> Agradeço toda e qualquer ajuda.
>
> _______________________________________________
> KHOMP Inovação: External Board Series
> Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.
> Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
> _______________________________________________
> DIGIVOICE Fabricante de Placas de Voz e Channel Bank
> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
> Centro Treinamento - Curso de PABX IP - Asterisk - Site www.digivoice.com.br
> ________
> YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.
> email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
> ______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
Mais detalhes sobre a lista de discussão AsteriskBrasil