Privacy Policies in Presence - Program Documentation

Swetha Nekkanti
Columbia University
New York, NY 10027
USA
sn2189@columbia.edu
 
 

Abstract

This project involves implementation of presence related privacy policies in the SIP based presence server based on the subscriber/watcher and presentity.

 

System Details

This software has been developed in C++ in Red Hat Enterprise Linux systems, kernel version 2.6.9-11. It is integrated into the presence server.

 

Program Internal Operation :

When a  SUBSCRIBE request comes in the subscribe handler calls the getAuthorization() API from the SubscriptionAuthorization module which in turn gets the Subscription handling value for that subscriber as a result of rule matching and rule combination processes (PrivacyRuleMatch). The PolicyQuery module acts as an interface for the other modules with the rules database. PrivacyRuleMatch makes use of PolicyQuery object to query the database and get rules that match a given subscriber and a given presentity. It then combines the matched rules into a single rule for that subscriber according to the algorithm specified in the common-policy specification.Once the subscription is handled, the subscriber may be notified with filtered presence document depending on how the subscription is handled..

For filtering the presence document,the PrivacyFilter module comes into play. This module has a function called doFilter() API  which internally parses the composed presence document and depending on permissions applicable to the watcher, elements in the presence document may be retained or removed. The final filtered document is returned to the notify handler/publish handler.

 

Testing

Numerous tests were conducted to cover various types of policy documents (rules) and various types of presence documents. These tests are outlined in the Test Cases Document

 

Known Bugs/Issues

- Filtering on <provide-services>,<provide-devices> and <provide-persons> when explicit occurences are specified (<all-services>,<all-devices> and <all-persons> work fine).

- Filtering of unknown elements from the presence document.

 

Acknowledgements

I would like to thank Professor Henning Schzulrinne, Dept. of Computer Science, Columbia University for providing valuable guidance and feedback throughout this project. I would also like to thank Vishal.K.Singh ,Columbia University, for all his help in getting more acquainted with the SIP presence server and providing guidance throughout this project.