Presence Service Russ Clark Mobile Applications and Services September 23, 2009

advertisement
Presence Service
Russ Clark
Mobile Applications and Services
September 23, 2009
Friday, September 25, 2009
What is Presence?
•
A service that indicates the ability and willingness
of a user to communicate
•
•
Supports multiple devices and interfaces
•
Nearly all interesting IMS applications should
leverage the presence service
•
Instant Messaging (IM) is closely linked with
Presence
Friday, September 25, 2009
Perhaps the most important SIP application service
for the IMS architecture
Presence Architecture
PUBLISH
SUBSCRIBE
NOTIFY
PA Presence Agent
The main presence servers
Presentity Presence Entity
Friday, September 25, 2009
PUA Presence User Agent
Gathers presence info
and publishes it to
the service.
Watchers End users
or other Services
Presence Standards
•
RFC 2778 - A Model for Presence and Instant
Messaging - lots of terminology definitions
•
•
RFC 3856 - Presence Event Package for SIP
•
OMA: Open Mobile Alliance
•
Friday, September 25, 2009
RFC 3863 - Presence Information Data Format
(PIDF)
•
SIMPLE: SIP Instant Messaging and Presence
Leveraging Extensions from the Presence and
Availability working group
3GPP Presence Service Framework
Presence User Agents
Each PUA may present different types of presence
information
•
•
•
•
Online Status - open, closed
Availability - available, busy, current activity
Available for - text chat, voice, video, etc
Mood - tolerance for interrupts
The PA (service) must merge all of these inputs to
create a unified view of the Presentity.
Other information is available based on the IMS
registration status.
Friday, September 25, 2009
Privacy
Users must be able to control
•
•
•
•
what information the PUA can access
what information is published to the PA
which watchers can see the data
which subsets of the data are available to each
watcher
For usability, some form of group feature is
necessary.
Friday, September 25, 2009
Presence Data Format
PIDF: Presence Information Data Format
•
•
•
•
•
Friday, September 25, 2009
RFC 3863
XML document format
minimal specification
designed to be extensible
many current efforts to extend this
•
•
additional semantics, details
•
geographic location
temporal information - when this data
applies
Presence Data Format
Friday, September 25, 2009
Presence Mood?
Friday, September 25, 2009
Friday, September 25, 2009
Friday, September 25, 2009
Presence List Management
We need to manage lists of contacts with whom we
share presence information.
•
A list of watchers, identified by their public
identifier (e.g. sip:Russ.Clark@gatech.edu)
•
•
Need to be able to add, modify, delete entries
The list is maintained in a separate service
•
•
Instead of subscribing individually to presence
information for all of your contacts, you
subscribe to the list.
•
Friday, September 25, 2009
RLS: Resource List Server
The list server subscribes to the individuals
Remember This?
Friday, September 25, 2009
IMS Presence Architecture
17.3. WATCHER SUBSCRIPTION
339
+#@
+!8B!3C
./&"0#)
B!3C
+,!8B!3C
D738B!3C
532
+'9532
+:9532
+:9532
309+0
!""#$$
%#&'()*
+12324
+;92;
+,!-8./&"0#)
+;9A;
633
+#=9+'9>?
+'9<'
312324
!""#$$
%#&'()*
+;92;
+;9A;
374
+12324
+,!./&"0#)
,&
512324
IMS Core Services
Figure 17.2: SIP-based presence architecture in the IMS
(From The 3G IP Multimedia Subsystem (IMS) Second Edition
c 2006 John Wiley & Sons, Ltd)
!
Gonzalo Camarillo and Miguel A. Garcı́a-Martı́n
The flow is illustrated in Figure 17.3. The watcher application residing in the IMS
terminal sends a SUBSCRIBE request (1) addressed to her list (e.g., sip:alice-list@
Friday, September 25, 2009
home1.net). The SUBSCRIBE request contains an Event header field set to eventlist to
IMS Presence Architecture
17.3. WATCHER SUBSCRIPTION
339
Core Presence Server
+#@
+!8B!3C
./&"0#)
B!3C
+,!8B!3C
D738B!3C
532
+'9532
+:9532
+:9532
309+0
!""#$$
%#&'()*
+12324
+;92;
+,!-8./&"0#)
+;9A;
633
+#=9+'9>?
+'9<'
312324
!""#$$
%#&'()*
+;92;
+;9A;
374
+12324
+,!./&"0#)
,&
512324
Figure 17.2: SIP-based presence architecture in the IMS
(From The 3G IP Multimedia Subsystem (IMS) Second Edition
c 2006 John Wiley & Sons, Ltd)
!
Gonzalo Camarillo and Miguel A. Garcı́a-Martı́n
The flow is illustrated in Figure 17.3. The watcher application residing in the IMS
terminal sends a SUBSCRIBE request (1) addressed to her list (e.g., sip:alice-list@
Friday, September 25, 2009
home1.net). The SUBSCRIBE request contains an Event header field set to eventlist to
IMS Presence Architecture
17.3. WATCHER SUBSCRIPTION
339
Resource List Server
+#@
+!8B!3C
./&"0#)
B!3C
+,!8B!3C
D738B!3C
532
+'9532
+:9532
+:9532
309+0
!""#$$
%#&'()*
+12324
+;92;
+,!-8./&"0#)
+;9A;
633
+#=9+'9>?
+'9<'
312324
!""#$$
%#&'()*
+;92;
+;9A;
374
+12324
+,!./&"0#)
HTTP/XCAP ,&
XML Configuration Access Protocol
512324
Figure 17.2: SIP-based presence architecture in the IMS
(From The 3G IP Multimedia Subsystem (IMS) Second Edition
c 2006 John Wiley & Sons, Ltd)
!
Gonzalo Camarillo and Miguel A. Garcı́a-Martı́n
The flow is illustrated in Figure 17.3. The watcher application residing in the IMS
terminal sends a SUBSCRIBE request (1) addressed to her list (e.g., sip:alice-list@
Friday, September 25, 2009
home1.net). The SUBSCRIBE request contains an Event header field set to eventlist to
IMS Presence Architecture
17.3. WATCHER SUBSCRIPTION
Internal Watcherother services that use
your presence info
339
Internal PUA- gathers info from HSS
+#@
+!8B!3C
./&"0#)
B!3C
+,!8B!3C
D738B!3C
532
+'9532
+:9532
+:9532
309+0
!""#$$
%#&'()*
+12324
+;92;
+,!-8./&"0#)
+;9A;
633
+#=9+'9>?
+'9<'
312324
!""#$$
%#&'()*
+;92;
+;9A;
374
+12324
+,!./&"0#)
,&
512324
Figure 17.2: SIP-based presence architecture in the IMS
(From The 3G IP Multimedia Subsystem (IMS) Second Edition
c 2006 John Wiley & Sons, Ltd)
!
Gonzalo Camarillo and Miguel A. Garcı́a-Martı́n
The flow is illustrated in Figure 17.3. The watcher application residing in the IMS
terminal sends a SUBSCRIBE request (1) addressed to her list (e.g., sip:alice-list@
Friday, September 25, 2009
home1.net). The SUBSCRIBE request contains an Event header field set to eventlist to
342
17. THE PRESENCE
SERVICE IN THE IMS
Presence CHAPTER
Messages
- Publishing
=&(?()*@()?
A(B(@%C
D%@EF&G
!"#
$%&'()*+
=&(?()*@()?/4F'%/D%@EF&G
056#67
,-./0123!#4
#56#67
09
,8./0123!#4
HI*+J*@(F)/FK
()(@(*+/K(+@%&/L&(@%&(*
,:./0123!#4
,N./8<</=>
,M./8<</=>
,;./8<</=>
Figure 17.5: The IMS terminal publishing presence information
(From The 3G IP Multimedia Subsystem (IMS) Second Edition
c 2006 John Wiley & Sons, Ltd)
!
Gonzalo Camarillo and Miguel A. Garcı́a-Martı́n
17.6 Presence Optimizations
We discussed in Section 4.15.1 a few optimizations that are applicable to the event notification
framework in SIP. These are generic optimizations that apply to any event package.
Friday, September 25, 2009
Presence Messages - Subscribing To A List
CHAPTER 17. THE PRESENCE SERVICE IN THE IMS
340
:&(B()*C()B
D(E(C%F
9%CGH&I
!"#
$%&'()*+
:&(B()*C()B/JH'%/9%CGH&I
562#27
,-./#01#23!14
#62#27
3=#
,<./#01#23!14
4K*+L*C(H)/HM
()(C(*+/M(+C%&/N&(C%&(*
,>./#01#23!14
,P./<@@/:A
,R./9:$!7;
,-@./<@@/:A
,O./<@@/:A
,Q./9:$!7;
,--./<@@/:A
,?./<@@/:A
,8./9:$!7;
,-<./<@@/:A
#LSEN&(TC(H)/CH/%*NU/HM/CU%
T&%E%)C(C(%E/()/CU%/+(EC
,-O./9:$!7;
,-P./<@@/:A
,-?./9:$!7;
,-8./<@@/:A
,->./9:$!7;
,-Q./<@@/:A
Figure 17.3: Watcher subscription to her own list
(From The 3G IP Multimedia Subsystem (IMS) Second Edition
c 2006 John Wiley & Sons, Ltd)
!
Friday, September 25, 2009
Gonzalo Camarillo and Miguel A. Garcı́a-Martı́n
node that recorded the route: the S-CSCF in the RLS network. The lack of this S-CSCF
record route avoids the S-CSCF becoming locked when the presentity is not registered. So,
Presence Messages - RLS subscribes
17.5. PRESENCE PUBLICATION
341
)/%$456789:
)/%
;59<=>?6=>@$28<5$456789:
%,(%(-
*,(%(-
2%%
%,(%(-
N0
%CJKE9=L6=8>
68$6M5$B=K6
!"#$%&'%()*'+
+A?BC?6=8>$8D
=>=6=?B$D=B659$E9=659=?
!1#$%&'%()*'+
!3#$/*)
!.#$/*0
!O#$%&'%()*'+
+A?BC?6=8>$8D
=>=6=?B$D=B659$E9=659=?
!S#$%&'%()*'+
!"F#$1FF$GH
!P#$1FF$GH
!"1#$4G;*-I
!"3#$1FF$GH
!Q#$1FF$GH
!R#$1FF$GH
!""#$4G;*-I
!".#$1FF$GH
Figure 17.4: The RLS subscribes to a presentity
(From The 3G IP Multimedia Subsystem (IMS) Second Edition
c 2006 John Wiley & Sons, Ltd)
!
Friday, September 25, 2009
17.5 Presence Publication
Gonzalo Camarillo and Miguel A. Garcı́a-Martı́n
Scaling the service
The PA and RLS are important for scaling the
service to multiple PAs and multiple watchers
Friday, September 25, 2009
•
•
I send my presence updates once to the PA
•
If multiple lists are subscribed, the RLS only
needs to fetch the info once from the PA
If multiple individuals are subscribed, they can
each get info from the PA
Presence Data Volume
Large volumes of data with frequent updates
Need to manage the impact on the network and on
the devices.
1) Event Throttling
•
Watcher sets minimum update interval
2) SIP Signaling Compression
•
•
•
Friday, September 25, 2009
RFC 3320, 3321 SIGCOMP
A dictionary based compression algorithm
Between UE and Proxy - focused on the
wireless link
Presence Data Volume
3) Partial Notification
•
Much of the information in a presence update is
redundant
•
A partial update indicates only the information that has
changed
•
In SUBSCRIBE, watcher includes the following:
Accept: application/pidf-partial+xml
•
•
Friday, September 25, 2009
First NOTIFY message includes the full presence state
Subsequent NOTIFY messages have only changes
Jabber/XMPP
•
•
Started as the Jabber Project in 1998
•
•
•
Now managed by the XMPP Standards Foundation
Now an open source project known as XMPP: Extensible
Messaging and Presence Protocol
RFC’s 3920, 3921, 3922, 3923
Uses HTTP for data transfer
•
•
connection oriented, standard ports
Data specification is based on XML
Friday, September 25, 2009
XMPP Presence Messages
•
•
•
•
•
unavailable -- Signals that the entity is no longer available for communication.
•
probe -- A request for an entity's current presence; SHOULD be generated
only by a server on behalf of a user.
•
error -- An error has occurred regarding processing or delivery of a
previously-sent presence stanza.
Friday, September 25, 2009
subscribe -- The sender wishes to subscribe to the recipient's presence.
subscribed -- The sender has allowed the recipient to receive their presence
unsubscribe -- The sender is unsubscribing from another entity's presence.
unsubscribed -- The subscription request has been denied or a previouslygranted subscription has been cancelled.
XMPP Presence Messages
•
Friday, September 25, 2009
Show examples in RFC http://www.ietf.org/rfc/rfc3921.txt
Universal Presence
•
Today, we have many different presence
services.
•
We really need to combine this in one
federated presence service.
•
I shouldn’t have to have all of these
clients running.
•
This is a place that IMS could perhaps
play a role.
Friday, September 25, 2009
Download