[OpenSER-Users-ES] Problema con t_replicate()
Jesus Rodriguez
jesusr at voztele.com
Tue Jan 15 21:48:09 CET 2008
Hola Raúl,
> Para ponernos en situación, tengo 2 Openser 1.3.0 a los que los
> usuarios atacan por DSN round-robin ó registros SRV, hasta aquí todo
> ok.
>
> Ahora ... tengo esto puesto en guión del openser para la
> autenticación:
>
> ########################################################################
> # Request route 'base-route-register'
> #
> ########################################################################
> route[11]
> {
> sl_send_reply("100", "Trying");
> if(!www_authorize("", "subscriber"))
> {
>
> xlog("L_INFO", "Register authentication failed - M=$rm
> RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
> www_challenge("", "0");
> exit;
> }
> if(!check_to())
> {
>
> xlog("L_INFO", "Spoofed To-URI detected - M=$rm
> RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
> sl_send_reply("403", "Spoofed To-URI Detected");
> exit;
> }
> consume_credentials();
> if(!search("^Contact:[ ]*\*") && nat_uac_test("19"))
> {
> fix_nated_register();
> setbflag(6);
> }
> if(!save("location"))
> {
>
> xlog("L_ERR", "Saving contact failed - M=$rm RURI=$ru
> F=$fu T=$tu IP=$si ID=$ci\n");
> sl_reply_error();
> exit;
> }
>
> if(!src_ip==sbc02)
> {
> t_replicate("sip:sbc02","5060");
> };
>
> xlog("L_INFO", "Registration successful - M=$rm RURI=$ru F=$fu
> T=$tu IP=$si ID=$ci\n");
> exit;
> }
>
> **********
>
> ¿Es correcto el formato de la llamada a t_replicate()?, lo pregunto
> porque según la documentación ese "sip:" sobra .. pero sino lo pongo
> el openser se queja en el log de que no puede parsear la uri.
Los parámetros que le pasas a t_replicate() son incorrectos. El puerto
va junto a la ip. El "5060" lo interpreta como flags. El formato
correcto es:
t_replicate("sip:sbc02:5060")
http://www.openser.org/docs/modules/1.3.x/tm.html#TREPLICATE
> Luego a parte está el tema de que si hago un openserctl ul show .. no
> veo que se hayan replicado los registers en ambos servidores.
Si haces un ngrep, ¿ves si los REGISTER van de un proxy a otro?.
> Agradecería cualquier indicación al respecto del uso de t_replicate()
> puesto que la información disponible en la web de openser es harto
> inútil sobre esta función.
Funcionar, funciona, te lo aseguro :)
P.D. En el servidor replicado, si usa la misma base de datos que el
replicante, cuidado con como usas el save() ...
Saludos
JesusR.
------------------------------------
Jesus Rodriguez
VozTelecom Sistemas, S.L.
jesusr at voztele.com
http://www.voztele.com
Tel. 902360305
-------------------------------------
More information about the Users-es
mailing list