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(a)voztele.com
http://www.voztele.com
Tel. 902360305
-------------------------------------