[Semi off-topic] Server status "Error" para Asterisk

631 views
Skip to first unread message

Daniel Bareiro

unread,
Feb 26, 2016, 9:00:28 PM2/26/16
to aster...@googlegroups.com
Hola! Espero que estén bien.

Esta consulta tiene que ver en parte con FreePBX. Por eso pongo el tema
como semi off-topic. La consulta la hice inicialmente hace unos días en
el foro oficial de FreePBX, aunque hasta la fecha no tuve respuesta.

Con suerte, alguien en la lista que maneje ambas tecnologías pueda darme
una mano o sugerencia sobre algo para revisar que no haya tenido en cuenta.

La situación es la siguiente. Recientemente actualicé Asterisk. Estaba
usando Certified Asterisk 11.6-cert1 y ahora estoy usando Certified
Asterisk 11.6-cert13. La versión de FreePBX que estoy usando actualmente
es la misma que tenía antes de hacer la actualización: FreePBX 2.11.0.43.

Asterisk parece funcionar sin problemas luego de la actualización. Sin
embargo FreePBX muestra "ERROR" en el Server Status para Asterisk.
Estuve revisando el log en /var/log/asterisk/freepbx.log:

-------------------------------------------------------------------
root@asterisk:/var/log/asterisk# grep CRITICAL freepbx.log
[2016-Feb-21 13:07:42] [CRITICAL] (admin/bootstrap.php:122) - Connection
attmempt to AMI failed
[2016-Feb-21 13:07:50] [CRITICAL] (admin/bootstrap.php:122) - Connection
attmempt to AMI failed
[2016-Feb-21 13:28:44] [CRITICAL] (admin/bootstrap.php:122) - Connection
attmempt to AMI failed
[2016-Feb-21 14:43:24] [CRITICAL] (admin/bootstrap.php:122) - Connection
attmempt to AMI failed
[2016-Feb-21 14:44:03] [CRITICAL] (admin/bootstrap.php:122) - Connection
attmempt to AMI failed
[2016-Feb-21 16:58:31] [CRITICAL] (admin/bootstrap.php:122) - Connection
attmempt to AMI failed
[2016-Feb-21 17:09:14] [CRITICAL] (admin/bootstrap.php:122) - Connection
attmempt to AMI failed
[2016-Feb-21 17:09:16] [CRITICAL] (admin/bootstrap.php:122) - Connection
attmempt to AMI failed
[2016-Feb-21 17:09:21] [CRITICAL] (admin/bootstrap.php:122) - Connection
attmempt to AMI failed
-------------------------------------------------------------------

¿Es posible que este error en el Server Status para Asterisk esté
relacionado a esto?

Lo extraño es que tengo un plugin de Nagios que hace comprobaciones en
el estado de registración de un trunk SIP a través de AMI y este plugin
sigue funcionando sin problemas desde antes que haga la actualización.

¿Alguna idea de a qué puede deberse este inconveniente?


Gracias anticipadas.

Saludos cordiales,
Daniel

signature.asc

Gaston Draque

unread,
Feb 26, 2016, 9:24:34 PM2/26/16
to aster...@googlegroups.com

En el espíritu vienesniano que nos congrega yo digo que más bien es recontra-off-topic, que jamás en mi santa vida he visto ese freepbx.log pero que he tenido una revelación que me punta a que en la line 122 del archivo
admin/bootstrap.php una autenticacion a AMI esta fallando...

Pero solo en el espíritu vienesniano... que sino me cabreada

--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
Normas de la lista Asterisk-ES: http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/asterisk-es.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Carlos Andrés Tapasco Viera

unread,
Feb 26, 2016, 10:19:45 PM2/26/16
to aster...@googlegroups.com
Revisa el archivo /etc/amportal.conf en la línea de autenticación del manager AMPMGRPASS que tengas la pass igual que en /etc/asterisk/manger.conf y en la GUI del FreePBX.

Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Daniel Bareiro

unread,
Feb 26, 2016, 11:02:46 PM2/26/16
to aster...@googlegroups.com
Hola, Carlos y Gastón. Gracias por sus respuestas.

On 27/02/16 00:19, Carlos Andrés Tapasco Viera wrote:

> Revisa el archivo /etc/amportal.conf en la línea de autenticación del
> manager AMPMGRPASS que tengas la pass igual que en
> /etc/asterisk/manger.conf y en la GUI del FreePBX.

Lo siento. Olvidé mencionar esto en el mensaje anterior.

