Hi!
I read the docs of the presence module and have some question. Maybe someone can enlighten me ;-)
1. If I understand correctly, the pua module acts as a "UAC". Thus, it can be used to send PUBLISH or SUBSCRIBE. I wonder what is the usecase for sending SUBSCRIBE? Usually, a client which sends a SUBSCRIBE receives subsequent NOTIFY messages. How can these NOTIFY messages be handled?
2. If an external application sends PUBLISH via the uac_mi interface, how can be distinguished between a "new" PUBLISH or an "update" PUBLISH? For example if the MI interface returns the E-Tag from the 200 Ok response this could be used in the next request to group identify PUBLISH reqeusts which belong together.
3. There is a bug in the pua module docs: the db_url(str) parameter is described twice.
4. The following module documentations lack of default values for the module parameters: pua, pua_usrloc, presence (maybe some example show the default value, but IMO the default value should be explicitely stated)
5. How can I update the presence status from a third party application? Is it possible to write directly into the tables of the presence modules? Or can I fake an update using the pua_mi to loop a PUBLISH to itself for handling it afterwards with handle_publish()? May this cause problems because it interferes the subsequent PUBLISH request from the client (etag)?
regards Klaus
On Dec 29, 2006, at 11:47 PM, Klaus Darilion wrote:
Hi!
I read the docs of the presence module and have some question. Maybe someone can enlighten me ;-)
- If I understand correctly, the pua module acts as a "UAC". Thus,
it can be used to send PUBLISH or SUBSCRIBE. I wonder what is the usecase for sending SUBSCRIBE? Usually, a client which sends a SUBSCRIBE receives subsequent NOTIFY messages. How can these NOTIFY messages be handled?
In this case is the pua module that sends Notify as responses to the Subscribe messages sent by the SIP UAs. For this to work the SIP UA must be set to use presence using a Presence agent where it send Publish messages and the proxy must relay all Subscribe messages to the presence module. The SIP UA does not send Notify in this case.
1. Presence Peer to Peer mode
SIP UAs send Subscribe/Notify between themselves. The Proxy need only to route these messages.
2. Presence Server mode
SIP UAs send Publish/Subscribe and both get routed to the presence server, which then sends Notify to the watchers validated by the XCAP rules. The proxy configuration must route the Subscribe messages to the presence server or module.
As far as I understand, these two modes seem to exclude each other, once you enable either mode the other cannot work so all user agents must obey to this topology.
Adrian
Hello,
On 12/30/06 00:47, Klaus Darilion wrote:
Hi!
I read the docs of the presence module and have some question. Maybe someone can enlighten me ;-)
- If I understand correctly, the pua module acts as a "UAC". Thus, it can
be used to send PUBLISH or SUBSCRIBE. I wonder what is the usecase for sending SUBSCRIBE? Usually, a client which sends a SUBSCRIBE receives subsequent NOTIFY messages. How can these NOTIFY messages be handled?
SUBSCRIBE is to be used first in XMPP gateway.
- If an external application sends PUBLISH via the uac_mi interface, how
can be distinguished between a "new" PUBLISH or an "update" PUBLISH? For example if the MI interface returns the E-Tag from the 200 Ok response this could be used in the next request to group identify PUBLISH reqeusts which belong together.
E-tag will be used when the pua_mi is going to use asynchronous MI processing. Now it is handled as 'update'.
- There is a bug in the pua module docs: the db_url(str) parameter is
described twice.
- The following module documentations lack of default values for the
module parameters: pua, pua_usrloc, presence (maybe some example show the default value, but IMO the default value should be explicitely stated)
Seems to be forgotten, it will be fixed in the next days.
- How can I update the presence status from a third party application? Is
it possible to write directly into the tables of the presence modules? Or can I fake an update using the pua_mi to loop a PUBLISH to itself for handling it afterwards with handle_publish()? May this cause problems because it interferes the subsequent PUBLISH request from the client (etag)?
Now you can write in database, a cache mode is planned for the future, but now it uses database since published XMLs could be quite big.
Cheers, Daniel
regards Klaus
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
On Sat, December 30, 2006 17:09, Daniel-Constantin Mierla said:
Hello,
On 12/30/06 00:47, Klaus Darilion wrote:
Hi!
I read the docs of the presence module and have some question. Maybe someone can enlighten me ;-)
- If I understand correctly, the pua module acts as a "UAC". Thus, it
can be used to send PUBLISH or SUBSCRIBE. I wonder what is the usecase for sending SUBSCRIBE? Usually, a client which sends a SUBSCRIBE receives subsequent NOTIFY messages. How can these NOTIFY messages be handled?
SUBSCRIBE is to be used first in XMPP gateway.
I still do not get it. The pua module is a client. Thus, using the pua module openser will send out SUBSCRIBE messages (e.g. to party X). Thus, openser will receive NOTIFYs (from party X). How to handle this NOTIFYs? Thus, if openser sends out SUBSCRIBE messages, it will receive
- How can I update the presence status from a third party application?
Is it possible to write directly into the tables of the presence modules? Or can I fake an update using the pua_mi to loop a PUBLISH to itself for handling it afterwards with handle_publish()? May this cause problems because it interferes the subsequent PUBLISH request from the client (etag)?
Now you can write in database, a cache mode is planned for the future, but now it uses database since published XMLs could be quite big.
How does the presence module knows that the database was updated and it should send out NOTIFY messages?
regards klaus
Now you can write in database, a cache mode is planned for the future, but now it uses database since published XMLs could be quite big.
How does the presence module knows that the database was updated and it should send out NOTIFY messages?
At this moment there is no link between a policy update of the XCAP presence-rules document and the the Presence UA. A mechanism is yet to be defined and easy to implement.
Adrian
regards klaus
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
On Sat, December 30, 2006 23:27, Adrian Georgescu said:
Now you can write in database, a cache mode is planned for the future, but now it uses database since published XMLs could be quite big.
How does the presence module knows that the database was updated and it should send out NOTIFY messages?
At this moment there is no link between a policy update of the XCAP presence-rules document and the the Presence UA. A mechanism is yet to be defined and easy to implement.
Actually I meant to update the presence state, not the XCAP rules.
regards klaus
Adrian
regards klaus
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
On Dec 31, 2006, at 12:12 PM, Klaus Darilion wrote:
On Sat, December 30, 2006 23:27, Adrian Georgescu said:
Now you can write in database, a cache mode is planned for the future, but now it uses database since published XMLs could be quite big.
How does the presence module knows that the database was updated and it should send out NOTIFY messages?
At this moment there is no link between a policy update of the XCAP presence-rules document and the the Presence UA. A mechanism is yet to be defined and easy to implement.
Actually I meant to update the presence state, not the XCAP rules.
The Notifys are triggered by the receiving of the Publish message.
Adrian
Adrian Georgescu wrote:
On Dec 31, 2006, at 12:12 PM, Klaus Darilion wrote:
On Sat, December 30, 2006 23:27, Adrian Georgescu said:
Now you can write in database, a cache mode is planned for the future, but now it uses database since published XMLs could be quite big.
How does the presence module knows that the database was updated and it should send out NOTIFY messages?
At this moment there is no link between a policy update of the XCAP presence-rules document and the the Presence UA. A mechanism is yet to be defined and easy to implement.
Actually I meant to update the presence state, not the XCAP rules.
The Notifys are triggered by the receiving of the Publish message.
Thus, is there a way to modify the presence payload and trigger NOTIFY requests from an external application?
regards klaus
An out of band reload command in the management interface can solve this. So you may change the presentity stored in db from your external application and issue a reload command for that presentity, which caches the data in memory and sends the Notifys out.
Adrian
On Jan 3, 2007, at 10:54 AM, Klaus Darilion wrote:
Adrian Georgescu wrote:
On Dec 31, 2006, at 12:12 PM, Klaus Darilion wrote:
On Sat, December 30, 2006 23:27, Adrian Georgescu said:
Now you can write in database, a cache mode is planned for the future, but now it uses database since published XMLs could be quite big.
How does the presence module knows that the database was updated and it should send out NOTIFY messages?
At this moment there is no link between a policy update of the XCAP presence-rules document and the the Presence UA. A mechanism is yet to be defined and easy to implement.
Actually I meant to update the presence state, not the XCAP rules.
The Notifys are triggered by the receiving of the Publish message.
Thus, is there a way to modify the presence payload and trigger NOTIFY requests from an external application?
regards klaus
-- Klaus Darilion nic.at
On Wed, January 3, 2007 18:47, Adrian Georgescu said:
An out of band reload command in the management interface can solve this. So you may change the presentity stored in db from your external application and issue a reload command for that presentity, which caches the data in memory and sends the Notifys out.
Sounds good - except that the reload function does not exist yet ;-)
regards klaus
Adrian
On Jan 3, 2007, at 10:54 AM, Klaus Darilion wrote:
Adrian Georgescu wrote:
On Dec 31, 2006, at 12:12 PM, Klaus Darilion wrote:
On Sat, December 30, 2006 23:27, Adrian Georgescu said:
> Now you can write in database, a cache mode is planned for the > future, > but now it uses database since published XMLs could be quite big.
How does the presence module knows that the database was updated and it should send out NOTIFY messages?
At this moment there is no link between a policy update of the XCAP presence-rules document and the the Presence UA. A mechanism is yet to be defined and easy to implement.
Actually I meant to update the presence state, not the XCAP rules.
The Notifys are triggered by the receiving of the Publish message.
Thus, is there a way to modify the presence payload and trigger NOTIFY requests from an external application?
regards klaus
-- Klaus Darilion nic.at