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.