Presence

Version 16 (Adrian Georgescu, 09/18/2012 03:23 pm)

1 1 Adrian Georgescu
h1. Presence
2 1 Adrian Georgescu
3 15 Adrian Georgescu
h2. Design Principles
4 15 Adrian Georgescu
5 16 Adrian Georgescu
Blink should work with any server that supports the same standards as Blink. There is nothing proprietary that would stop interoperability between two Blink clients using any properly configured SIP and XCAP server. There is however no guaranty that this would work with other clients.
6 16 Adrian Georgescu
7 16 Adrian Georgescu
h3. Interoperability
8 16 Adrian Georgescu
9 16 Adrian Georgescu
Presence is a complex issue and the mechanism used internally by Blink may not necessarily work under your own environment. If you want to troubleshot when things do not work, first use the built-in Blink accounts that are designed to work with SIP2SIP domain. As full traces are available in the client you can easily access debug information. 
10 16 Adrian Georgescu
11 16 Adrian Georgescu
We can provide support if you encounter interoperability issues with the following products and services:
12 16 Adrian Georgescu
13 16 Adrian Georgescu
 * SIP2SIP.info accounts
14 16 Adrian Georgescu
 * Interoperability with any XMPP domain supported by SIP2SIP.info
15 16 Adrian Georgescu
 * OpenSIPS + OpenXCAP combinations
16 16 Adrian Georgescu
17 15 Adrian Georgescu
18 15 Adrian Georgescu
h3. Support
19 15 Adrian Georgescu
20 15 Adrian Georgescu
As presence require proper infrastructure that many SIP service providers simply lack today, do not complain to use when Presence does not work. Use a SIP2SIP account instead or use OpenSIPS+ OpenXCAP server combination thatr has been used to develop all Blink features.
21 15 Adrian Georgescu
22 15 Adrian Georgescu
Contacts are stored on the XCAP server in the resource-lists document under a proprietary name space to avoid conflicts with other end-points that might use the same document as there is no common standard way for how to store a rich address book on a server. This means that different SIP user agents from different vendors cannot read or modify this data in a deterministic way. The contacts in the address-book are then used by standard OMA rls-services and pres-rules XCAP documents. The SIP and XCAP servers need to support OMA style XCAP documents in order to interoperate with Blink.
23 15 Adrian Georgescu
24 12 Adrian Georgescu
h2. Contacts
25 1 Adrian Georgescu
26 12 Adrian Georgescu
Contacts have two Presence related properties that can changed in Edit Contact Panel Subscriptions section:
27 1 Adrian Georgescu
28 8 Adrian Georgescu
 * Subscribe to Contact's Presence Information
29 8 Adrian Georgescu
 * Allow Contact to see my Presence Information
30 1 Adrian Georgescu
31 4 Adrian Georgescu
h2. Watcher Information
32 4 Adrian Georgescu
33 13 Adrian Georgescu
Using SUBSCRIBE for presence.winfo event package, Blink keeps track of presence watchers and their status.
34 6 Adrian Georgescu
 
35 4 Adrian Georgescu
 * Contacts that have subscribed to our presence are rendered in the 'New Contact Requests' group that is rendered on top of the contacts list. Right click or dragging the contact can be used to allow or deny the request. Blocked contacts are displayed in the Blocked group.
36 4 Adrian Georgescu
 * Active watchers are shown in Status -> People Watching  My Presence Activity menu