Había revisado la GUI de FreePBX, en Settings->Advanced Settings,
comprobando en la sección "Asterisk Manager" que los valores para los
campos "Asterisk Manager Password" y "Asterisk Manager User" coinciden
con los que se encuentran en /etc/asterisk/manager.conf, siendo el
usuario el que se encuentra entre corchetes y la contraseña la que se
encuentra en "secret =". A su vez, los valores en /etc/amportal.conf
para AMPMGRPASS y AMPMGRUSER coinciden con lo que veo en la GUI de FreePBX.

Es decir, del lado de FreePBX no hice ningún cambio. Solo actualicé el
servidor Asterisk.


Saludos cordiales,
Daniel

signature.asc

Rodrigo Ramírez Norambuena

unread,
Feb 26, 2016, 11:17:20 PM2/26/16
to aster...@googlegroups.com


¿El manager esta corriendo?

netstat -putan | grep 5038

En la cli de Asterisk

module unload manager
module load manager

?

--
Rodrigo Ramírez Norambuena
http://www.rodrigoramirez.com

Daniel Bareiro

unread,
Feb 26, 2016, 11:29:08 PM2/26/16
to aster...@googlegroups.com
Hola, Rodrigo. Gracias por responder.

On 27/02/16 01:17, Rodrigo Ramírez Norambuena wrote:

>>> Revisa el archivo /etc/amportal.conf en la línea de autenticación del
>>> manager AMPMGRPASS que tengas la pass igual que en
>>> /etc/asterisk/manger.conf y en la GUI del FreePBX.

>> Lo siento. Olvidé mencionar esto en el mensaje anterior.
>>
>> Había revisado la GUI de FreePBX, en Settings->Advanced Settings,
>> comprobando en la sección "Asterisk Manager" que los valores para los
>> campos "Asterisk Manager Password" y "Asterisk Manager User" coinciden
>> con los que se encuentran en /etc/asterisk/manager.conf, siendo el
>> usuario el que se encuentra entre corchetes y la contraseña la que se
>> encuentra en "secret =". A su vez, los valores en /etc/amportal.conf
>> para AMPMGRPASS y AMPMGRUSER coinciden con lo que veo en la GUI de FreePBX.
>>
>> Es decir, del lado de FreePBX no hice ningún cambio. Solo actualicé el
>> servidor Asterisk.

> ¿El manager esta corriendo?
>
> netstat -putan | grep 5038

Sí, está corriendo. Justamente, como mencionaba en un mensaje anterior,
tengo localmente un plugin de Nagios que comprueba mediante el Manager
el estado de registración de una troncal SIP. El plugin (script Bash)
estaba funcionando sin problemas antes de la actualización de Asterisk,
y luego de la actualización siguió funcionando sin problemas.

root@asterisk:~# netstat -putan | grep 5038
tcp 0 0 0.0.0.0:5038 0.0.0.0:*
LISTEN 521/asterisk

> En la cli de Asterisk
>
> module unload manager
> module load manager

Esto no me funcionó:

asterisk*CLI> module unload manager
Unable to unload resource manager
Command 'module unload manager' failed.
[2016-02-27 01:25:48] WARNING[2271]: loader.c:550 ast_unload_resource:
Unload failed, 'manager' could not be found
[2016-02-27 01:25:48] WARNING[2271]: loader.c:550 ast_unload_resource:
Unload failed, 'manager' could not be found



Saludos cordiales,
Daniel

signature.asc

Daniel Bareiro

unread,
Feb 27, 2016, 8:24:58 AM2/27/16
to aster...@googlegroups.com


On 27/02/16 01:28, Daniel Bareiro wrote:

>> En la cli de Asterisk
>>
>> module unload manager
>> module load manager

> Esto no me funcionó:
>
> asterisk*CLI> module unload manager
> Unable to unload resource manager
> Command 'module unload manager' failed.
> [2016-02-27 01:25:48] WARNING[2271]: loader.c:550 ast_unload_resource:
> Unload failed, 'manager' could not be found
> [2016-02-27 01:25:48] WARNING[2271]: loader.c:550 ast_unload_resource:
> Unload failed, 'manager' could not be found

Estos son los módulos que tengo de manager:

asterisk*CLI> module show like manager
Module Description
Use Count
cdr_manager.so Asterisk Manager Interface CDR Backend
0
cel_manager.so Asterisk Manager Interface CEL Backend
0
2 modules loaded


¿Necesitaría compilar algún módulo más para la interacción con FreePBX?
signature.asc

Daniel Bareiro

unread,
Feb 27, 2016, 9:58:34 AM2/27/16
to aster...@googlegroups.com
Hola de nuevo.
Para agregar algo más de información, también estoy observando este error:

-----------------------------------------------------------------------------
root@asterisk:/space/www# /var/lib/asterisk/bin/retrieve_conf
found language dir fr for directory, not installed on system, skipping
[FATAL] retreive_conf failed to get engine information and cannot
configure up a softwitch with out it. Error: ERROR-UNABLE-TO-PARSE
-----------------------------------------------------------------------------

¿Puede ser que el error marcado como "FATAL" esté relacionado con el
problema? Este mismo error también lo estoy observando cuando intento
aplicar algún cambio en la GUI de FreePBX.


Gracias anticipadas.

Saludos,
Daniel

signature.asc

Rodrigo Ramírez Norambuena

unread,
Feb 27, 2016, 12:02:46 PM2/27/16
to aster...@googlegroups.com
February 27 2016 10:24 AM, "Daniel Bareiro" <daniel...@gmx.net> wrote:
> On 27/02/16 01:28, Daniel Bareiro wrote:
>
>>> En la cli de Asterisk
>>>
>>> module unload manager
>>> module load manager
>>
>> Esto no me funcionó:
>>

Disculpa, esto no aplica para manager. Un error de mi parte.

Deberías ver si está corriendo y aceptando peticiones.
Con "netstat -putan" podrías verlo.

lo otro es ver mediante "manager show settings" en la CLI de Asterisk


Saludos,

Rodrigo Ramírez Norambuena

unread,
Feb 27, 2016, 12:14:54 PM2/27/16
to aster...@googlegroups.com

No había visto este mensaje :P

Así podrías ignorar el anterior enviado.

Por lo visto el error va por el lado de FreePBX.

Podrías ver lo que hace la línea 128 del archivo admin/bootstrap.php como salió en otro correo.
Tratar de debugear (print a los parametros que ahí existen)

Saludos,

Daniel Guillermo Bareiro

unread,
Feb 27, 2016, 1:43:29 PM2/27/16
to aster...@googlegroups.com
Hola, Rodrigo. Gracias por tu respuesta.

On 27/02/16 14:14, Rodrigo Ramírez Norambuena wrote:

>>> ¿El manager esta corriendo?
>>>
>>> netstat -putan | grep 5038

>> Sí, está corriendo. Justamente, como mencionaba en un mensaje anterior,
>> tengo localmente un plugin de Nagios que comprueba mediante el Manager
>> el estado de registración de una troncal SIP. El plugin (script Bash)
>> estaba funcionando sin problemas antes de la actualización de Asterisk,
>> y luego de la actualización siguió funcionando sin problemas.
>>
>> root@asterisk:~# netstat -putan | grep 5038
>> tcp 0 0 0.0.0.0:5038 0.0.0.0:*
>> LISTEN 521/asterisk

>>> En la cli de Asterisk
>>>
>>> module unload manager
>>> module load manager

>> Esto no me funcionó:
>>
>> asterisk*CLI> module unload manager
>> Unable to unload resource manager
>> Command 'module unload manager' failed.
>> [2016-02-27 01:25:48] WARNING[2271]: loader.c:550 ast_unload_resource:
>> Unload failed, 'manager' could not be found
>> [2016-02-27 01:25:48] WARNING[2271]: loader.c:550 ast_unload_resource:
>> Unload failed, 'manager' could not be found

> No había visto este mensaje :P
>
> Así podrías ignorar el anterior enviado.

No hay problema :-)

> Por lo visto el error va por el lado de FreePBX.
>
> Podrías ver lo que hace la línea 128 del archivo admin/bootstrap.php como salió en otro correo.
> Tratar de debugear (print a los parametros que ahí existen)

Estimo que te referías a la 122 por el error que mencionaba en un mensaje anterior, ¿verdad?

--------------------------------------------------------------------------------------------
[2016-Feb-21 13:07:42] [CRITICAL] (admin/bootstrap.php:122) - Connection attmempt to AMI failed
--------------------------------------------------------------------------------------------

Le había dado un vistazo a esto, y aparentemente es la línea que se escribe en el log
si no puede conectar con el Manager:

--------------------------------------------------------------------------------------------
119 if (!$res = $astman->connect($amp_conf["ASTMANAGERHOST"] . ":" . $amp_conf["ASTMANAGERPORT"], $amp_conf["AMPMGRUSER"] , $amp_conf["AMPMGRPASS"], $bootstrap_set tings['astman_events'])) {
120 // couldn't connect at all
121 unset( $astman );
122 freepbx_log(FPBX_LOG_CRITICAL,"Connection attmempt to AMI failed");
123 } else {
124 $bootstrap_settings['astman_connected'] = true;
125 }
--------------------------------------------------------------------------------------------

Ahora bien, lo que estoy notando es que esa línea de "Connection attmempt to AMI failed"
aparece solo en el momento que hago un "amportal stop" y no cuando hago un "amportal start".
Supongo que es esperable que no pueda conectar al Manager al hacer un "amportal stop", dado
que esto detiene el proceso de Asterisk también.

