Juha Heinanen wrote:
jamey,
thanks for working on the pa module.
PA handles subscribes on behalf of users
registered against ser and
generates notifies when their presence information changes.
i have a general question on this one. how does the pa module know if
the user is willing to let someone to subscribe to its presence
information? is there now some standard way for the presence server to
ask about it from the user or how it is done?
When I first wrote the code, it would allow subscription from anyone.
Later I added a parameter to control whether it does that or uses
watcherinfo to manage subscriptions. In this mode, a new watcher is
initially unauthorized and PA adds a new entry to the watcherinfo table
in the database. PA then sends a watcherinfo event NOTIFY to whoever is
subscribed to that event package and adds an entry to the watcherinfo
table in the database.
A UA subscribes to its the user's watcherinfo. When it receives a
watcherinfo NOTIFY, it uses XCAP (HTTP GET) to fetch the user's
watcherinfo from the XCAP server, which is reading from ser's database.
The UA asks user whether to authenticate new users and then PUTs back an
updated watcherinfo document to the XCAP server. The XCAP server writes
to the database and notifies PA via a ser FIFO command. At that point,
if a watcher has been authorized and has an active subscription, PA
should send a NOTIFY.
I hope that is a useful overview of how it is supposed to work. There
are few UA's that support XCAP -- sipc from Columbia is one of them but
it's not generally available.
Jamey