Re: [AsteriskBrasil] AGI - Shell Script
Eu faria algo como: No extensions.conf exten = _XXX,1,AGI(teste.agi, ${EXTEN}) exten = _XXX,n,GotoIF($[${OPERADORA}=LINK1]?discaLINK1) exten = _XXX,n,GotoIF($[${OPERADORA}=LINK2]?discaLINK2) exten = _XXX,n(discaLINK1),Dial(${LINK1}/${EXTEN},60,) exten = _XXX,n(discaLINK2),Dial(${LINK2}/${EXTEN},60,) exten = _XXX,n,HangUp ././././././././. teste.agi #!/bin/bash # Trata o numero de entrada com a variavel shell $1 e como valor de retorno # Se a resposta for pro link1 coloca: /bin/echo SET VARIABLE OPERADORA LINK1 # Se a resposta for pro link2 coloca: /bin/echo SET VARIABLE OPERADORA LINK2 ././././././././. Espero que tenha ajudado, José Alexandre Ferreira dCAP 1880 http://voipforall.com.br 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=48 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@external:1] AGI(SIP/1600-0038, 2test.sh) in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/2test.sh SIP/1600-0038AGI Tx agi_request: 2test.sh SIP/1600-0038AGI Tx agi_channel: SIP/1600-0038 SIP/1600-0038AGI Tx agi_language: en SIP/1600-0038AGI Tx agi_type: SIP SIP/1600-0038AGI Tx agi_uniqueid: 1338338846.56 SIP/1600-0038AGI Tx agi_version: 1.8.12.0 SIP/1600-0038AGI Tx agi_callerid: 1600 SIP/1600-0038AGI Tx agi_calleridname: CEBR2 SIP/1600-0038AGI Tx agi_callingpres: 0 SIP/1600-0038AGI Tx agi_callingani2: 0 SIP/1600-0038AGI Tx agi_callington: 0 SIP/1600-0038AGI Tx agi_callingtns: 0 SIP/1600-0038AGI Tx agi_dnid: 500 SIP/1600-0038AGI Tx agi_rdnis: unknown SIP/1600-0038AGI Tx agi_context: external SIP/1600-0038AGI Tx agi_extension: 500 SIP/1600-0038AGI Tx agi_priority: 1 SIP/1600-0038AGI Tx agi_enhanced: 0.0 SIP/1600-0038AGI Tx agi_accountcode: SIP/1600-0038AGI Tx agi_threadid: 1095186752 SIP/1600-0038AGI Tx SIP/1600-0038AGI Rx SET VARIABLE consulta 5 SIP/1600-0038AGI Tx 200 result=1 [May 30 04:47:28] ERROR[14217]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe --SIP/1600-0038AGI Script 2test.sh completed, returning 0 -- Executing [500@external:2] NoOp(SIP/1600-0038, 5) in new stack -- Auto fallthrough, channel 'SIP/1600-0038' 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ 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
Re: [AsteriskBrasil] AGI - Shell Script
Ta ai amigo. Bom, pelo que eu fiz de testes, o serviço da telein da uma facilidade enorme pra gente, (e bem menas linhas no extensions.conf rsrs), me parece ser muito bom, mas ainda estou no inicio do uso. No meu caso, para um ramal discar pelo algoritmo de escolha da telein ele digita 1+numero (para local) e 1+DDD+numero para interurbano. qualquer duvida estou a disposição ! []'s #!/usr/bin/php -q ?php //Agi feito para integração com a Telein //Inserir em /var/lib/asterisk/agi-bin require_once ('phpagi.php'); $agi = new AGI(); $agi-verbose(CALLER ID: . $agi-request[agi_callerid]); $callerid = $agi-request[agi_callerid]; $agi-verbose(EXTENSION: . $agi-request[agi_extension]); $extension = $agi-request[agi_extension]; //Identificar se extenção está sem o DDD caso esteja insira e remove o digito de tom de linha (0) //Plano de discagem (1) $ChecarNUM = substr($extension, 1); if (strlen($ChecarNUM) == 8 ) { //Trocar pelo ddd local onde é 33 $Number = 33$ChecarNUM; } else { if ($DDD[0] == 0) { $Number = substr($ChecarNUM, 1); } else { $Number = $ChecarNUM ; }; }; $consulta = exec(php /var/lib/asterisk/agi-bin/consulta.php $Number); $NUM = explode('#', $consulta); //Exemplos de funcionamento // $agi-exec(NoOp, Teste variavel $consulta); // $agi-exec(NoOp, testando variavel num $NUM[1]); // $agi-exec(NoOp, testando variavel num $NUM[0]); //$agi-exec(Dial, SIP/faleok/$consulta); //Plano de discagem via AGI consultas direto na Telein /* $VIVO = 20; $TELEMIG = 23; $TIM = 41; $CLARO = 21; $FIXO = 98; $NAOENCONTRADO = 99; */ switch ($NUM[0]) { case '20': $agi-verbose(Numero TELEMIG/VIVO: . $NUM[1]); $agi-exec(Dial, IAX2/trunk-iax/0$NUM[1],300,Tt); break; case '23': $agi-verbose(Numero VIVO: . $NUM[1]); $agi-exec(Dial, IAX2/trunk-iax/0$NUM[1],300,Tt); break; case '41': $agi-verbose(Numero TIM: . $NUM[1]); $agi-exec(Dial, IAX2/trunk-iax/0$NUM[1],300,Tt); break; case '21': $agi-verbose(Numero CLARO: . $NUM[1]); $agi-exec(Dial, IAX2/trunk-iax/0$NUM[1],300,Tt); $agi-exec(Dial, SIP/tronco/029$NUM[1],300,Tt); break; case '98': $agi-verbose(Numero FIXO: . $NUM[1]); $agi-exec(Dial, SIP/tronco/029$NUM[1],300,Tt); break; //default: //$agi-verbose(Numero Disconhecido: . $NUM[1]); //$agi-exec(Dial, SIP/tronco/$NUM[1],Tt); //Codico caso não se encaixe em nehum acima //break; } $agi-verbose(Numero digitado: . $consulta); //$agi-hangup(); exit(); Em 29-05-2012 23:08, Alberto Andrade escreveu: Posta aí Deivison! Aliás, o que você diz do serviço da Telein? -- Alberto Andrade Sent with Sparrow http://www.sparrowmailapp.com/?sig On Tuesday, 29 de May de 2012 at 22:48, Deivison Moraes wrote: 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 http://2test.sh) exten = 500,n,NoOP(${consulta}) - Script Shell: #!/bin/bash numero=48 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@external:1] AGI(SIP/1600-0038, 2test.sh http://2test.sh) in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/2test.sh http://2test.sh SIP/1600-0038AGI Tx agi_request: 2test.sh http://2test.sh SIP/1600-0038AGI Tx agi_channel: SIP/1600-0038 SIP/1600-0038AGI Tx agi_language: en SIP/1600-0038AGI Tx agi_type: SIP SIP/1600-0038AGI Tx agi_uniqueid: 1338338846.56 SIP/1600-0038AGI Tx agi_version: 1.8.12.0 SIP/1600-0038AGI Tx agi_callerid: 1600 SIP/1600-0038AGI Tx agi_calleridname: CEBR2 SIP/1600-0038AGI Tx agi_callingpres: 0 SIP/1600-0038AGI Tx agi_callingani2: 0 SIP/1600-0038AGI Tx agi_callington: 0 SIP/1600-0038AGI Tx agi_callingtns: 0 SIP/1600-0038AGI Tx agi_dnid: 500 SIP/1600-0038AGI Tx agi_rdnis: unknown SIP/1600-0038AGI Tx agi_context: external SIP/1600-0038AGI Tx agi_extension: 500 SIP/1600-0038AGI Tx agi_priority: 1 SIP/1600-0038AGI Tx agi_enhanced: 0.0
Re: [AsteriskBrasil] AGI - Shell Script
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=48 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@external:1] AGI(SIP/1600-0038, 2test.sh) in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/2test.sh SIP/1600-0038AGI Tx agi_request: 2test.sh SIP/1600-0038AGI Tx agi_channel: SIP/1600-0038 SIP/1600-0038AGI Tx agi_language: en SIP/1600-0038AGI Tx agi_type: SIP SIP/1600-0038AGI Tx agi_uniqueid: 1338338846.56 SIP/1600-0038AGI Tx agi_version: 1.8.12.0 SIP/1600-0038AGI Tx agi_callerid: 1600 SIP/1600-0038AGI Tx agi_calleridname: CEBR2 SIP/1600-0038AGI Tx agi_callingpres: 0 SIP/1600-0038AGI Tx agi_callingani2: 0 SIP/1600-0038AGI Tx agi_callington: 0 SIP/1600-0038AGI Tx agi_callingtns: 0 SIP/1600-0038AGI Tx agi_dnid: 500 SIP/1600-0038AGI Tx agi_rdnis: unknown SIP/1600-0038AGI Tx agi_context: external SIP/1600-0038AGI Tx agi_extension: 500 SIP/1600-0038AGI Tx agi_priority: 1 SIP/1600-0038AGI Tx agi_enhanced: 0.0 SIP/1600-0038AGI Tx agi_accountcode: SIP/1600-0038AGI Tx agi_threadid: 1095186752 SIP/1600-0038AGI Tx SIP/1600-0038AGI Rx SET VARIABLE consulta 5 SIP/1600-0038AGI Tx 200 result=1 [May 30 04:47:28] ERROR[14217]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe -- SIP/1600-0038AGI Script 2test.sh completed, returning 0 -- Executing [500@external:2] NoOp(SIP/1600-0038, 5) in new stack -- Auto fallthrough, channel 'SIP/1600-0038' 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
Re: [AsteriskBrasil] AGI - Shell Script
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=48 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@external:1] AGI(SIP/1600-0038, 2test.sh) in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/2test.sh SIP/1600-0038AGI Tx agi_request: 2test.sh SIP/1600-0038AGI Tx agi_channel: SIP/1600-0038 SIP/1600-0038AGI Tx agi_language: en SIP/1600-0038AGI Tx agi_type: SIP SIP/1600-0038AGI Tx agi_uniqueid: 1338338846.56 SIP/1600-0038AGI Tx agi_version: 1.8.12.0 SIP/1600-0038AGI Tx agi_callerid: 1600 SIP/1600-0038AGI Tx agi_calleridname: CEBR2 SIP/1600-0038AGI Tx agi_callingpres: 0 SIP/1600-0038AGI Tx agi_callingani2: 0 SIP/1600-0038AGI Tx agi_callington: 0 SIP/1600-0038AGI Tx agi_callingtns: 0 SIP/1600-0038AGI Tx agi_dnid: 500 SIP/1600-0038AGI Tx agi_rdnis: unknown SIP/1600-0038AGI Tx agi_context: external SIP/1600-0038AGI Tx agi_extension: 500 SIP/1600-0038AGI Tx agi_priority: 1 SIP/1600-0038AGI Tx agi_enhanced: 0.0 SIP/1600-0038AGI Tx agi_accountcode: SIP/1600-0038AGI Tx agi_threadid: 1095186752 SIP/1600-0038AGI Tx SIP/1600-0038AGI Rx SET VARIABLE consulta 5 SIP/1600-0038AGI Tx 200 result=1 [May 30 04:47:28] ERROR[14217]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe --SIP/1600-0038AGI Script 2test.sh completed, returning 0 -- Executing [500@external:2] NoOp(SIP/1600-0038, 5) in new stack -- Auto fallthrough, channel 'SIP/1600-0038' 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
Re: [AsteriskBrasil] AGI - Shell Script
Deivison, Estou tentando desenvolver em Shell Script, pois tenho mais facilidade de trabalhar com ele do que o PHP. Se puderes, posta sua AGI, assim dou uma olhada e tento seguir a mesma linha para implementar em shell. Obg. Em 29/05/2012 22:48, Deivison Moraes escreveu: 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=48 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@external:1] AGI(SIP/1600-0038, 2test.sh) in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/2test.sh SIP/1600-0038AGI Tx agi_request: 2test.sh SIP/1600-0038AGI Tx agi_channel: SIP/1600-0038 SIP/1600-0038AGI Tx agi_language: en SIP/1600-0038AGI Tx agi_type: SIP SIP/1600-0038AGI Tx agi_uniqueid: 1338338846.56 SIP/1600-0038AGI Tx agi_version: 1.8.12.0 SIP/1600-0038AGI Tx agi_callerid: 1600 SIP/1600-0038AGI Tx agi_calleridname: CEBR2 SIP/1600-0038AGI Tx agi_callingpres: 0 SIP/1600-0038AGI Tx agi_callingani2: 0 SIP/1600-0038AGI Tx agi_callington: 0 SIP/1600-0038AGI Tx agi_callingtns: 0 SIP/1600-0038AGI Tx agi_dnid: 500 SIP/1600-0038AGI Tx agi_rdnis: unknown SIP/1600-0038AGI Tx agi_context: external SIP/1600-0038AGI Tx agi_extension: 500 SIP/1600-0038AGI Tx agi_priority: 1 SIP/1600-0038AGI Tx agi_enhanced: 0.0 SIP/1600-0038AGI Tx agi_accountcode: SIP/1600-0038AGI Tx agi_threadid: 1095186752 SIP/1600-0038AGI Tx SIP/1600-0038AGI Rx SET VARIABLE consulta 5 SIP/1600-0038AGI Tx 200 result=1 [May 30 04:47:28] ERROR[14217]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe --SIP/1600-0038AGI Script 2test.sh completed, returning 0 -- Executing [500@external:2] NoOp(SIP/1600-0038, 5) in new stack -- Auto fallthrough, channel 'SIP/1600-0038' 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org ___ 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: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
Re: [AsteriskBrasil] AGI - Shell Script
Posta aí Deivison! Aliás, o que você diz do serviço da Telein? -- Alberto Andrade Sent with Sparrow (http://www.sparrowmailapp.com/?sig) On Tuesday, 29 de May de 2012 at 22:48, Deivison Moraes wrote: 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 (http://2test.sh)) exten = 500,n,NoOP(${consulta}) - Script Shell: #!/bin/bash numero=48 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@external:1] AGI(SIP/1600-0038, 2test.sh (http://2test.sh)) in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/2test.sh (http://2test.sh) SIP/1600-0038AGI Tx agi_request: 2test.sh (http://2test.sh) SIP/1600-0038AGI Tx agi_channel: SIP/1600-0038 SIP/1600-0038AGI Tx agi_language: en SIP/1600-0038AGI Tx agi_type: SIP SIP/1600-0038AGI Tx agi_uniqueid: 1338338846.56 SIP/1600-0038AGI Tx agi_version: 1.8.12.0 SIP/1600-0038AGI Tx agi_callerid: 1600 SIP/1600-0038AGI Tx agi_calleridname: CEBR2 SIP/1600-0038AGI Tx agi_callingpres: 0 SIP/1600-0038AGI Tx agi_callingani2: 0 SIP/1600-0038AGI Tx agi_callington: 0 SIP/1600-0038AGI Tx agi_callingtns: 0 SIP/1600-0038AGI Tx agi_dnid: 500 SIP/1600-0038AGI Tx agi_rdnis: unknown SIP/1600-0038AGI Tx agi_context: external SIP/1600-0038AGI Tx agi_extension: 500 SIP/1600-0038AGI Tx agi_priority: 1 SIP/1600-0038AGI Tx agi_enhanced: 0.0 SIP/1600-0038AGI Tx agi_accountcode: SIP/1600-0038AGI Tx agi_threadid: 1095186752 SIP/1600-0038AGI Tx SIP/1600-0038AGI Rx SET VARIABLE consulta 5 SIP/1600-0038AGI Tx 200 result=1 [May 30 04:47:28] ERROR[14217]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe --SIP/1600-0038AGI Script 2test.sh (http://2test.sh) completed, returning 0 -- Executing [500@external:2] NoOp(SIP/1600-0038, 5) in new stack -- Auto fallthrough, channel 'SIP/1600-0038' 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 (http://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 (http://www.digivoice.com.br) YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado. email: yeal...@commlogik.com.br | www.commlogik.com.br (http://www.commlogik.com.br) | (11) 5503-1011 __ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org (mailto:asteriskbrasil-unsubscr...@listas.asteriskbrasil.org) ___ 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 (http://www.khomp.com) ___ DIGIVOICE Fabricante de Placas de Voz e Channel Bank 20 anos de experiência com E1(R2/ISDN), FXS, FXO