Klaus Darilion wrote:
Hi Jamey!
Im interested in the presence agent module, especially in including
geographical user information into the presence data.
What is the body type of the publication/notifications? Is it XML based
presence like used by Windows Messenger and Kphone? Is this format
defined somewhere? Is this the same as this old draft?
http://www.iptel.org/info/players/ietf/presence/outdated/draft-rosenberg
-impp-pidf-00.txt
The presentity table includes x and y colums? Are these to represent the
geographical location of the publisher?
Hi Klaus,
The body type is application/cpim-pidf+xml with a couple extensions
modeled on geopriv and civil location. The same body type is accepted
by the code that handles PUBLISH and updates the database. The NOTIFY
messages are generated from that. We have an 802.11 location tracking
system that generates PUBLISH messages that include site, floor, room,
x, y and radius of the position estimate. Our location tracking service
yields roughly office-level resolution for the two floors of our
building that we occupy. The position data is for the client device
from which a user is registered. We also have PHP code for a presence
portal that lets users update their location manually if no location
service is available or if they wish to override the location provided
by the location service.
The presence agent still needs some work -- it currently allows anyone
to subscribe. I have mostly coded support for the watcherinfo event
package and for xcap access to presence-lists, so that users can be
notified when a new person requests to subscribe to their presence info
and so that users can use xcap to authorize/deny those requests. I have
been working with Xiaotao Wu at Columbia to debug that against the sipc
user agent and I've been adding code to linphone. It would be great if
someone wants to add similar support to kphone. I may get to kphone but
I have a lot on my plate right now.
The other thing that the presence agent should have with respect to
physical location is a way for a user to specify the resolution of the
location information to be shared with other users. For example, I
might want to let people know I'm on the 12th floor here but not which
office I'm in.
Another problem with the presence agent is that Windows Messenger does
not accept the NOTIFY messages, so none of your contacts looks to be
online. I'm not interested in supporting a UA that does not support the
internet draft standards but if minor tweaks would make this work that
would be OK.
The final issue that comes to mind with the PA is that it is set up to
aggregate presence for all user agents. It handles SUBSCRIBE and
PUBLISH, and it generates NOTIFY. It gets basic online/offline status
from the usrloc module but depends on the UA or other presence agent to
PUBLISH more detailed information.
I hope this is helpful. I am planning to write a document that outlines
how this works and what is needed from UA's. I imagine that review and
revision of that document will lead to changes in the PA implementation
to make the whole system work better.
Jamey