[AsteriskBrasil] script para realizar ligação no asterisk (AGI)

Ricardo Guedes de Carvalho rguedesdecarvalho em gmail.com
Terça Março 31 12:55:43 BRT 2009


Então Kim, acho que está certinho o script como vc disse. Ele esta assim:


#!usr/bin/php5
<?php
/* discador usando o AGI - PHPAGI */
require 'phpagi.php';
$agi = new AGI();
/* executar ligacao para o numero 8000 */
$agi->exec("Dial".$SIP/8000);
/* executar o hungup */
$agi->hangup();

?>

Porém, o erro de interpretador é o que esta dificultando:

-bash: ./discador.php: usr/bin/php5: bad interpreter: No such file or
directory


2009/3/31 Kim Delevati <kim.delevati em gmail.com>

> Deve ser problema nele... tem que procurar o seu php, no manual no
> voip-info fala mais sobre isso, tem a opção -d também. Busque o php5, pode
> estar em outra pasta.
>
> /* discador usando o AGI - PHPAGI */
>
> O require pode ficar sem o endereço (ou deve), como o phpagi está na mesma
> pasta. Pode ficar só require 'phpagi.php' daí.
>
> Essa linha tem que ser retirada acho, o intepretador tem que ser na
> primeira linha, e o início de código ( <?php) na segunda, sem espaços entre
> eles.
>
>
> Ah, o numero está errado, o $numero seria só pra mostrar como faz, se é um
> numero fixo, pode escrever assim:
>
> $agi->exec("Dial SIP/8000");
>
> Só falei como numa variável numero, caso tu quisesse buscar de algum lugar.
>
> Lembre-se de colocar a opção "pode ser executado como um programa", senão o
> Asterisk não consegue rodar o arquivo.
>
>
> 2009/3/31 Ricardo Guedes de Carvalho <rguedesdecarvalho em gmail.com>
>
>> -bash: ./discador.php: usr/bin/php5: bad interpreter: No such file or
>> directory
>>
>>
>> 2009/3/31 Ricardo Guedes de Carvalho <rguedesdecarvalho em gmail.com>
>>
>>  agora coloquei, mas ta dando erro de bad interpreter
>>>
>>>
>>> 2009/3/31 Alan Bernardes <simpleasb em hotmail.com>
>>>
>>>  Voce declarou o Interpretador????
>>>>
>>>> #!usr/bin/php5
>>>>
>>>>
>>>>
>>>> Alan Bernardes
>>>> simpleasb em hotmail.com
>>>> 55 11 9666-1475
>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------
>>>> Date: Tue, 31 Mar 2009 11:26:04 -0300
>>>> From: rguedesdecarvalho em gmail.com
>>>> To: asteriskbrasil em listas.asteriskbrasil.org
>>>> Subject: Re: [AsteriskBrasil] script para realizar ligação no asterisk
>>>> (AGI)
>>>>
>>>>
>>>> Oi Kim, sou eu de novo, mudei tudo pra pasta /var/lib/asterisk/agi-bin/
>>>>
>>>> lá estão os arquivos phpagi.php e o meu criado discador.php com as
>>>> seguintes linhas de comando:
>>>>
>>>> /* discador usando o AGI - PHPAGI */
>>>> <?php
>>>> require ' /var/lib/asterisk/agi-bin/phpagi.php';
>>>> $agi = new AGI();
>>>> /* executar ligacao para o numero 8000 */
>>>> $agi->exec("Dial".$SIP/8000);
>>>> /* executar o hungup */
>>>> $agi->hangup();
>>>>
>>>> ?>
>>>>
>>>> Porém ainda ao executar ./discador.php   os erros abaixo persistem:
>>>>
>>>> ./discador.php: line 1: /bin: is a directory
>>>> ./discador.php: line 2: ?php: No such file or directory
>>>> ./discador.php: line 4: require: command not found
>>>> ./discador.php: line 6: syntax error near unexpected token `('
>>>> ./discador.php: line 6: `$agi = new AGI(); '
>>>>
>>>> Salva eeeuuu...rs
>>>>
>>>>
>>>> 2009/3/30 Kim Delevati <kim.delevati em gmail.com>
>>>>
>>>> Qualquer coisa só perguntar, desenvolvi várias coisas em AGI aqui.
>>>>
>>>>
>>>> 2009/3/30 Ricardo Guedes de Carvalho <rguedesdecarvalho em gmail.com>
>>>>
>>>> ops, não li tbm esse primeiro, hehe
>>>> vou testar aqui e tentar rodar, valew pela dica, mto obrigado Kim.
>>>> ;)
>>>>
>>>> 2009/3/30 Kim Delevati <kim.delevati em gmail.com>
>>>>
>>>> Ops, respondi no outro, sem ter visto esse antes.
>>>>
>>>> Então, o que você falou é bem simples, depois que você pega o jeito do
>>>> AGI.
>>>>
>>>> http://www.voip-info.org/wiki/view/Asterisk+AGI+php
>>>>
>>>> Aqui basicamente tem tudo, algumas dicas minhas:
>>>>
>>>> Recomendo baixar a classe phpagi:
>>>>
>>>> http://phpagi.sourceforge.net/
>>>>
>>>> Ela torna bem mais fáceis as funções.
>>>>
>>>> Primeiras linhas do Script tem que ser isso:
>>>>
>>>> #!/usr/bin/php5
>>>> <?
>>>> require 'phpagi.php';
>>>> ob_implicit_flush(false);
>>>> set_time_limit(3000);
>>>> $stdin = fopen( 'php://stdin', 'r' );
>>>> $stdout = fopen('php://stdout', 'w');
>>>>
>>>>
>>>>
>>>> Na primeira, tem que modificar, coloque o caminho, e a versão do seu
>>>> php. A segunda é aquilo, lembre-se que não pode ter NENHUM espaço em branco
>>>> entre a primeira e a segunda, só a nova linha mesmo.
>>>> A terceira linha é opcional, caso você queira usar a classe phpagi. Caso
>>>> queira, delete todas as linhas seguintes. Caso não queira, delete só ela.
>>>>
>>>> Após isso, se escolheu usar o phpagi, você declara:
>>>>
>>>> $agi = new AGI();
>>>>
>>>> E faz o dial:
>>>>
>>>> $agi->exec("Dial ".$numero."|op1|op2|opetc");
>>>>
>>>> O número seria que nem um normal de Asterisk, ex
>>>> SIP/02135674670 em servidorvoip, SIP/2001, ZAP/1/05534500940, etc... nas
>>>> ops você pode colocar opções normais do dial, tipo timeoout, etc... qualquer
>>>> coisa.
>>>>
>>>> Depois o hangup:
>>>>
>>>> $agi->hangup();
>>>>
>>>>
>>>>
>>>> Caso seja sem o phpagi, fica mais ou menos assim:
>>>>
>>>>
>>>> fwrite($stdout," exec dial ".$numero."|op1|op2|\n");
>>>> fflush($stdout);
>>>>
>>>>
>>>> Mesma coisa o negócio do numero e ops, mas lembre-se que mandando um
>>>> comando desse jeito, no final da string é OBRIGATÓRIO o uso do \n, se não o
>>>> asterisk se perde.
>>>> Depois o hangup:
>>>>
>>>> fwrite($stdout," exec Hangup \n");
>>>> fflush($stdout);
>>>>
>>>> Só tenho uma ressalva, esse Hangup aí as vezes não funciona direito...
>>>> recomendo usar um exit mesmo.
>>>>
>>>> E pra finalizar, acaba o script:
>>>>
>>>> ?>
>>>>
>>>>
>>>> Era isso, taí um script simples de dial, aí só coloca o numero e liga.
>>>> Caso queira que o numero seja passado pelo Asterisk quando chama o AGI, tem
>>>> que mandar como opção (pode passar várias), ex:
>>>>
>>>> exten->100,1,AGI(dial.php|numero qualquer|timeout)
>>>>
>>>> depois você pega dentro do script, com argv[1], argv[2], etc:
>>>>
>>>> $numero=$argv[1];
>>>> $timeout=$argv[2];
>>>>
>>>> Dá pra pegar muitas variáveis que o Asterisk passa também, e tem um
>>>> comando de pegar variáveis de diaplan. Digamos que as opções são quase
>>>> ilimitadas.
>>>>
>>>>
>>>> Ficou meio extenso, mas taí.
>>>>
>>>>
>>>>
>>>> 2009/3/30 Ricardo Guedes de Carvalho <rguedesdecarvalho em gmail.com>
>>>>
>>>>   Boa tarde pessoal,
>>>>
>>>> Estou com algumas dificuldades ao tentar fazer um script em php o qual
>>>> tem a finalidade de ao executá-lo, uma ligação é feita para um
>>>> determinado número configurado em meu sistema asterisk. Na verdade não
>>>> tenho muito idéia de como seria feito isso, sei que o script interage com
>>>> o sistema através do AGI. Não tenho muita familiaridade com
>>>> desenvolvimento de programa, script,etc. Não sei qual seria a linguagem
>>>> apropriada para esse tipo de script, qual seria mais fácil,etc.
>>>>
>>>> Fico grato com a atenção de quem puder me ajudar.
>>>> No aguardo e ancioso.
>>>>
>>>> Att,
>>>>
>>>> --
>>>> Ricardo Guedes
>>>> Suporte Telefonia Voz sobre IP
>>>> IGNISCOM  (19) 3119-2445
>>>>
>>>> _______________________________________________
>>>> 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
>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>> 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
>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Ricardo Guedes
>>>> Suporte Telefonia Voz sobre IP
>>>> IGNISCOM  (19) 3119-2445
>>>>
>>>> _______________________________________________
>>>> 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
>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>> 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
>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Ricardo Guedes
>>>> Suporte Telefonia Voz sobre IP
>>>> IGNISCOM  (19) 3119-2445
>>>>
>>>>  ------------------------------
>>>> Notícias direto do New York Times, gols do Lance, videocassetadas e
>>>> muitos outros vídeos no MSN Videos! Confira já!<http://video.msn.com/?mkt=pt-br>
>>>>
>>>> _______________________________________________
>>>> 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
>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>
>>>
>>>
>>> --
>>> Ricardo Guedes
>>> Suporte Telefonia Voz sobre IP
>>> IGNISCOM  (19) 3119-2445
>>>
>>
>>
>>
>> --
>> Ricardo Guedes
>> Suporte Telefonia Voz sobre IP
>> IGNISCOM  (19) 3119-2445
>>
>> _______________________________________________
>> 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
>> AsteriskBrasil em listas.asteriskbrasil.org
>> 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
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>



-- 
Ricardo Guedes
Suporte Telefonia Voz sobre IP
IGNISCOM  (19) 3119-2445
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20090331/a5c01c56/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil