El 4 de agosto de 2009 18:55, Robert Contreras<talfli64(a)gmail.com> escribió:
Buen día Lista, esta pregunta es mas que todo referida
al protocolo SIP,
actualmente estoy probando una maqueta de alta disponibilidad con dos
Kamailio en una disposicion activo-pasivo ya está configurada la parte de la
IP Virtual (con la que se registran los teléfonos) usando Heartbeat y
funciona adecuadamente, ahora bien, el problema radica en que cuando el
servidor que está en estado activo sufre una falla, el sip-proxy que asume
la IP Virtual no sabe donde están los teléfonos hasta que ellos envían su
registro de nuevo al momento de vencerse el temporizador (por default 3600
seg).
Eso es que ambos servidores no están usando la misma BD (o una base de
datos replicada) para guardar la información de los registros. Por
supuesto, si quieres redundancia los registros se *deben* guardar en
BD y no sólo en memoria (mira el parámetro db_mode del módulo usrloc o
registrar).
Opciones:
1) Manejar una BD en un servidor externo.
2) Tener una BD en cada server Kamailio con replicación master-master (upsss).
Dado que en una implementación grande no seria
práctico bajar este
tiempo en todos los teléfonos, investigue sobre esta utilidad llamada
"sipsak" con la que se pueden construir mensajes SIP, ahora bien ¿ Es
posible construir un mensaje SIP que indique a todos los teléfonos que deben
enviar una petición de registro en un momento determinado?, algo asi como
mandar un mensaje a la dirección de broadcast.
No, eso no se puede hacer.
¿ Que otras opciones les parece que existen ?. Gracias de antemano.
El problema lo tienes en el diseño del servidor (la parte de la BD).
--
Iñaki Baz Castillo
<ibc(a)aliax.net>