Error AMI con Socket PHP

698 views
Skip to first unread message

Elvyn Bolges (ESCulapio)

unread,
Feb 21, 2011, 10:53:46 AM2/21/11
to asterisk-es
Hola Tod@s

Estoy presentando este error cuando intento conectarme con php al AMI,
aunque por el momento lo solucione abriendo la conexión via un script
por bash, luego de realizar prueba con telnet y que todo funcionara,
publico el post por si alguien tiene alguna sugerencia y/o le pasa
algo como esto:

El error.
ERROR[4777]: utils.c:1177 ast_careful_fwrite: fwrite() returned error:
Broken pipe


El Codigo, Aunque hay veces que funciona
<?php
$timeout = 10;
$asteriskip = "127.0.0.1";

$fb1 = fsockopen($asteriskip", "5038", $errno, $errstr, $timeout);
fputs($fb1, "Action: Login\r\n");
fputs($fb1, "Username: admin\r\n");
fputs($fb1, "Secret: admin\r\n\r\n");
fputs($fb1, "Action: Command\r\n");
fputs($fb1, "Command: Core reload\r\n\r\n");
fputs($fb1, "Action: Logoff\r\n\r\n");

$ws=fgets($fb1,128);
fclose($fb1);

$socket = fsockopen($asteriskip,"5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: admin\r\n");
fputs($socket, "Secret: admin\r\n\r\n");
fputs($socket, "Action: Originate\r\n" );
fputs($socket, "Channel: SIP/2001\r\n" );
fputs($socket, "Exten: 2000\r\n" );
fputs($socket, "Callerid: User <2000>\r\n");
fputs($socket, "Timeout: 15000\r\n" );
fputs($socket, "Context: usuarios\r\n" );
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "Async: yes\r\n\r\n" );
fputs($socket, "Action: Logoff\r\n\r\n");
$wrets=fgets($socket,128);

fclose($socket);

Un saludo y gracias de antemanos

Raúl García

unread,
Feb 21, 2011, 10:56:57 AM2/21/11
to aster...@googlegroups.com


Le has especificado en la conexion AMI  que sea :

Read y Write ??

 read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
 
--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)

Entra ahora en el canal de irc de Asterisk-ES para charlar en directo sobre VoIP y
Asterisk: http://www.asterisk-es.org/

~~~~~ Normas de la lista Asterisk-ES: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Para anular la suscripción: asterisk-es...@googlegroups.com



--
Caerse tiene una logica, levantarse una razón.
Raúl García.
Dios Te bendiga.
              _ __________________________
             /  ||___|___Love______________|
  ,___/""|""||___|_________Linux______|
 || __|""|""||___|____________________|
*(@)***(@)(@)*|)""""""""""'(@)''(@)])"


Elvyn Bolges (ESCulapio)

unread,
Feb 21, 2011, 12:32:46 PM2/21/11
to asterisk-es
Claro, por tales razone indique que hice prueba con telnet y todo bien
que incluso lo tenia funcionando pero con bash no con php.

On Feb 21, 11:56 am, Raúl García <eddr...@gmail.com> wrote:
> El 21 de febrero de 2011 11:53, Elvyn Bolges (ESCulapio)
> <ebol...@gmail.com>escribió:
> >http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asteris...
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > - Para anular la suscripción: asterisk-es...@googlegroups.com
>
> --
> Caerse tiene una logica, levantarse una razón.
> Raúl García.
> Dios Te bendiga.
>               _ __________________________
> *             /  ||___|___Love______________|
>   ,___/""|""||___|_________Linux______|
>  || __|""|""||___|____________________|
> *(@)***(@)(@)*|)""""""""""'(@)''(@)])"
> *

Jose Luis Gomez

unread,
Feb 21, 2011, 2:04:57 PM2/21/11
to aster...@googlegroups.com
Hola.
Te recomiendo que hagas un sleep de 1 o 2 segundos luego de cada acción, porque por ahi no le das tiempo al AMI (o lee el retorno de cada acción).
Saludos.


--
José Luis Gómez
www.qualis.com.ar

Elvyn Bolges (ESCulapio)

unread,
Feb 22, 2011, 8:30:49 AM2/22/11
to asterisk-es
Joder, simplemente era ponerle un temporizador, no pensé en eso
gracias. pero lo estrano del caso es que antes funcionaba sin el
temporizador.

todo funcionaba con la version que tenia de asterisk 1.4 cuando migre
a la 8 me encuentro con el problema y esa fue la solución que me llego
a la cabeza "conectarme al ami desde un script de bash llamado desde
la web con php" ya que todas las pruebas funcionaban a la primera.

ahora quito los script de bash ya que era la forma que tenia para
conectarme al ami.

On Feb 21, 3:04 pm, Jose Luis Gomez <jos...@gmail.com> wrote:
> Hola.
> Te recomiendo que hagas un sleep de 1 o 2 segundos luego de cada acción,
> porque por ahi no le das tiempo al AMI (o lee el retorno de cada acción).
> Saludos.
>
> --
> José Luis Gómezwww.qualis.com.ar
>
> El 21 de febrero de 2011 14:32, Elvyn Bolges (ESCulapio)
> <ebol...@gmail.com>escribió:

Fernando Villares

unread,
Feb 22, 2011, 4:20:00 PM2/22/11
to aster...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages