Title: Adhoc Resource Lists using SUBSCRIBE
1Ad-hoc Resource Lists using SUBSCRIBE
58th IETF Meeting SIMPLE WG
- draft-levin-simple-adhoc-list-00.txt
- by Orit Levin
- oritl_at_microsoft.com
2Motivation
- The ietf-simple-event-list-04 solves an acute
problem of BATCHED notifications by introducing
the RLMI schema. - This mechanism cannot be deployed in an
interoperable manner without standard creation of
soft or hard lists. - Soft list is required by many Presence
applications.
3Problem Definition
- The ad-hoc list is dynamically created and
modified by a Watcher - The list creates a soft state in the Server
(RLS) - The list exists only for the life-time of a
SUBSCRIBE dialog - Notifications are being sent in any dynamically
agreed format (PIDF, RLMI, etc.)
4The Proposed Solution
- Option Tag Name adhoclist
- MIME Media Type Name application
- MIME subtype name adrlxml
5The Proposed Solution
- Watcher Server
PUA - F1 SUBSCRIBE ADRL
- -------------------------------------gt
- F2 200 OK
- lt-------------------------------------
- F3 NOTIFY RLMI
- lt-------------------------------------
- F4 200 OK
- -------------------------------------gt
-
F5 Update presence -
lt---------------------------------- - F6 NOTIFY RLMI
- lt-------------------------------------
- F7 200 OK
- -------------------------------------gt
- F8 SUBSCRIBE ADRL
- -------------------------------------gt
6Example Messages Flow
- Watcher Server
PUA - F1 SUBSCRIBE
- --------------------------gt
- F2 200 OK
- lt--------------------------
- F3 NOTIFY
- lt--------------------------
- F4 200 OK
- --------------------------gt
- F5
Update presence -
lt--------------- - F6 NOTIFY
- lt--------------------------
- F7 200 OK
- --------------------------gt
- F8 SUBSCRIBE
- --------------------------gt
F1 SUBSCRIBE sipuser_at_pres.example.com SIP/2.0
To ltsipuser_at_pres.example.comgt From
ltsipuser_at_example.comgttag22222 Call-ID
2345_at_terminal.example.com Event presence
Require adhoclist Accept application/cpim-pidf
xml Accept application/rlmixml Contact
ltsipuser_at_terminal.example.comgt Content-Type
application/adrlxml Content-Length ... ADRL
Document F2 SIP/2.0 200 OK Toltsipuser_at_pres.e
xample.comgttag33333 From ltsipuser_at_example.com
gttag22222 Call-ID 2345_at_terminal.example.com
Event presence Accept application/adrlxml
Contact sippres.example.com Content-Length 0
7Detailed Example Messages Flow
- Watcher Server
PUA - F1 SUBSCRIBE
- --------------------------gt
- F2 200 OK
- lt--------------------------
- F3 NOTIFY
- lt--------------------------
- F4 200 OK
- --------------------------gt
- F5
Update presence -
lt--------------- - F6 NOTIFY
- lt--------------------------
- F7 200 OK
- --------------------------gt
- F8 SUBSCRIBE
- --------------------------gt
F3 NOTIFY sipuser_at_terminal.example.com SIP/2.0
From ltsipuser_at_pres.example.comgttag33333 To
ltsipuser_at_example.comgttag22222 Call-ID
2345_at_terminal.example.com Event presence
Subscription-State activeexpires750 Contact
sippres.example.com Content-Type
application/rlmixml Content-Length ... RLMI
Document F4 SIP/2.0 200 OK From
ltsipuser_at_example.comgttag33333 To
ltsipuser_at_pres.example.comgttag22222 Call-ID
2345_at_terminal.example.com Content-Length 0
8Detailed Example Messages Flow
(Cont.)
F5 Resources information on the RLS is updated
by SIP or non-SIP means. (Details are out of
scope. ) F6 NOTIFY sipuser_at_terminal.example.com
SIP/2.0 Fromltsipuser_at_pres.example.comgttag33333
To ltsipuser_at_example.comgttag22222 Call-ID
2345_at_terminal.example.com Event presence
Subscription-State activeexpires750 Contact
sippres.example.com Content-Type
application/rlmixml Content-Length ... RLMI
Document F7 SIP/2.0 200 OK To
ltsipuser_at_pres.example.comgttag33333 From
ltsipuser_at_example.comgttag22222 Call-ID
2345_at_terminal.example.com Event presence
Require eventlist Contact sippres.example.com
Content-Length 0
- Watcher Server
PUA - F1 SUBSCRIBE
- --------------------------gt
- F2 200 OK
- lt--------------------------
- F3 NOTIFY
- lt--------------------------
- F4 200 OK
- --------------------------gt
- F5
Update presence -
lt--------------- - F6 NOTIFY
- lt--------------------------
- F7 200 OK
- --------------------------gt
- F8 SUBSCRIBE
- --------------------------gt
9Detailed Example Messages Flow
(Cont.)
F8 SUBSCRIBE sipuser_at_pres.example.com SIP/2.0
To ltsipuser_at_pres.example.comgt From
ltsipuser_at_example.comgttag22222 Call-ID
2345_at_terminal.example.com Event presence
Require adhoclist Accept application/cpim-pidf
xml Accept application/rlmixml Contact
ltsipuser_at_terminal.example.comgt Content-Type
application/adrlxml Content-Length ... ADRL
Document F9 SIP/2.0 200 OK To
ltsipuser_at_pres.example.comgttag33333 From
ltsipuser_at_example.comgttag22222 Call-ID
2345_at_terminal.example.com Event presence
Accept application/adrlxml Contact
sippres.example.com Content-Length 0
- Watcher Server
PUA - F1 SUBSCRIBE
- --------------------------gt
- F2 200 OK
- lt--------------------------
- F3 NOTIFY
- lt--------------------------
- F4 200 OK
- --------------------------gt
- F5
Update presence -
lt--------------- - F6 NOTIFY
- lt--------------------------
- F7 200 OK
- --------------------------gt
- F8 SUBSCRIBE
- --------------------------gt
10Detailed Example Messages Flow
(Cont.)
- Watcher Server
PUA - F1 SUBSCRIBE
- --------------------------gt
- F2 200 OK
- lt--------------------------
- F3 NOTIFY
- lt--------------------------
- F4 200 OK
- --------------------------gt
- F5
Update presence -
lt--------------- - F6 NOTIFY
- lt--------------------------
- F7 200 OK
- --------------------------gt
- F8 SUBSCRIBE
- --------------------------gt
F10 NOTIFY sipuser_at_terminal.example.com SIP/2.0
Fromltsipuser_at_pres.example.comgttag33333 To
ltsipuser_at_example.comgttag22222 Call-ID
2345_at_terminal.example.com Event presence
Subscription-State activeexpires650 Contact
sippres.example.com Content-Type
application/rlmixml Content-Length ... RLMI
Document F11 SIP/2.0 200 OK From
ltsipuser_at_example.comgttag33333 To
ltsipuser_at_pres.example.comgttag22222 Call-ID
2345_at_terminal.example.com Content-Length 0
11Relation todraft-camarillo-sipping-exploders-solu
tion-00.txt
- The draft proposes the following
- Generalization of the requirements for any method
- Inside a dialog / No dialog
- Identifying the different possible Server modes
- Involved / Uninvolved
12Our Case Ad-hoc Resource Lists using SUBSCRIBE
- Classification
- B2BUA
- Uninvolved exploders
- Inside a dialog
13Our Case Ad-hoc Resource Lists using SUBSCRIBE
- It is an Excellent Study Case
- Longtime identified requirements
- Technically straightforward
- No new security risks
14Proposed Next Steps
- Define as a WG Working Item in SIMPLE
- The first exploder application and study case
- The mechanisms for AD-HOC LIST definition and
maintenance MUST be general - Start polishing the specification details on the
list - The standardization timing is crucial here!
15Points for Further Discussionon the List
- List unique identification
- Stand-alone identifier?
- Bind to a dialog?
- Version numbering
- Required?
- Reflects the notifications numbering
- Full list always vs. deltas are allowed
- Are refreshes of the list required?
16Thank you!