[OpenSER-Users-ES] Problema con t_replicate()
Raúl Alexis Betancor Santana
rabs at dimension-virtual.com
Tue Jan 15 22:45:41 CET 2008
On Tue, Jan 15, 2008 at 10:19:02PM +0100, Iñaki Baz Castillo wrote:
> El Martes, 15 de Enero de 2008, Raúl Alexis Betancor Santana escribió:
> Entonces el registro aparecerá duplicado en la BD, lo cual te dará problemas
> cuando OpenSer lea de la BD a memoria (obtendrá 2 localizaciones por cada
> registro).
>
> Yo intuyo que Jesús hace mención a la función "save(domain,flags)":
> http://www.openser.org/docs/modules/1.3.x/registrar.html#AEN316
>
> flags - the value may be a bitwise OR of the following flags:
> 0x01 - save the contacts only in memory cache without no DB operation;
> 0x02 - do not generate a SIP reply to the current REGISTER request.
>
> El primer flag evitará el problema de la duplicidad de cada registro en BD.
> El segundo flag evitará una respuesta SIP duplicada (pues ya la habrá enviado
> el primer registrar).
Lo cual transforma esa parte del script en algo así:
[skip]
if(!src_ip=sbc02)
{
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;
}
t_replicate("sip:sbc02:5060");
}
else
{
# comes from one of our SBC
if(!save("location","0x01&0x02"))
{
xlog("L_ERR", "Saving contact failed - M=$rm
RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
sl_reply_error();
exit();
}
}
xlog("L_INFO", "Registration successful - M=$rm RURI=$ru F=$fu
T=$tu IP=$si ID=$ci\n");
exit;
[skip]
¿Se pueden especificar los flags de esa manera ... "0x01&0x02" ó ¿hay
que "sumarlos" y sería "0x03" ?
Porque lo que interesa aquí es ni lo grabe en BD, ni mande el reply.
Saludos
--
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.
More information about the Users-es
mailing list