Esto me hace pensar si la causa del Asterisk Server Status Error en verdad está ligada
a esto o a otra causa, como el error que mencionaba en otro mensaje:

--------------------------------------------------------------------------------------------
root@asterisk:~# /var/lib/asterisk/bin/retrieve_conf --debug
Checking for PEAR Console::Getopt..OK
found language dir fr for directory, not installed on system, skipping
[FATAL] retreive_conf failed to get engine information and cannot configure up a softwitch with out it. Error: ERROR-UNABLE-TO-PARSE
--------------------------------------------------------------------------------------------

Este error "FATAL" también lo veo si intento aplicar algún cambio en la GUI de FreePBX. Por
lo que estuve investigando [1], parece ser que está relacionada con que FreePBX no puede
obtener la versión de Asterisk. Aunque, en la versión de FreePBX que estoy usando no tengo
forma de forzar la versión de Asterisk mediante la GUI como comenta alguien en la referencia
citada. Tal vez esta nueva versión de Asterisk a la que actualicé (Certified Asterisk
11.6-cert13) se está identificando de una manera no reconocible, cosa que no sucedía con la
versión anterior que estaba usando (Certified Asterisk 11.6-cert1).


Saludos cordiales,
Daniel

[1] http://issues.freepbx.org/browse/FREEPBX-9225

Daniel Guillermo Bareiro

unread,
Feb 27, 2016, 1:57:40 PM2/27/16
to aster...@googlegroups.com
> [1] http://issues.freepbx.org/browse/FREEPBX-9225

Algo que me había olvidado de comentar es que en este script parece que la línea que está
fallando es esta:

--------------------------------------------------------------------------------------------
426 $engineinfo = engine_getinfo();
427 if($engineinfo['version'] == 0){
428 fatal(_("retreive_conf failed to get engine information and cannot configure up a softwitch with out it. Error: {$engineinfo['engine']}"),true);
429 }
--------------------------------------------------------------------------------------------

Es decir, está mostrando ese error porque, por alguna razón, la versión está devolviendo
"0", cosa que no sucedía con Certified Asterisk 11.6-cert1, ya que la versión de FreePBX que
usaba con este era la misma.


Saludos cordiales,
Daniel

Phylevn

unread,
Feb 29, 2016, 7:49:59 AM2/29/16
to asterisk-es
Quizá al momento de actualizar borró la información del usuario que usa freepbx para conectarse a Asterisk a través de Asterisk Manager Interface.

Verifica cuál es el usuario y password que usa FreePBX para conectarse a Asterisk, luego busca ese usuario en /etc/asterisk/manager*, si no está solo dalo de alta y reinicia el manager desde la consola de Asterisk.

Rodrigo Ramírez Norambuena

