[OpenSER-Users] [wiki] Adding page about SIP devices supporting presence PUBLISH

Iñaki Baz Castillo ibc at in.ilimit.es
Mon Oct 8 10:54:04 CEST 2007


El Monday 08 October 2007 10:07:08 Juha Heinanen escribió:
> Iñaki Baz Castillo writes:
>  > Maybe devices which send PUBLISH allow always a received SUBSCRIBE, but
>  > having "SUBSCRIBE" in "Allow" header dones't mean supporting PUBLISH.
>  > Does it?
>
> sorry, i guess i didn't understand what the problem was.  usually only
> presence servers allow publish.
>
> could you clarify what you were after.

Handling "pua_usrloc" with devices supporting PUBLISH is a little pain since 
there is a "race condition" with periodical REGISTER and PUBLISH sending by 
the device send.

As I said in my first mail, if a device supporting presence 
publishes "Online - Away" and after a minute it generates a REGISTER (to 
refresh the "expire" in the server), then this REGISTER will generate a new 
PUBLISH (made by "pua_usrloc" module), but this PUBLISH will just 
indicate "Online", so watchers will see "Online".
After a while, when the device sends a refresh PUBLISH this will 
contain "Online - Away", and that is what watchers will see then.

That's what I mean a "little pain".

In order to avoid htis issue I plan to use "pua_set_publish()" only if the 
device doesn't support presence PUBLISH. But there is no a cool way to know 
which device support it or not.

Theorically there is:
  RFC 3840 - Indicating User Agent Capabilities in SIP

In this you can read things like:

------------------------------------------------------------------------------------------
Contact: <sip:user at pc.example.com>
             ;mobility="fixed";events="!presence,message-summary"
             ;language="en,de";description="<PC>"
             ;+sip.newparam;+rangeparam="#-4:+5.125"

"Examples of typical use: Choosing to communicate with a presence application 
on a PC, instead of a PC phone application."
------------------------------------------------------------------------------------------

But in fact I've never seen a device indicating this.

So I need a way to determine if a device does PUBLISH or not, that is the 
reason I plan to have a DB table with PUBLISH capable (or not 
capable) "user-agent" list.

And I'd like to know your opinions about this. ;)

Regards.




-- 
Iñaki Baz Castillo
ibc at in.ilimit.es




More information about the Users mailing list