Re: [AsteriskBrasil] AGI - Shell Script

2012-06-03 Por tôpico jaf
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

2012-05-30 Por tôpico Deivison Moraes

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

2012-05-30 Por tôpico Jefaokpta
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

2012-05-29 Por tôpico Deivison Moraes
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

2012-05-29 Por tôpico Carlos Eduardo B. Rovaris
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

2012-05-29 Por tôpico Alberto Andrade
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