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

Ricardo Guedes de Carvalho rguedesdecarvalho em gmail.com
Terça Março 31 18:41:40 BRT 2009


então, minha versão é a mais recente de php5-cli
quando chamar o interpretador deve ficar assim #!usr/bin/php5-cli   ?
mesmo assim o erro persiste



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

> Tá certo assim.
>
> Presumo que você tenha o php instalado aí. Talvez tenha que instalar outras
> versões. Se não me engano, a versão que eu tenho e funciona é a cli, que é a
> indicada no voip-info.
>
> # apt-get install php5-cli
>
> Isso deve instalar, e resolver o seu problema.
>
>
>
>
> 2009/3/31 Ricardo Guedes de Carvalho <rguedesdecarvalho em gmail.com>
>
>> perdão, o exer esta assim agora:
>>  $agi->exec("Dial SIP/8000")
>>
>>
>>
>>   2009/3/31 Ricardo Guedes de Carvalho <rguedesdecarvalho em gmail.com>
>>
>>> 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
>>>
>>
>>
>>
>> --
>> 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/20ba0c22/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil