Hola
Modificando el $ru no me funciona, necesito poder cambiar la ip con el sethost o rewritehost, pero ninguna de éstas funciones expande las variables. Hay elgún metodo que me permita reescribir el host y que además funcione ?
Mi código:
avp_db_query("SELECT * FROM funcion_x('$fd', '$rU', '$fU')", "$avp(i:1);$avp(i:2);$avp(i:3)"); if ($avp(i:1)) { record_route(); $ru = "$avp(i:2)"; < uri completa ususario y dominio (a falta de puerto) if ($avp(i:3) > '') { t_on_failure("30"); } route(1); exit; }
si le meto el rewritehost a fuego poniendo siempre la misma ip, me funciona. Pero tiene que ser dinámico ! Si no pongo rewritehost aun modificando $ru, no funciona.
Alguna idea ? Es un bug que no expanda 1.5 las variables en rewritehost y sethost ?
gracias !
Nada el problema era otro. lo siento :(
gracias !
Germán Aracil Boned escribió:
Hola
Modificando el $ru no me funciona, necesito poder cambiar la ip con el sethost o rewritehost, pero ninguna de éstas funciones expande las variables. Hay elgún metodo que me permita reescribir el host y que además funcione ?
Mi código:
avp_db_query("SELECT * FROM funcion_x('$fd', '$rU', '$fU')", "$avp(i:1);$avp(i:2);$avp(i:3)"); if ($avp(i:1)) { record_route(); $ru = "$avp(i:2)"; < uri completa ususario y dominio (a falta de puerto) if ($avp(i:3) > '') { t_on_failure("30"); } route(1); exit; }
si le meto el rewritehost a fuego poniendo siempre la misma ip, me funciona. Pero tiene que ser dinámico ! Si no pongo rewritehost aun modificando $ru, no funciona.
Alguna idea ? Es un bug que no expanda 1.5 las variables en rewritehost y sethost ?
gracias !
Comando:
avp_db_query("SELECT * FROM voip_billing_a($var(id))", "$avp(i:1)");
donde $var(id) es simple y llanamente, un literal varchar, porque como meta un longint, no lo soporta claro.
Error:
Oct 3 06:28:52 hal9004 kamailio[11220]: ERROR:db_unixodbc:db_unixodbc_submit_query: rv=-1. Query= SELECT * FROM voip_billing_a(259 Oct 3 06:28:52 hal9004 kamailio[11220]: ERROR:db_unixodbc:db_unixodbc_extract_error: unixodbc:SQLExecDirect=42601:1:7:Error while executing the query; ERROR:
Se come el cierre de paréntesis !! He probado con ' que es como debe ir .. y se come ') ..
es kamailio 1.5.1 .. algún parche o solución ?
es más .. alguna versión recomendable ?
Porque no es la primera vez que me encuentro con algo así, y tengo que escribir esquivando su interpretación psicodélica !
saludos !!!!!!!
Más pruebas del delito. Y ahora con un fresco 1.5.2
DBG:avpops:ops_dbquery_avps: query [SELECT * FROM voip_billing_a('264]
Se come ') al final.. sigo investigando ..
Germán Aracil Boned escribió:
Comando:
avp_db_query("SELECT * FROM voip_billing_a($var(id))", "$avp(i:1)");
donde $var(id) es simple y llanamente, un literal varchar, porque como meta un longint, no lo soporta claro.
Error:
Oct 3 06:28:52 hal9004 kamailio[11220]: ERROR:db_unixodbc:db_unixodbc_submit_query: rv=-1. Query= SELECT * FROM voip_billing_a(259 Oct 3 06:28:52 hal9004 kamailio[11220]: ERROR:db_unixodbc:db_unixodbc_extract_error: unixodbc:SQLExecDirect=42601:1:7:Error while executing the query; ERROR:
Se come el cierre de paréntesis !! He probado con ' que es como debe ir .. y se come ') ..
es kamailio 1.5.1 .. algún parche o solución ?
es más .. alguna versión recomendable ?
Porque no es la primera vez que me encuentro con algo así, y tengo que escribir esquivando su interpretación psicodélica !
saludos !!!!!!!
SR-Users-ES mailing list SR-Users-ES@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
Si rewritehost llamase a pv_printf para interpretar el parámetro, podría permitir variables.
no he visto la declaración de esa función rewritehost, pero si es del tipo pv_elem_p es posible pertmitirlo facilmente.
no sé si interesa, pero lo apunto por recordatorio propio.
salud !
Germán Aracil Boned escribió:
Comando:
avp_db_query("SELECT * FROM voip_billing_a($var(id))", "$avp(i:1)");
donde $var(id) es simple y llanamente, un literal varchar, porque como meta un longint, no lo soporta claro.
Error:
Oct 3 06:28:52 hal9004 kamailio[11220]: ERROR:db_unixodbc:db_unixodbc_submit_query: rv=-1. Query= SELECT * FROM voip_billing_a(259 Oct 3 06:28:52 hal9004 kamailio[11220]: ERROR:db_unixodbc:db_unixodbc_extract_error: unixodbc:SQLExecDirect=42601:1:7:Error while executing the query; ERROR:
Se come el cierre de paréntesis !! He probado con ' que es como debe ir .. y se come ') ..
es kamailio 1.5.1 .. algún parche o solución ?
es más .. alguna versión recomendable ?
Porque no es la primera vez que me encuentro con algo así, y tengo que escribir esquivando su interpretación psicodélica !
saludos !!!!!!!
SR-Users-ES mailing list SR-Users-ES@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
Creo que mirando esto, (avpops.so) pv_printf:
Y probando escribir en el log una línea tras pasar el valor:
$var(id) = $avp(i:1);
a $var(id), aunque escriba más cosas detrás en la linea del log, solo me muestra hasta el valor de $var(id), se come el final de la linea!
Esto es un verdadero misterio !
Pero pv_printf no tiene la culpa.
Creo que tiene algo que ver con que llame a una función de postgres y no una consulta de una tabla. Si hago una select from tabla FUNCIONA !
Al final, he pasado a integer el tipo que devuelve la función en el primer campo y listo. Mi intención era pasar un logint como varchar. Pero desisto !
Me parece que algo hay que afinar ..
de locos !
P.D. Usando unixodbc de leny
Germán Aracil Boned escribió:
Comando:
avp_db_query("SELECT * FROM voip_billing_a($var(id))", "$avp(i:1)");
donde $var(id) es simple y llanamente, un literal varchar, porque como meta un longint, no lo soporta claro.
Error:
Oct 3 06:28:52 hal9004 kamailio[11220]: ERROR:db_unixodbc:db_unixodbc_submit_query: rv=-1. Query= SELECT * FROM voip_billing_a(259 Oct 3 06:28:52 hal9004 kamailio[11220]: ERROR:db_unixodbc:db_unixodbc_extract_error: unixodbc:SQLExecDirect=42601:1:7:Error while executing the query; ERROR:
Se come el cierre de paréntesis !! He probado con ' que es como debe ir .. y se come ') ..
es kamailio 1.5.1 .. algún parche o solución ?
es más .. alguna versión recomendable ?
Porque no es la primera vez que me encuentro con algo así, y tengo que escribir esquivando su interpretación psicodélica !
saludos !!!!!!!
SR-Users-ES mailing list SR-Users-ES@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
En lugar de eso podrías fijar las variables $rU (request URI username), $rd (request URI domain) y $rp (request URI port) que son de lectura/escritura...
sr-users-es@lists.kamailio.org