[AsteriskBrasil] AGI - Shell Script

Jefaokpta jefaokpta em hotmail.com
Quarta Maio 30 08:51:38 BRT 2012


Amigo dá uma olhada aki:
http://bandodedados.com.br/?p=112

Espero q ajude.

Falows

Em 29/05/2012, às 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