Project

General

Profile

DesignBuddyList » History » Revision 6

Revision 5 (Adrian Georgescu, 07/09/2009 02:28 PM) → Revision 6/115 (Adrian Georgescu, 07/09/2009 02:36 PM)

= Buddy list = 

 [[TOC(Design*, depth=1)]] 

  * Account 
  * Address-book 
  * Buddy list 
  * Watcher list 
  * Presence rules 

 [[Image(sipsimple-buddy-list-design.png,width=600)]] 
 == Account == 

  * GET XCAP documents xcap-caps, pres-rules, resource-lists, pidf-manipulation, rls-services 
  * Sends Publish for event presence 
  * Maintains a '''Presentity''' attributed that is sent as body to Publish 
  * Sends Subscribe for event presence.info 
  * Sends Subscribe for event presence with Supported=eventlist 

 == Buddy lists == 

 Contains list of buddies. The buddylist is indexed by SIP URIs. Additional one can store full name or other attributes. Based on NOTIFY for event=presence each buddy has a '''Presentity''' attribute that contains published information. GUI displays parts of it. 

 Buddy list is stored in resource-lists XCAP document. If RLS is used, a RLS document that can contains a list of discrete SIP URIs is built and PUT on the server. 

 == Watcher lists == 

 Built based on the body of NOTIFY for event=presence.winfo. 

 == Presence rules == 

 Based on NOTIFY for event watcher.info we update the policy and PUT pres-rules document on the XCAP server. 

 == Icon storage == 

 http://xcap.example.com/xcap-root/icon/users/sip:alice@example.com/icon.png 

 Public access: Anyone can do GET    without being challenged with401. 

 Write access: PUT is 401-ed, only the owner can write it. 

 Use http://tools.ietf.org/html/rfc4482 to publish the link to it.