Hola
uno de tantos bugs de asterisk, es una tontería y puede que nunca se de, pero si usas realtime con postgresql y además tienes la mala pata de llamar a la función update_pgsql sin los parámetros sql adecuados, asterisk no solo da error, sino que tira la conexión y deja de funcionar, no se restablece:
static int update_pgsql(const char *database, const char *table, const char *keyfield,
const char *lookup, va_list ap)
{
PGresult *result = NULL;
int numrows = 0, pgerror;
char sql[256], escapebuf[513];
const char *newparam, *newval;
if (!table) {
ast_log(LOG_WARNING, "Postgresql RealTime: No table specified.\n");
return -1;
}
/* Get the first parameter and first value in our list of passed paramater/value pairs */
newparam = va_arg(ap, const char *);
newval = va_arg(ap, const char *);
if (!newparam || !newval) {
ast_log(LOG_WARNING,
"Postgresql RealTime: Realtime retrieval requires at least 1 parameter and 1 value to search on.\n");
------ desde aqui ..
if (pgsqlConn) {
PQfinish(pgsqlConn);
pgsqlConn = NULL;
.. hasta aqui. sobran las tres líneas
};
return -1;
}
No paso parche porque se pierde más tiempo haciendolo que otra cosa.. y bueno .. igual nunca os pasa .. de verdad no tengo tiempo, me voy a comprar que sino no tengo ni para cenar !!!!!!!!!
P.D. Afecta a todos los asteriscos
saludos !!
--
--------------------------
Donde hay que firmar ?
La llamada claro no se realiza directamente a update_pgsql, sino a
ast_update_realtime, pero cascar casca y muy bien. auqne tengas el parche para
que reconecte.
P.D. Ya he cenadooooooo
agur !