37 4 Adrian Georgescu
38 6 Adrian Georgescu
h2. Published Presence
39 1 Adrian Georgescu
40 13 Adrian Georgescu
Using PUBLISH method for presence event package, the following information is published by Blink:
41 1 Adrian Georgescu
42 7 Adrian Georgescu
h3. Basic Status
43 7 Adrian Georgescu
44 7 Adrian Georgescu
Open or closed.
45 7 Adrian Georgescu
46 14 Adrian Georgescu
h3. Extended Status
47 7 Adrian Georgescu
48 14 Adrian Georgescu
Blink uses a proprietary extension for indicating the extented status compatible with XMPP end-points. 
49 7 Adrian Georgescu
50 6 Adrian Georgescu
h3. Location
51 1 Adrian Georgescu
52 6 Adrian Georgescu
Location is based on CIPID map extension. Location can be disabled per account in Presence section of account preferences.
53 6 Adrian Georgescu
54 6 Adrian Georgescu
h3. Homepage
55 6 Adrian Georgescu
56 6 Adrian Georgescu
A home page can be entered in Presence section of account preferences. Homepage is based on CIPID homepage extension.
57 1 Adrian Georgescu
58 3 Adrian Georgescu
h3. Note
59 6 Adrian Georgescu
60 14 Adrian Georgescu
Presence note can be typed in the text area right to own icon in the main GUI window. Note is attached to the service.
61 5 Adrian Georgescu
62 5 Adrian Georgescu
h3. Status
63 1 Adrian Georgescu
64 7 Adrian Georgescu
Presence status can be changed from the main GUI window and Status menu. Last combination of Presence state and note are saved in the history build at the end of the menu. 
65 1 Adrian Georgescu
66 5 Adrian Georgescu
h3. Icon
67 1 Adrian Georgescu
68 1 Adrian Georgescu
User icon is uploaded to XCAP server using OMA pres-content application, replicated among multiple Blink instances and location of icons storage URL on XCAP server is published in PIDF.
69 1 Adrian Georgescu
70 1 Adrian Georgescu
h3. Offline Presence
71 1 Adrian Georgescu
72 1 Adrian Georgescu
In status menu, one can change its presence state and also an offline state when Blink is offline. This is done using pidf-manipulation XCAP application.
73 1 Adrian Georgescu
74 1 Adrian Georgescu
h3. Media Capabilities
75 1 Adrian Georgescu
76 1 Adrian Georgescu
Type of media supported by the end-point.
77 1 Adrian Georgescu
78 1 Adrian Georgescu
h3. Device Information
79 1 Adrian Georgescu
80 1 Adrian Georgescu
The following information is published:
81 1 Adrian Georgescu
82 1 Adrian Georgescu
 * Hostname
83 1 Adrian Georgescu
 * Time offset
84 9 Adrian Georgescu
 * Idle status
85 1 Adrian Georgescu
 * GRUU contact address
86 8 Adrian Georgescu
87 10 Adrian Georgescu
h2. Subscribe To Presence
88 3 Adrian Georgescu
89 8 Adrian Georgescu
Using SIP SUBSCRIBE for RLS, Bink subscribes to the SIP addresses stored in rls-services document uploaded on the XCAP server by contacts management actions in the GUI (add/update/delete contacts).
90 1 Adrian Georgescu
 
91 10 Adrian Georgescu
h3. Presence Notifications
92 10 Adrian Georgescu
93 6 Adrian Georgescu
Presence information received from the SIP URIs as RLMI notifications from the RLS server is used to update each contact in the contacts list with:
94 1 Adrian Georgescu
95 1 Adrian Georgescu
 * Status icon overlaid on botton right of user icon, indicating away, busy, extended-away or available
96 1 Adrian Georgescu
 * Rectangular presence indicator on right side of the tile to provide a quick overview about availability
97 1 Adrian Georgescu
 * Presence note is rendered on second line, multiple notes and pending authorizations are rotated every 10 seconds
98 1 Adrian Georgescu
 * User icon is retrieved and updated when necessary from URL advertised by user 
99 2 Adrian Georgescu
100 2 Adrian Georgescu
Selecting  Show Presence Information menu item from contextual contact menu show a panel with detailed information, not all information may have been rendered in the GUI.
101 1 Adrian Georgescu
102 1 Adrian Georgescu
h2. Sessions
103 1 Adrian Georgescu
104 1 Adrian Georgescu
 * When subscribed to Presence, if information is received, the contextual menu of each contact is updated with the possibility of starting a session to a specific device. This requires the remote device to use GRUU.