Hola, buenas tardes. Tengo una duda, espero que puedan orientarme o ayudarme. Tengo montado un Sistema de Redirect Server con Kamailio, funcionando OK. Este server lee una tabla que sale de un MYSQL y con el modulo mtree la cargo en memoria. Cuando hago modificaicones en la DB refresco los datos en memoria con el comando: kamcmd mtree.reload mytabla.
Ahora bien, hay alguna forma de que haga este reload en forma remota. es decir, no tener que conectarme al server por ssh y tirar el comando localmente. Hay alguna posibilidad de que kamailio este escuchando y hacerle el request de reload? Si lo hay, cuentan con algun ejemplo que puede utilizar de referencia?
Saludos.
Eso lo puedes hacer con un archivo de texto simple. Kamailio puede monitorizar el archivo y recargarlo automáticamente. Si no, puedes hacer un un timer que dispare un trigger y recargarlo.
On Fri, 3 Jun 2022 at 20:38, damian cassidyno@gmail.com wrote:
Hola, buenas tardes. Tengo una duda, espero que puedan orientarme o ayudarme. Tengo montado un Sistema de Redirect Server con Kamailio, funcionando OK. Este server lee una tabla que sale de un MYSQL y con el modulo mtree la cargo en memoria. Cuando hago modificaicones en la DB refresco los datos en memoria con el comando: kamcmd mtree.reload mytabla.
Ahora bien, hay alguna forma de que haga este reload en forma remota. es decir, no tener que conectarme al server por ssh y tirar el comando localmente. Hay alguna posibilidad de que kamailio este escuchando y hacerle el request de reload? Si lo hay, cuentan con algun ejemplo que puede utilizar de referencia?
Saludos. _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
También puedes usar el propio jsonrpcs_exec() y hacer el reload desde la config cuando te de la gana.
On Fri, Jun 3, 2022 at 15:15 David Villasmil david.villasmil.work@gmail.com wrote:
Eso lo puedes hacer con un archivo de texto simple. Kamailio puede monitorizar el archivo y recargarlo automáticamente. Si no, puedes hacer un un timer que dispare un trigger y recargarlo.
On Fri, 3 Jun 2022 at 20:38, damian cassidyno@gmail.com wrote:
Hola, buenas tardes. Tengo una duda, espero que puedan orientarme o ayudarme. Tengo montado un Sistema de Redirect Server con Kamailio, funcionando OK. Este server lee una tabla que sale de un MYSQL y con el modulo mtree la cargo en memoria. Cuando hago modificaicones en la DB refresco los datos en memoria con el comando: kamcmd mtree.reload mytabla.
Ahora bien, hay alguna forma de que haga este reload en forma remota. es decir, no tener que conectarme al server por ssh y tirar el comando localmente. Hay alguna posibilidad de que kamailio este escuchando y hacerle el request de reload? Si lo hay, cuentan con algun ejemplo que puede utilizar de referencia?
Saludos. _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
Otra opción es que hagas un GET a un path específico en el event_route[xhttp:request] y ahí ejecutes lo que quieras, como por ejemplo un script local para hacer lo que quieras.
El sáb, 4 jun 2022 a las 15:13, Joel Serrano (joel@textplus.com) escribió:
También puedes usar el propio jsonrpcs_exec() y hacer el reload desde la config cuando te de la gana.
On Fri, Jun 3, 2022 at 15:15 David Villasmil < david.villasmil.work@gmail.com> wrote:
Eso lo puedes hacer con un archivo de texto simple. Kamailio puede monitorizar el archivo y recargarlo automáticamente. Si no, puedes hacer un un timer que dispare un trigger y recargarlo.
On Fri, 3 Jun 2022 at 20:38, damian cassidyno@gmail.com wrote:
Hola, buenas tardes. Tengo una duda, espero que puedan orientarme o ayudarme. Tengo montado un Sistema de Redirect Server con Kamailio, funcionando OK. Este server lee una tabla que sale de un MYSQL y con el modulo mtree la cargo en memoria. Cuando hago modificaicones en la DB refresco los datos en memoria con el comando: kamcmd mtree.reload mytabla.
Ahora bien, hay alguna forma de que haga este reload en forma remota. es decir, no tener que conectarme al server por ssh y tirar el comando localmente. Hay alguna posibilidad de que kamailio este escuchando y hacerle el request de reload? Si lo hay, cuentan con algun ejemplo que puede utilizar de referencia?
Saludos. _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
Eh intentado lo del event_route[xhttp:request] pero no logro que Kamailio escuche el puerto que configuro (80, 8080 o cualquier puerto que defina) para enviar el request via http.
Tengo configurado: listen=tcp:eth0:8080 listen=udp:eth0:5060
Resultado.
Listening on udp: 172.x.x.x:5060 udp: 127.0.0.1:5060 Aliases: udp: localhost:5060 udp: LAB-SERVER:5060
Solo me escucha el 5060.
El sáb, 4 jun 2022 a las 12:55, Jose Fco. Irles Durá (josefu@gmail.com) escribió:
Otra opción es que hagas un GET a un path específico en el event_route[xhttp:request] y ahí ejecutes lo que quieras, como por ejemplo un script local para hacer lo que quieras.
El sáb, 4 jun 2022 a las 15:13, Joel Serrano (joel@textplus.com) escribió:
También puedes usar el propio jsonrpcs_exec() y hacer el reload desde la config cuando te de la gana.
On Fri, Jun 3, 2022 at 15:15 David Villasmil < david.villasmil.work@gmail.com> wrote:
Eso lo puedes hacer con un archivo de texto simple. Kamailio puede monitorizar el archivo y recargarlo automáticamente. Si no, puedes hacer un un timer que dispare un trigger y recargarlo.
On Fri, 3 Jun 2022 at 20:38, damian cassidyno@gmail.com wrote:
Hola, buenas tardes. Tengo una duda, espero que puedan orientarme o ayudarme. Tengo montado un Sistema de Redirect Server con Kamailio, funcionando OK. Este server lee una tabla que sale de un MYSQL y con el modulo mtree la cargo en memoria. Cuando hago modificaicones en la DB refresco los datos en memoria con el comando: kamcmd mtree.reload mytabla.
Ahora bien, hay alguna forma de que haga este reload en forma remota. es decir, no tener que conectarme al server por ssh y tirar el comando localmente. Hay alguna posibilidad de que kamailio este escuchando y hacerle el request de reload? Si lo hay, cuentan con algun ejemplo que puede utilizar de referencia?
Saludos. _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Jose Fco. Irles Durá _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
Disculpen, encontré el error porque el que no levantaba el puerto 8080, Tenia en el archivo de configuración disable_tcp=yes. Ire por el camino del Request y veré si me funciona.
Saludos.
El lun, 6 jun 2022 a las 9:41, damian (cassidyno@gmail.com) escribió:
Eh intentado lo del event_route[xhttp:request] pero no logro que Kamailio escuche el puerto que configuro (80, 8080 o cualquier puerto que defina) para enviar el request via http.
Tengo configurado: listen=tcp:eth0:8080 listen=udp:eth0:5060
Resultado.
Listening on udp: 172.x.x.x:5060 udp: 127.0.0.1:5060 Aliases: udp: localhost:5060 udp: LAB-SERVER:5060
Solo me escucha el 5060.
El sáb, 4 jun 2022 a las 12:55, Jose Fco. Irles Durá (josefu@gmail.com) escribió:
Otra opción es que hagas un GET a un path específico en el event_route[xhttp:request] y ahí ejecutes lo que quieras, como por ejemplo un script local para hacer lo que quieras.
El sáb, 4 jun 2022 a las 15:13, Joel Serrano (joel@textplus.com) escribió:
También puedes usar el propio jsonrpcs_exec() y hacer el reload desde la config cuando te de la gana.
On Fri, Jun 3, 2022 at 15:15 David Villasmil < david.villasmil.work@gmail.com> wrote:
Eso lo puedes hacer con un archivo de texto simple. Kamailio puede monitorizar el archivo y recargarlo automáticamente. Si no, puedes hacer un un timer que dispare un trigger y recargarlo.
On Fri, 3 Jun 2022 at 20:38, damian cassidyno@gmail.com wrote:
Hola, buenas tardes. Tengo una duda, espero que puedan orientarme o ayudarme. Tengo montado un Sistema de Redirect Server con Kamailio, funcionando OK. Este server lee una tabla que sale de un MYSQL y con el modulo mtree la cargo en memoria. Cuando hago modificaicones en la DB refresco los datos en memoria con el comando: kamcmd mtree.reload mytabla.
Ahora bien, hay alguna forma de que haga este reload en forma remota. es decir, no tener que conectarme al server por ssh y tirar el comando localmente. Hay alguna posibilidad de que kamailio este escuchando y hacerle el request de reload? Si lo hay, cuentan con algun ejemplo que puede utilizar de referencia?
Saludos. _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Jose Fco. Irles Durá _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
Gente, ya se encuentra funcionando, muchas gracias por toda la colaboración.
La conf. quedó de la siguiente manera, por si alguno le interesa.
disable_tcp=no tcp_accept_no_cl=yes
listen=tcp:eth0:8080 listen=udp:eth0:5060 listen=udp:127.0.0.1:5060
#####Modulos para Request Reload mtree##### loadmodule "xhttp.so" loadmodule "jsonrpcs.so" #sudo apt-get install kamailio-json-modules# loadmodule "json.so" #######
event_route[xhttp:request] { if!(dst_port==8080) { xlog("L_NOTICE", "[XHTTP:REQUEST] $si FORBIDDEN! ***\n"); exit; } if(src_ip!=192.168.224.184) { xhttp_reply("403", "Forbidden", "text/html", "<html><body>Not allowed from $si</body></html>"); xlog("L_NOTICE", "[XHTTP:REQUEST] NOT ALLOWED FROM $si! ***\n"); exit; } if ($hu =~ "^/mtree") { $var(dbmtree) =$(rb{json.parse,db}); xlog("L_NOTICE", "[XHTTP:REQUEST] $si:$sp - db: $var(dbmtree) ACCEPTED ***\n"); $var(json_rpc)='{"jsonrpc": "2.0", "method": "mtree.reload", "id": "$var(dbmtree)"}'; jsonrpc_exec($var(json_rpc)); xlog("L_NOTICE","jsonrpc response code: $jsonrpl(code) - the body is: $jsonrpl(body)\n"); xhttp_reply("200", "Forbidden", "text/html", "<html><body>OK - [$si:$sp - db: $var(dbmtree)]</body></html>");
} else { xhttp_reply("200", "OK", "text/html", "<html><body>Wrong URL $hu</body></html>"); xlog("L_NOTICE", "[XHTTP:REQUEST] WRONG URL $hu! ***\n"); } return; }
Saludos.
El lun, 6 jun 2022 a las 9:49, damian (cassidyno@gmail.com) escribió:
Disculpen, encontré el error porque el que no levantaba el puerto 8080, Tenia en el archivo de configuración disable_tcp=yes. Ire por el camino del Request y veré si me funciona.
Saludos.
El lun, 6 jun 2022 a las 9:41, damian (cassidyno@gmail.com) escribió:
Eh intentado lo del event_route[xhttp:request] pero no logro que Kamailio escuche el puerto que configuro (80, 8080 o cualquier puerto que defina) para enviar el request via http.
Tengo configurado: listen=tcp:eth0:8080 listen=udp:eth0:5060
Resultado.
Listening on udp: 172.x.x.x:5060 udp: 127.0.0.1:5060 Aliases: udp: localhost:5060 udp: LAB-SERVER:5060
Solo me escucha el 5060.
El sáb, 4 jun 2022 a las 12:55, Jose Fco. Irles Durá (josefu@gmail.com) escribió:
Otra opción es que hagas un GET a un path específico en el event_route[xhttp:request] y ahí ejecutes lo que quieras, como por ejemplo un script local para hacer lo que quieras.
El sáb, 4 jun 2022 a las 15:13, Joel Serrano (joel@textplus.com) escribió:
También puedes usar el propio jsonrpcs_exec() y hacer el reload desde la config cuando te de la gana.
On Fri, Jun 3, 2022 at 15:15 David Villasmil < david.villasmil.work@gmail.com> wrote:
Eso lo puedes hacer con un archivo de texto simple. Kamailio puede monitorizar el archivo y recargarlo automáticamente. Si no, puedes hacer un un timer que dispare un trigger y recargarlo.
On Fri, 3 Jun 2022 at 20:38, damian cassidyno@gmail.com wrote:
Hola, buenas tardes. Tengo una duda, espero que puedan orientarme o ayudarme. Tengo montado un Sistema de Redirect Server con Kamailio, funcionando OK. Este server lee una tabla que sale de un MYSQL y con el modulo mtree la cargo en memoria. Cuando hago modificaicones en la DB refresco los datos en memoria con el comando: kamcmd mtree.reload mytabla.
Ahora bien, hay alguna forma de que haga este reload en forma remota. es decir, no tener que conectarme al server por ssh y tirar el comando localmente. Hay alguna posibilidad de que kamailio este escuchando y hacerle el request de reload? Si lo hay, cuentan con algun ejemplo que puede utilizar de referencia?
Saludos. _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Jose Fco. Irles Durá _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
quizás un "exit;" es mejor aquí:
if(src_ip!=192.168.224.184) {
Y también es recomendable que pongas una regla en iptables al menos.
Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337
On Mon, Jun 6, 2022 at 4:13 PM damian cassidyno@gmail.com wrote:
Gente, ya se encuentra funcionando, muchas gracias por toda la colaboración.
La conf. quedó de la siguiente manera, por si alguno le interesa.
disable_tcp=no tcp_accept_no_cl=yes
listen=tcp:eth0:8080 listen=udp:eth0:5060 listen=udp:127.0.0.1:5060
#####Modulos para Request Reload mtree##### loadmodule "xhttp.so" loadmodule "jsonrpcs.so" #sudo apt-get install kamailio-json-modules# loadmodule "json.so" #######
event_route[xhttp:request] { if!(dst_port==8080) { xlog("L_NOTICE", "[XHTTP:REQUEST] $si FORBIDDEN! ***\n"); exit; } if(src_ip!=192.168.224.184) { xhttp_reply("403", "Forbidden", "text/html", "<html><body>Not allowed from $si</body></html>"); xlog("L_NOTICE", "[XHTTP:REQUEST] NOT ALLOWED FROM $si! ***\n"); exit; } if ($hu =~ "^/mtree") { $var(dbmtree) =$(rb{json.parse,db}); xlog("L_NOTICE", "[XHTTP:REQUEST] $si:$sp - db: $var(dbmtree) ACCEPTED ***\n"); $var(json_rpc)='{"jsonrpc": "2.0", "method": "mtree.reload", "id": "$var(dbmtree)"}'; jsonrpc_exec($var(json_rpc)); xlog("L_NOTICE","jsonrpc response code: $jsonrpl(code) - the body is: $jsonrpl(body)\n"); xhttp_reply("200", "Forbidden", "text/html", "<html><body>OK - [$si:$sp - db: $var(dbmtree)]</body></html>");
} else { xhttp_reply("200", "OK", "text/html", "<html><body>Wrong URL $hu</body></html>"); xlog("L_NOTICE", "[XHTTP:REQUEST] WRONG URL $hu! ***\n"); } return; }
Saludos.
El lun, 6 jun 2022 a las 9:49, damian (cassidyno@gmail.com) escribió:
Disculpen, encontré el error porque el que no levantaba el puerto 8080, Tenia en el archivo de configuración disable_tcp=yes. Ire por el camino del Request y veré si me funciona.
Saludos.
El lun, 6 jun 2022 a las 9:41, damian (cassidyno@gmail.com) escribió:
Eh intentado lo del event_route[xhttp:request] pero no logro que Kamailio escuche el puerto que configuro (80, 8080 o cualquier puerto que defina) para enviar el request via http.
Tengo configurado: listen=tcp:eth0:8080 listen=udp:eth0:5060
Resultado.
Listening on udp: 172.x.x.x:5060 udp: 127.0.0.1:5060 Aliases: udp: localhost:5060 udp: LAB-SERVER:5060
Solo me escucha el 5060.
El sáb, 4 jun 2022 a las 12:55, Jose Fco. Irles Durá (josefu@gmail.com) escribió:
Otra opción es que hagas un GET a un path específico en el event_route[xhttp:request] y ahí ejecutes lo que quieras, como por ejemplo un script local para hacer lo que quieras.
El sáb, 4 jun 2022 a las 15:13, Joel Serrano (joel@textplus.com) escribió:
También puedes usar el propio jsonrpcs_exec() y hacer el reload desde la config cuando te de la gana.
On Fri, Jun 3, 2022 at 15:15 David Villasmil < david.villasmil.work@gmail.com> wrote:
Eso lo puedes hacer con un archivo de texto simple. Kamailio puede monitorizar el archivo y recargarlo automáticamente. Si no, puedes hacer un un timer que dispare un trigger y recargarlo.
On Fri, 3 Jun 2022 at 20:38, damian cassidyno@gmail.com wrote:
> Hola, buenas tardes. > Tengo una duda, espero que puedan orientarme o ayudarme. > Tengo montado un Sistema de Redirect Server con Kamailio, > funcionando OK. > Este server lee una tabla que sale de un MYSQL y con el modulo mtree > la cargo en memoria. > Cuando hago modificaicones en la DB refresco los datos en memoria > con el comando: kamcmd mtree.reload mytabla. > > Ahora bien, hay alguna forma de que haga este reload en forma > remota. es decir, no tener que conectarme al server por ssh y tirar el > comando localmente. > Hay alguna posibilidad de que kamailio este escuchando y hacerle el > request de reload? > Si lo hay, cuentan con algun ejemplo que puede utilizar de > referencia? > > Saludos. > _______________________________________________ > sr-users-es mailing list > sr-users-es@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
>
Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Jose Fco. Irles Durá _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
+1 a lo que comenta David:
Es mucho más fácil (hablando de rapidez y recursos) para el sistema descartar un paquete a nivel de kernel que para la aplicación a nivel de usuario.
Saludos!!
On Mon, Jun 6, 2022 at 11:08 AM David Villasmil < david.villasmil.work@gmail.com> wrote:
quizás un "exit;" es mejor aquí:
if(src_ip!=192.168.224.184) {
Y también es recomendable que pongas una regla en iptables al menos.
Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337
On Mon, Jun 6, 2022 at 4:13 PM damian cassidyno@gmail.com wrote:
Gente, ya se encuentra funcionando, muchas gracias por toda la colaboración.
La conf. quedó de la siguiente manera, por si alguno le interesa.
disable_tcp=no tcp_accept_no_cl=yes
listen=tcp:eth0:8080 listen=udp:eth0:5060 listen=udp:127.0.0.1:5060
#####Modulos para Request Reload mtree##### loadmodule "xhttp.so" loadmodule "jsonrpcs.so" #sudo apt-get install kamailio-json-modules# loadmodule "json.so" #######
event_route[xhttp:request] { if!(dst_port==8080) { xlog("L_NOTICE", "[XHTTP:REQUEST] $si FORBIDDEN! ***\n"); exit; } if(src_ip!=192.168.224.184) { xhttp_reply("403", "Forbidden", "text/html", "<html><body>Not allowed from $si</body></html>"); xlog("L_NOTICE", "[XHTTP:REQUEST] NOT ALLOWED FROM $si! ***\n"); exit; } if ($hu =~ "^/mtree") { $var(dbmtree) =$(rb{json.parse,db}); xlog("L_NOTICE", "[XHTTP:REQUEST] $si:$sp - db: $var(dbmtree) ACCEPTED ***\n"); $var(json_rpc)='{"jsonrpc": "2.0", "method": "mtree.reload", "id": "$var(dbmtree)"}'; jsonrpc_exec($var(json_rpc)); xlog("L_NOTICE","jsonrpc response code: $jsonrpl(code) - the body is: $jsonrpl(body)\n"); xhttp_reply("200", "Forbidden", "text/html", "<html><body>OK - [$si:$sp - db: $var(dbmtree)]</body></html>");
} else { xhttp_reply("200", "OK", "text/html", "<html><body>Wrong URL $hu</body></html>"); xlog("L_NOTICE", "[XHTTP:REQUEST] WRONG URL $hu! ***\n"); } return; }
Saludos.
El lun, 6 jun 2022 a las 9:49, damian (cassidyno@gmail.com) escribió:
Disculpen, encontré el error porque el que no levantaba el puerto 8080, Tenia en el archivo de configuración disable_tcp=yes. Ire por el camino del Request y veré si me funciona.
Saludos.
El lun, 6 jun 2022 a las 9:41, damian (cassidyno@gmail.com) escribió:
Eh intentado lo del event_route[xhttp:request] pero no logro que Kamailio escuche el puerto que configuro (80, 8080 o cualquier puerto que defina) para enviar el request via http.
Tengo configurado: listen=tcp:eth0:8080 listen=udp:eth0:5060
Resultado.
Listening on udp: 172.x.x.x:5060 udp: 127.0.0.1:5060 Aliases: udp: localhost:5060 udp: LAB-SERVER:5060
Solo me escucha el 5060.
El sáb, 4 jun 2022 a las 12:55, Jose Fco. Irles Durá (josefu@gmail.com) escribió:
Otra opción es que hagas un GET a un path específico en el event_route[xhttp:request] y ahí ejecutes lo que quieras, como por ejemplo un script local para hacer lo que quieras.
El sáb, 4 jun 2022 a las 15:13, Joel Serrano (joel@textplus.com) escribió:
También puedes usar el propio jsonrpcs_exec() y hacer el reload desde la config cuando te de la gana.
On Fri, Jun 3, 2022 at 15:15 David Villasmil < david.villasmil.work@gmail.com> wrote:
> Eso lo puedes hacer con un archivo de texto simple. Kamailio puede > monitorizar el archivo y recargarlo automáticamente. > Si no, puedes hacer un un timer que dispare un trigger y recargarlo. > > On Fri, 3 Jun 2022 at 20:38, damian cassidyno@gmail.com wrote: > >> Hola, buenas tardes. >> Tengo una duda, espero que puedan orientarme o ayudarme. >> Tengo montado un Sistema de Redirect Server con Kamailio, >> funcionando OK. >> Este server lee una tabla que sale de un MYSQL y con el modulo >> mtree la cargo en memoria. >> Cuando hago modificaicones en la DB refresco los datos en memoria >> con el comando: kamcmd mtree.reload mytabla. >> >> Ahora bien, hay alguna forma de que haga este reload en forma >> remota. es decir, no tener que conectarme al server por ssh y tirar el >> comando localmente. >> Hay alguna posibilidad de que kamailio este escuchando y hacerle el >> request de reload? >> Si lo hay, cuentan con algun ejemplo que puede utilizar de >> referencia? >> >> Saludos. >> _______________________________________________ >> sr-users-es mailing list >> sr-users-es@lists.kamailio.org >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es >> > -- > Regards, > > David Villasmil > email: david.villasmil.work@gmail.com > phone: +34669448337 > _______________________________________________ > sr-users-es mailing list > sr-users-es@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es > _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
-- Jose Fco. Irles Durá _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
Hola, buenas tardes. Agradezco mucho su guía. No termino de entender que recomiendan que haga en ese if...que no devuelva una respuesta y que lo saque automáticamente del sistema? if(src_ip!=192.168.224.184) { exit; } Me doy cuenta que también podría haber aplicado las condiciones en un solo if. if(src_ip!=192.168.224.184 && st_port!=8080) { exit; }
La regla de iptables la voy a tener en en cuenta para un ambiente productivo.
El lun, 6 jun 2022 a las 16:20, Joel Serrano (joel@textplus.com) escribió:
+1 a lo que comenta David:
Es mucho más fácil (hablando de rapidez y recursos) para el sistema descartar un paquete a nivel de kernel que para la aplicación a nivel de usuario.
Saludos!!
On Mon, Jun 6, 2022 at 11:08 AM David Villasmil < david.villasmil.work@gmail.com> wrote:
quizás un "exit;" es mejor aquí:
if(src_ip!=192.168.224.184) {
Y también es recomendable que pongas una regla en iptables al menos.
Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337
On Mon, Jun 6, 2022 at 4:13 PM damian cassidyno@gmail.com wrote:
Gente, ya se encuentra funcionando, muchas gracias por toda la colaboración.
La conf. quedó de la siguiente manera, por si alguno le interesa.
disable_tcp=no tcp_accept_no_cl=yes
listen=tcp:eth0:8080 listen=udp:eth0:5060 listen=udp:127.0.0.1:5060
#####Modulos para Request Reload mtree##### loadmodule "xhttp.so" loadmodule "jsonrpcs.so" #sudo apt-get install kamailio-json-modules# loadmodule "json.so" #######
event_route[xhttp:request] { if!(dst_port==8080) { xlog("L_NOTICE", "[XHTTP:REQUEST] $si FORBIDDEN! ***\n"); exit; } if(src_ip!=192.168.224.184) { xhttp_reply("403", "Forbidden", "text/html", "<html><body>Not allowed from $si</body></html>"); xlog("L_NOTICE", "[XHTTP:REQUEST] NOT ALLOWED FROM $si! ***\n"); exit; } if ($hu =~ "^/mtree") { $var(dbmtree) =$(rb{json.parse,db}); xlog("L_NOTICE", "[XHTTP:REQUEST] $si:$sp - db: $var(dbmtree) ACCEPTED ***\n"); $var(json_rpc)='{"jsonrpc": "2.0", "method": "mtree.reload", "id": "$var(dbmtree)"}'; jsonrpc_exec($var(json_rpc)); xlog("L_NOTICE","jsonrpc response code: $jsonrpl(code) - the body is: $jsonrpl(body)\n"); xhttp_reply("200", "Forbidden", "text/html", "<html><body>OK - [$si:$sp - db: $var(dbmtree)]</body></html>");
} else { xhttp_reply("200", "OK", "text/html", "<html><body>Wrong URL $hu</body></html>"); xlog("L_NOTICE", "[XHTTP:REQUEST] WRONG URL $hu! ***\n"); } return; }
Saludos.
El lun, 6 jun 2022 a las 9:49, damian (cassidyno@gmail.com) escribió:
Disculpen, encontré el error porque el que no levantaba el puerto 8080, Tenia en el archivo de configuración disable_tcp=yes. Ire por el camino del Request y veré si me funciona.
Saludos.
El lun, 6 jun 2022 a las 9:41, damian (cassidyno@gmail.com) escribió:
Eh intentado lo del event_route[xhttp:request] pero no logro que Kamailio escuche el puerto que configuro (80, 8080 o cualquier puerto que defina) para enviar el request via http.
Tengo configurado: listen=tcp:eth0:8080 listen=udp:eth0:5060
Resultado.
Listening on udp: 172.x.x.x:5060 udp: 127.0.0.1:5060 Aliases: udp: localhost:5060 udp: LAB-SERVER:5060
Solo me escucha el 5060.
El sáb, 4 jun 2022 a las 12:55, Jose Fco. Irles Durá (< josefu@gmail.com>) escribió:
Otra opción es que hagas un GET a un path específico en el event_route[xhttp:request] y ahí ejecutes lo que quieras, como por ejemplo un script local para hacer lo que quieras.
El sáb, 4 jun 2022 a las 15:13, Joel Serrano (joel@textplus.com) escribió:
> También puedes usar el propio jsonrpcs_exec() y hacer el reload > desde la config cuando te de la gana. > > On Fri, Jun 3, 2022 at 15:15 David Villasmil < > david.villasmil.work@gmail.com> wrote: > >> Eso lo puedes hacer con un archivo de texto simple. Kamailio puede >> monitorizar el archivo y recargarlo automáticamente. >> Si no, puedes hacer un un timer que dispare un trigger y recargarlo. >> >> On Fri, 3 Jun 2022 at 20:38, damian cassidyno@gmail.com wrote: >> >>> Hola, buenas tardes. >>> Tengo una duda, espero que puedan orientarme o ayudarme. >>> Tengo montado un Sistema de Redirect Server con Kamailio, >>> funcionando OK. >>> Este server lee una tabla que sale de un MYSQL y con el modulo >>> mtree la cargo en memoria. >>> Cuando hago modificaicones en la DB refresco los datos en memoria >>> con el comando: kamcmd mtree.reload mytabla. >>> >>> Ahora bien, hay alguna forma de que haga este reload en forma >>> remota. es decir, no tener que conectarme al server por ssh y tirar el >>> comando localmente. >>> Hay alguna posibilidad de que kamailio este escuchando y hacerle >>> el request de reload? >>> Si lo hay, cuentan con algun ejemplo que puede utilizar de >>> referencia? >>> >>> Saludos. >>> _______________________________________________ >>> sr-users-es mailing list >>> sr-users-es@lists.kamailio.org >>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es >>> >> -- >> Regards, >> >> David Villasmil >> email: david.villasmil.work@gmail.com >> phone: +34669448337 >> _______________________________________________ >> sr-users-es mailing list >> sr-users-es@lists.kamailio.org >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es >> > _______________________________________________ > sr-users-es mailing list > sr-users-es@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es >
-- Jose Fco. Irles Durá _______________________________________________ sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es mailing list sr-users-es@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es@lists.kamailio.org