[Users] new set of modules: presence user agent client implementations

Daniel-Constantin Mierla daniel at voice-system.ro
Thu Dec 7 14:46:08 CET 2006


Hello everybody,

during last week a new set of modules have been introduced to CVS 
repository. They are prefixed with 'pua'  which stands for 'presesece 
user agent'. There is one module actually having the name 'pua', which 
implements the common API needed by other modules from this category.

At this moment there are two modules which behave as presence user agent 
for user location records (pua_usrloc) and presence user agent for 
external applications which can use new management interface (MI - via 
FIFO file or XMLRPC) to publish details -- this module is named pua_mi. 
Next step in this direction will be implementation of PUA for xmpp.

With pua_usrloc module you can configure OpenSER to publish 
online/offline status in behalf of SIP devices registered to OpenSER but 
not supporting presence extensions. The users which have phones 
supporting presence extension can see if the other users are registered 
or not.

pua_mi module is one very interesting. It enables external applications 
to publish presence information, through a FIFO file or XMLRPC at this 
moment. In this way, basically one adds SIMPLE support to whatever they 
need in a easy and comfortable manner. PUBLISH support is there, 
SUBSCRIBE is implemented but needs an outward communication channel from 
OpenSER while MI is inward.

Having two new features in place (the MI and SIMPLE/Presence stuff), I 
though it may be more appealing to start trying and testing if some 
examples are made available. Therefore I created a dokuwiki page where 
you can find two shell scripts along with OpenSER configuration file.

http://openser.org/dokuwiki/doku.php/presence:pua-modules

One of the shell scripts publishes details from operating system: logged 
in users (U), system CPU usage(C), free memory (M) and load average (L).

The other one publishes details gathered from OpenSER statistics: 
processed SIP requests (R), active transactions (T) and user location 
records (U).

I think they are good examples to start with. I made two screenshots of 
XLite v3.0 subscribed to such presence information.
http://www.openser.org/downloads/presence/xlite-openser-system.jpg
http://www.openser.org/downloads/presence/xlite-openser-stats.jpg

Readme files for these new modules:
http://www.openser.org/docs/modules/1.2.x/pua.html
http://www.openser.org/docs/modules/1.2.x/pua_mi.html
http://www.openser.org/docs/modules/1.2.x/pua_usrloc.html

We have a lot of new code in place, the testing is a very appreciated 
help you can give.

Cheers,
Daniel





More information about the Users mailing list