+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
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
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