[AsteriskBrasil] AMI - PHP

Guilherme Rezende asterisk em guilherme.eti.br
Sexta Fevereiro 1 13:34:43 BRST 2013


Pessoal, uma informação complementar. O script abaixo ja é um feito p/ o 
originate e funciona perfeito no Asterisk 1.4.37. Porém quando pego esse 
mesmo script e coloco em outra máquina c/ asterisk-1.8.10.1 apresenta 
erro no log da console do Asterisk. Não acredito ser php e sim alguma 
mudança p/ série 1.8.

<?


$timeout = 10;
$asterisk_ip = "localhost";

$socket = fsockopen($asterisk_ip,"5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: admin\r\n");
fputs($socket, "Secret: amp111\r\n\r\n");

fputs($socket, "Action: Originate\r\n" );
fputs($socket, "Channel: Dgv/r1/88753541\r\n" );
fputs($socket, "Exten: 8701\r\n" );
fputs($socket, "Context: from-pstn\r\n" );
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "Async: yes\r\n\r\n" );

//fputs($socket, "Action: Command\r\n");
//fputs($socket, "Command: sip show peers\r\n\r\n");

$wrets=fgets($socket,128);
echo $wrets;

?>






> Prezados, estou tendo a necessidade de fazer algumas consultas e
> futuramente usar o originate via AMI.  Inicialmente estou tentando fazer
> apenas algumas consultas, ligações e tal... Porém estou enfrentando
> alguns problemas e que não consigo ver a possível solução, tendo em
> vista que estou usando exemplos extraídos em buscas.  Veja meu script em
> PHP onde tento listar os peers.
>
> <?
>                   $timeout = 10;
>                   $asterisk_ip = "localhost";
>
>                   $socket = fsockopen($asterisk_ip,"5038", $errno,
> $errstr, $timeout);
>                   fputs($socket, "Action: Login\r\n");
>                   fputs($socket, "UserName: admin\r\n");
>                   fputs($socket, "Secret: amp111\r\n\r\n");
>                   $wrets=fgets($socket,128);
>                   echo $wrets;
>                   fputs($socket, "Action: Command\r\n");
>                   fputs($socket, "Command: sip show peers\r\n\r\n");
>
>                   $wrets=fgets($socket,128);
>                   echo $wrets;
> ?>
>
> Quando rodo o script, nada acontece, porém no console apresenta o
> seguinte erro:
>
> pbx-grupocred*CLI>
> [Feb  1 12:48:03]   == Parsing '/etc/asterisk/manager.conf': [Feb  1
> 12:48:03] Found
> [Feb  1 12:48:03]   == Manager 'admin' logged on from 127.0.0.1
> [Feb  1 12:48:03] ERROR[10575]: utils.c:968 ast_carefulwrite: write()
> returned error: Broken pipe
> [Feb  1 12:48:03]   == Manager 'admin' logged off from 127.0.0.1
> pbx-grupocred*CLI>  quit
>
>       Alguuma solução/recomendação?  Alguém possui scripts em php
> funcionando e que posso postar p/ dar uma clareada?
>
> Abs.......
> _______________________________________________
> EBS MODULAR: 3 slots para combinação entre E1, GSM, FXS ou FXO;
> Linha de PORTEIROS IP, abrem até 2 dispositivos com acesso IP remoto;
> Conheça esses e outros LANÇAMENTOS KHOMP em 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
> _______________________________________________
> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>



Mais detalhes sobre a lista de discussão AsteriskBrasil