unread,
Feb 29, 2016, 10:28:23 AM2/29/16
to aster...@googlegroups.com
February 27 2016 3:57 PM, "Daniel Guillermo Bareiro" <daniel...@gmx.net> wrote:
>> [1] http://issues.freepbx.org/browse/FREEPBX-9225
>
> Algo que me había olvidado de comentar es que en este script parece que la línea que está
> fallando es esta:
>
> --------------------------------------------------------------------------------------------
> 426 $engineinfo = engine_getinfo();
> 427 if($engineinfo['version'] == 0){
> 428 fatal(_("retreive_conf failed to get engine information and cannot configure up a softwitch
> with out it. Error: {$engineinfo['engine']}"),true);
> 429 }
> --------------------------------------------------------------------------------------------
>
> Es decir, está mostrando ese error porque, por alguna razón, la versión está devolviendo
> "0", cosa que no sucedía con Certified Asterisk 11.6-cert1, ya que la versión de FreePBX que
> usaba con este era la misma.

Algo que creo que no mencionaste o no lo recuerdo es la versión de Asterisk que instalaste.

Que te dice "asterisk -V"

Si el error va por ahí te recomiendo mirar la función
http://code.freepbx.org/browse/FreePBX_SVN/freepbx/branches/2.9/amp_conf/htdocs/admin/functions.inc.
hp?hb=true#to134

Si no está el match para GIT versión, que podría ser por donde va el problema en caso que clonaste
del repo, agregalo a la condiciones donde hace match. O simplemente veas que pasa si sobre la línea
426 le pones
$engineinfo['version'] = 'mi_version_del_asterisk';
y veas como te anda ;)

Daniel Guillermo Bareiro

unread,
Feb 29, 2016, 5:43:41 PM2/29/16
to aster...@googlegroups.com
Hola, Rodrigo. Gracias por responder.

On 29/02/16 12:28, Rodrigo Ramírez Norambuena wrote:

>>> [1] http://issues.freepbx.org/browse/FREEPBX-9225

>> Algo que me había olvidado de comentar es que en este script parece que la línea que está
>> fallando es esta:
>>
>> --------------------------------------------------------------------------------------------
>> 426 $engineinfo = engine_getinfo();
>> 427 if($engineinfo['version'] == 0){
>> 428 fatal(_("retreive_conf failed to get engine information and cannot configure up a softwitch
>> with out it. Error: {$engineinfo['engine']}"),true);
>> 429 }
>> --------------------------------------------------------------------------------------------
>>
>> Es decir, está mostrando ese error porque, por alguna razón, la versión está devolviendo
>> "0", cosa que no sucedía con Certified Asterisk 11.6-cert1, ya que la versión de FreePBX que
>> usaba con este era la misma.

> Algo que creo que no mencionaste o no lo recuerdo es la versión de Asterisk que instalaste.
>
> Que te dice "asterisk -V"

Instalé Certified Asterisk 11.6-cert13. Creí haber leído hace un tiempo
que lo conveniente era seguir en la versión 11, que es la estable, si
mal no recuerdo; así que busqué acá [1] la más reciente versión de
Certified Asterisk en el momento de hacer la instalación.

En respuesta a la salida del comando que mencionabas, es la siguiente:

root@asterisk:~# asterisk -V
Asterisk certified/11.6-cert13

> Si el error va por ahí te recomiendo mirar la función
> http://code.freepbx.org/browse/FreePBX_SVN/freepbx/branches/2.9/amp_conf/htdocs/admin/functions.inc.
> hp?hb=true#to134

Gracias por la referencia. La voy a revisar, aunque como en mi caso uso FreePBX 2.11.0.43, supongo
que tendría que buscar por el branch 2.11, ¿no?

> Si no está el match para GIT versión, que podría ser por donde va el problema en caso que clonaste
> del repo, agregalo a la condiciones donde hace match.

En este caso me bajé el tarball asterisk-certified-11.6-cert13.tar.gz y
compilé con:

# ./configure
# make menuselect
# make
# make install

Habiendo instalado todas las dependencias, claro. Como era una
actualización, creo que con eso era suficiente.

> O simplemente veas que pasa si sobre la línea 426 le pones
> $engineinfo['version'] = 'mi_version_del_asterisk';
> y veas como te anda ;)

Esto es lo último que llegué a probar. Intenté con:

--------------------------------------------------------------------------------------------
426 $engineinfo = engine_getinfo();
427 $engineinfo['version'] = 'certified/11.6-cert13';
428 if($engineinfo['version'] == 0){
429 fatal(_("retreive_conf failed to get engine information and cannot configure up a softwitch with out it. Error: {$engineinfo['engine']}"),true);
430 }
--------------------------------------------------------------------------------------------

Pero sigue dando el mismo error:

--------------------------------------------------------------------------------------------
root@asterisk:/usr/src# /var/lib/asterisk/bin/retrieve_conf --debug
Checking for PEAR Console::Getopt..OK
found language dir fr for directory, not installed on system, skipping
[FATAL] retreive_conf failed to get engine information and cannot configure up a softwitch with out it. Error: ERROR-UNABLE-TO-PARSE
--------------------------------------------------------------------------------------------

Parece que aunque le forcemos la versión, devuelve 0. No me queda claro por qué hace esto, dado que
al poner un echo $engineinfo['version'], este echo devuelve 'certified/11.6-cert13'.


Gracias por tu tiempo.

Saludos,
Daniel

[1] http://downloads.asterisk.org/pub/telephony/certified-asterisk

Rodrigo Ramírez Norambuena

unread,
Feb 29, 2016, 6:25:28 PM2/29/16
to aster...@googlegroups.com
February 29 2016 7:43 PM, "Daniel Guillermo Bareiro" <daniel...@gmx.net> wrote:
> --------------------------------------------------------------------------------------------
> 426 $engineinfo = engine_getinfo();
> 427 $engineinfo['version'] = 'certified/11.6-cert13';
> 428 if($engineinfo['version'] == 0){
> 429 fatal(_("retreive_conf failed to get engine information and cannot configure up a softwitch
> with out it. Error: {$engineinfo['engine']}"),true);
> 430 }

Entonces no es ahí donde se está cayendo.

Bueno, nos pasamos directamente a FreePBX :P

El tema es que el matching no está preparado para parsear "Asterisk certified/11.6-cert13"

Agregas a la función engine_getinfo algo como
<code>
} elseif (preg_match('/Asterisk certified\/(\d+(\.\d+)*)(-?(\S*))/', $verinfo, $matches)) {

$engine_info = array('engine'=>'asterisk', 'version' => $matches[1], 'additional' => $matches[4],
'raw' => $verinfo);

$gotinfo = true;
</code>

De ahí para adelante no sé si esa versión trabaje con 11.x -lo desconozco-. Si no le mientes y le
dices que es un 1.8

$engine_info = array('engine'=>'asterisk', 'version' => '1.8', 'additional' => 'cert13', 'raw' =>
'1.8-mentiroso-13');

Daniel Guillermo Bareiro

unread,
Mar 7, 2016, 6:00:31 PM3/7/16
to aster...@googlegroups.com
Hola, Rodrigo.

Lamento la demora en la respuesta.

>> --------------------------------------------------------------------------------------------
>> 426 $engineinfo = engine_getinfo();
>> 427 $engineinfo['version'] = 'certified/11.6-cert13';
>> 428 if($engineinfo['version'] == 0){
>> 429 fatal(_("retreive_conf failed to get engine information and cannot configure up a softwitch
>> with out it. Error: {$engineinfo['engine']}"),true);
>> 430 }

> Entonces no es ahí donde se está cayendo.
>
> Bueno, nos pasamos directamente a FreePBX :P
>
> El tema es que el matching no está preparado para parsear "Asterisk certified/11.6-cert13"
>
> Agregas a la función engine_getinfo algo como
> <code>
> } elseif (preg_match('/Asterisk certified\/(\d+(\.\d+)*)(-?(\S*))/', $verinfo, $matches)) {
>
> $engine_info = array('engine'=>'asterisk', 'version' => $matches[1], 'additional' => $matches[4],
> 'raw' => $verinfo);
>
> $gotinfo = true;
> </code>
>
> De ahí para adelante no sé si esa versión trabaje con 11.x -lo desconozco-. Si no le mientes y le
> dices que es un 1.8
>
> $engine_info = array('engine'=>'asterisk', 'version' => '1.8', 'additional' => 'cert13', 'raw' =>
> '1.8-mentiroso-13');

Agregué las líneas que sugerías en /var/www/freepbx/admin/functions.inc.php, y parece que venía
por ese lado la mano. Ya que después de aplicar ese cambio y recargar la página web, el Server
Status para Asterisk cambió a "OK". Así que es un avance!

Es raro porque no hice ninguna actualización en FreePBX; solo actualicé la versión de Asterisk.
¿Será que Certified Asterisk 11.6-cert1 (la versión que estaba usando antes de actualizar) se
estaría identificando de forma tal que FreePBX pudiera reconcerlo, entonces?

Ahora bien, a pesar que el Server Status para Asterisk cambió a "OK" en la página web, al
ejecutar manualmente el comando retrieve_conf, sigo obteniendo un error:

---------------------------------------------------------------------------------------------
root@asterisk:~# /var/lib/asterisk/bin/retrieve_conf --debug
Checking for PEAR Console::Getopt..OK
found language dir fr for directory, not installed on system, skipping
[FATAL] retreive_conf failed to get engine information and cannot configure up a softwitch with out it. Error: asterisk
---------------------------------------------------------------------------------------------

Antes de solucionar el error del Server Status de Asterisk, había intentado instalar en
FreePBX el módulo "FreePBX Upgrader" para actualizar a una versión más nueva de FreePBX
suponiendo que esta estuviera preparada para lidiar con este problema de identificación
que estábamos teniendo. Pero, si bien se descargó el módulo, no fue efectiva la instalación
de este dado que quedó pendiente darle a "Apply Config". El tema es que cuando intentaba
hacerlo, esto fallaba.

Ahora que no da el error del Server Status gracias a tu sugerencia, probé dándole a
de nuevo a "Apply Config" y da el siguiente error:

<cita>
Reload failed because retrieve_conf encountered an error: 1

exit: 1
found language dir fr for directory, not installed on system, skipping
[FATAL] retreive_conf failed to get engine information and cannot configure up a softwitch with out it. Error: asterisk

1 error(s) occurred, you should view the notification log on the dashboard or main screen to check for more details.
</cita>

O sea, el mismo error que mencionaba más arriba, al ejecutar manualmente el script.
Revisando en /var/log/asterisk/freepbx.log, encontré algo como lo siguiente al darle
a "Apply Config":

---------------------------------------------------------------------------------------------
[2016-Mar-07 19:41:34] [INFO] (bin/retrieve_conf:110) - found language dir fr for directory, not installed on system, skipping
[2016-Mar-07 19:41:34] [FATAL] (libraries/utility.functions.php:443) - retreive_conf failed to get engine information and cannot configure up a softwitch with out it. Error: asterisk
[2016-Mar-07 19:41:35] [CRITICAL] (admin/functions.inc.php:386) - [NOTIFICATION]-[freepbx]-[RCONFFAIL] - retrieve_conf failed, config not applied (Reload failed because retrieve_conf encountered an error: 1)
---------------------------------------------------------------------------------------------

Así que estuve viendo qué tenemos en las líneas mencionadas para los errores de tipo
FATAL y CRITICAL. Esto fue lo encontré:

Para admin/functions.inc.php (copio unas líneas más, para tener una idea de dónde viene ese exit_val).

---------------------------------------------------------------------------------------------
360 $exit_val = null;
361
362 if ($setting_pre_reload) {
363 exec( $setting_pre_reload, $output, $exit_val );
364
365 if ($exit_val != 0) {
366 $desc = sprintf(_("Exit code was %s and output was: %s"), $exit_val, "\n\n".implode("\n",$output));
367 $notify->add_error('freepbx','reload_pre_script', sprintf(_('Could not run %s script.'), $setting_pre_reload), $desc);
368
369 $return['num_errors']++;
370 } else {
371 $notify->delete('freepbx', 'reload_pre_script');
372 }
373 }
374
375 $retrieve = $setting_ampbin . '/retrieve_conf 2>&1';
376 //exec($retrieve.'&>'.$asterisk_conf['astlogdir'].'/freepbx-retrieve.log', $output, $exit_val);
377 exec($retrieve, $output, $exit_val);
378
379 // retrieve_conf html output
380 $return['retrieve_conf'] = 'exit: '.$exit_val.'<br/>'.implode('<br/>',$output);
381
382 if ($exit_val != 0) {
383 $return['status'] = false;
384 $return['message'] = sprintf(_('Reload failed because retrieve_conf encountered an error: %s'),$exit_val);
385 $return['num_errors']++;
386 $notify->add_critical('freepbx','RCONFFAIL', _("retrieve_conf failed, config not applied"), $return['message']);
387 return $return;
388 }
---------------------------------------------------------------------------------------------

La línea 443 del archivo admin/libraries/utility.functions.php no dice mucho. Parece ser una
función para registrar en un log:

---------------------------------------------------------------------------------------------
440 function fatal($text,$log=true) {
441 echo "[FATAL] ".$text.EOL;
442 if ($log) {
443 freepbx_log(FPBX_LOG_FATAL,$text);
444 }
445 exit(1);
446 }
---------------------------------------------------------------------------------------------


Muchas gracias por tu tiempo.

Saludos cordiales,
Daniel

Rodrigo Ramírez Norambuena

unread,
Mar 16, 2016, 11:08:54 AM3/16/16
to aster...@googlegroups.com
March 7 2016 8:00 PM, "Daniel Guillermo Bareiro" <daniel...@gmx.net> wrote:
> Hola, Rodrigo.
>
> Lamento la demora en la respuesta.

Hola Daniel,

> Agregué las líneas que sugerías en /var/www/freepbx/admin/functions.inc.php, y parece que venía
> por ese lado la mano. Ya que después de aplicar ese cambio y recargar la página web, el Server
> Status para Asterisk cambió a "OK". Así que es un avance!
>
> Es raro porque no hice ninguna actualización en FreePBX; solo actualicé la versión de Asterisk.
> ¿Será que Certified Asterisk 11.6-cert1 (la versión que estaba usando antes de actualizar) se
> estaría identificando de forma tal que FreePBX pudiera reconcerlo, entonces?

Puede ser que durante el upgrade de Asterisk te hayas pisado algún archivo de configuración
necesario.

> Ahora bien, a pesar que el Server Status para Asterisk cambió a "OK" en la página web, al
> ejecutar manualmente el comando retrieve_conf, sigo obteniendo un error:
>
> ---------------------------------------------------------------------------------------------
> root@asterisk:~# /var/lib/asterisk/bin/retrieve_conf --debug
> Checking for PEAR Console::Getopt..OK
> found language dir fr for directory, not installed on system, skipping
> [FATAL] retreive_conf failed to get engine information and cannot configure up a softwitch with out
> it. Error: asterisk
> ---------------------------------------------------------------------------------------------
>
> Antes de solucionar el error del Server Status de Asterisk, había intentado instalar en
> FreePBX el módulo "FreePBX Upgrader" para actualizar a una versión más nueva de FreePBX
> suponiendo que esta estuviera preparada para lidiar con este problema de identificación
> que estábamos teniendo. Pero, si bien se descargó el módulo, no fue efectiva la instalación
> de este dado que quedó pendiente darle a "Apply Config". El tema es que cuando intentaba
> hacerlo, esto fallaba.

Ahí pudo fallar. ¿No has intentado instalar desde 0 el FreePBX?

PD: Estas interfaces ayudan un monton pero a veces desconoces mucho de lo que hace y como lo hace
por debajo.

Daniel Bareiro

unread,
Jul 28, 2016, 9:35:26 AM7/28/16
to aster...@googlegroups.com
On 16/03/16 12:08, Rodrigo Ramírez Norambuena wrote:

> Hola Daniel,

Hola, Rodrigo.

Lamento haberte dejado colgado por algún tiempo con esta respuesta.

>> Agregué las líneas que sugerías en /var/www/freepbx/admin/functions.inc.php, y parece que venía
>> por ese lado la mano. Ya que después de aplicar ese cambio y recargar la página web, el Server
>> Status para Asterisk cambió a "OK". Así que es un avance!
>>
>> Es raro porque no hice ninguna actualización en FreePBX; solo actualicé la versión de Asterisk.
>> ¿Será que Certified Asterisk 11.6-cert1 (la versión que estaba usando antes de actualizar) se
>> estaría identificando de forma tal que FreePBX pudiera reconcerlo, entonces?

> Puede ser que durante el upgrade de Asterisk te hayas pisado algún archivo de configuración
> necesario.

>> Ahora bien, a pesar que el Server Status para Asterisk cambió a "OK" en la página web, al
>> ejecutar manualmente el comando retrieve_conf, sigo obteniendo un error:
>>
>> ---------------------------------------------------------------------------------------------
>> root@asterisk:~# /var/lib/asterisk/bin/retrieve_conf --debug
>> Checking for PEAR Console::Getopt..OK
>> found language dir fr for directory, not installed on system, skipping
>> [FATAL] retreive_conf failed to get engine information and cannot configure up a softwitch with out
>> it. Error: asterisk
>> ---------------------------------------------------------------------------------------------
>>
>> Antes de solucionar el error del Server Status de Asterisk, había intentado instalar en
>> FreePBX el módulo "FreePBX Upgrader" para actualizar a una versión más nueva de FreePBX
>> suponiendo que esta estuviera preparada para lidiar con este problema de identificación
>> que estábamos teniendo. Pero, si bien se descargó el módulo, no fue efectiva la instalación
>> de este dado que quedó pendiente darle a "Apply Config". El tema es que cuando intentaba
>> hacerlo, esto fallaba.

> Ahí pudo fallar. ¿No has intentado instalar desde 0 el FreePBX?

Ahora que puedo dedicarle algo de tiempo a esto, estoy haciendo algunas
pruebas en un contenedor LXC con Debian Jessie, realizando una
instalación desde cero con Asterisk 13 (me pareció partir de esta
versión dado que, según leí [1], la versión 11 LTS dejaría de tener
soporte en octubre de este año) junto con FreePBX 13.

Para eso usé esta [2] guía publicada en el wiki propio de FreePBX. La
única diferencia es que en mi caso no instalé las dependencias para
Google Voice, usé el bundle Pjproject de Asterisk 13.10 (la versión de
Asterisk la obtuve mediante el repositorio Git) e instalé la versión
empaquetada de Debian para Jansson.

Si bien Asterisk funciona con un "service asterisk start", el comando
fwconsole de FreePBX da el siguiente error:

----------------------------------------------------------------------
root@pbxtest:~# fwconsole start
Running FreePBX startup...
Taking too long? Customize the chown command, See
http://wiki.freepbx.org/display/FOP/FreePBX+Chown+Conf
Setting Permissions...
Collecting Files...Done
44558/44558 [============================] 100%
Finished setting permissions
Starting Asterisk...
[--------------->------------] 12 secs


[Exception]
Unable to connect to Asterisk. Did it start?


start [--pre] [--post] [--skipchown] [args1] ... [argsN]
----------------------------------------------------------------------

Entiendo que este comando tendría que iniciar Asterisk. Estuve revisando
si encontraba algún registro en /var/log/asterisk/full al ejecutar
fwconsole, pero no fue el caso.

Publiqué la consulta en la lista general de FreePBX hace tres días, pero
sin novedades aún por ese canal.

Si alguien tiene alguna sugerencia para resolver este inconveniente,
será bien recibida.


Saludos cordiales,
Daniel

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions
[2] http://wiki.freepbx.org/display/FOP/Installing+FreePBX+13+on+Debian+8.1

signature.asc

noelia cg

unread,
Apr 25, 2018, 9:27:43 AM4/25/18
to asterisk-es
Hola me sale el mismo problema alguna solucion?
1.PNG
2.PNG
Reply all
Reply to author
Forward
0 new messages