[OpenSER-Users-ES] [Users-Es] Presencia y tal...

Saúl Ibarra saghul at gmail.com
Thu Sep 6 21:18:48 CEST 2007


Ya veo... mayormente casi como lo recordaba... Entonces lo que haré
será implementar la presencia con el módulo publish, para el tema de
los softphones (Twinkle powa!), mensajería y tal...

El 6/09/07, Iñaki Baz Castillo <ibc at aliax.net> escribió:
> El Jueves, 6 de Septiembre de 2007, Saúl Ibarra escribió:
> > Entonces podría interesarme para los teléfonos que no soportan PUBLISH
> > no?
>
> Sí, pero como no hay una forma estándar de comunicar eso en los mensajes SIP
> (por ejemplo en el REGISTER)...
>
>
> > Creo que tu anduviste en el tema pero no era posuible saber cuales
> > soportaban y cuales no, no?
>
> No, no hay.
>
> Probé unos cuántos inventos, como por ejemplo examinar la tabla location
> con "is_registered()" para aplicar sólo el pua_usrloc si el usuario no estaba
> registrado, y más chapucillas así. Pero no son válidas porque es una carrera
> de timers entre el tiempo de registro y el tiempo de caducidad del PUBLISH, y
> paso de obligar a un intervalo de registro fijo sólo por la tontería del
> pua_usrloc.
>
> Es decir, me encontré con un montón de problemas.
>
>
> > Como solucionaste el tema?
>
> Primeramente decir que realmente "no" debería ser un problema tan grande que
> un cliente SIP envíe un PUBLISH cuando se inicia y que, como también envía un
> REGISTER, resulte que OpenSer genera otro PUBLISH para él. Piensa que cuenta
> el último que se genere (que es el que genera un nuevo NOTIFY acorde con su
> contenido).
>
> Un ejemplo de problema: Imagina que arrancas un softphone que envía un
> REGISTER cada 1000 segundos y un PUBLISH cada 1500 (además de en el arranque,
> claro).
>
> - En el arranque se envían ambos mensajes y bueno, no pasa nada.
> - Pero ahora el usuario se pone a mano en modo "offline".
> - Entonces genera un PUBLISH que en OpenSer genera a su vez varios NOTIFY
> con "offline" para todos los subscriptores de la presencia de nuestro
> usuario.
> - Es decir, ahora el resto le ven "offline".
> - Pero entonces pasan 1000 segundos y mi cliente SIP envía un REGISTER con lo
> que se genera un PUBLISH "online" y los consiguientes NOTIFY y nos ven
> como "online".
> - Esto se "arregla" a los 500 seg con mi próximo PUBLISH que
> indicará "offline" (si es que el usuario no lo cambia manualmente antes).
>
> Es decir, una carrera de "timers".
>
>
>
> Lo suyo sería tener un listado de clientes que soporten PUBLISH o de los que
> no, y comprobar el User-Agent antes de hacer el pua_usrloc, pero claro...
> coñazo.
>
>
> En fin, que yo digamos que dejé el tema un poco en el olvido.
>
> Saludos.
>
> --
> Iñaki Baz Castillo
>
>
> _______________________________________________
> Users-es mailing list
> Users-es at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users-es
>
>


-- 
Saúl -- "Some people say why, other just say, why not."
----------------------------------------------------------------
http://www.saghul.net/




More information about the Users-es mailing list