[SR-Users-ES] Consulta Envió de comando en forma remota

damian cassidyno en gmail.com
Lun Jun 6 17:12:53 CEST 2022


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 en 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 en 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 en 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 en 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 en 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 en 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 en lists.kamailio.org
>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
>>>>>>
>>>>> --
>>>>> Regards,
>>>>>
>>>>> David Villasmil
>>>>> email: david.villasmil.work en gmail.com
>>>>> phone: +34669448337
>>>>> _______________________________________________
>>>>> sr-users-es mailing list
>>>>> sr-users-es en lists.kamailio.org
>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
>>>>>
>>>> _______________________________________________
>>>> sr-users-es mailing list
>>>> sr-users-es en 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 en lists.kamailio.org
>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users-es
>>>
>>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.kamailio.org/pipermail/sr-users-es/attachments/20220606/24b5528a/attachment.htm>


Más información sobre la lista de distribución sr-users-es