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

Ricardo Guedes de Carvalho rguedesdecarvalho em gmail.com
Segunda Março 30 16:43:31 BRT 2009


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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20090330/50fdd52f/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil