XCAP Jonathan Rosenberg dynamicsoft. Changes in Main Spec Removed POST usage Clarified the meaning of PUT for inserts vs. modifies Added AUID grammar.

Slides:



Advertisements
Similar presentations
SIP and Instant Messaging. SIP Summit SIP and Instant Messaging What Does Presence Have to Do With SIP? How to Deliver.
Advertisements

SIP Servlets. SIP Summit SIP Servlets Problem Statement Want to enable construction of a wide variety of IP telephony.
SIMPLE Open Issues Jonathan Rosenberg dynamicsoft IETF 52.
XCAP Tutorial Jonathan Rosenberg.
Yunling Wang VoIP Security COMS 4995 Nov 24, 2008 XCAP The Extensible Markup Language (XML) Configuration Access Protocol (XCAP)
SIP Working Group Jonathan Rosenberg dynamicsoft.
Session-Independent Policies draft-ietf-sipping-session-indep-policy-01 Volker Hilt Gonzalo Camarillo
SIP Working Group Stuff Jonathan Rosenberg dynamicsoft.
1 CPCP Hisham Khartabil XCON WG IETF 60, San Diego 2 nd August, 2004
XML Configuration Access Protocol (XCAP) Jonathan Rosenberg dynamicsoft.
Using Presence Information to Develop Converged Telecom Services Standards and Challenges Parijat Garg Computer Science, IIT Bombay.
Sharmistha Chatterjee 82349D 82349D Helsinki University of Technology Instant Messaging and Presence with SIP.
Identity, Spheres and Privacy Rules Henning Schulzrinne (with Hannes Tschofenig and Richard Barnes) Workshop on Identity, Information and Context October.
Peoplesoft: Building and Consuming Web Services
XCON architecture and protocol musings Henning Schulzrinne Columbia University.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
TURN draft-ietf-behave-turn-07 Philip Matthews, Avaya Jonathan Rosenberg, Cisco Rohan Mahy, Plantronics.
XP 1 CREATING AN XML DOCUMENT. XP 2 INTRODUCING XML XML stands for Extensible Markup Language. A markup language specifies the structure and content of.
Chapter 8 Cookies And Security JavaScript, Third Edition.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
© 2012 The MITRE Corporation. All rights reserved. For internal MITRE use 13 June 2013 Meeting #3 hData Record Format Taskforce 1 © 2012 The MITRE Corporation.
(Business) Process Centric Exchanges
A Document Format for Expressing Privacy Preferences H. Schulzrinne, J. Morris, H. Tschofenig, J. Cuellar, J. Polk, J. Rosenberg.
Composing Presence Information Henning Schulzrinne Ron Shacham Wolfgang Kellerer Srisakul Thakolsri (ID-schulzrinne-simple-composition-02) IETF 66 SIMPLE.
XCAP Needed Diffs Jonathan Rosenberg Cisco Systems.
Implementing the XDS Infrastructure Bill Majurski IT Infrastructure National Institute of Standards and Technology.
Name of Presentation Red Hat Presenter Mobicents SIP Presence Service: XDM Server Creating XCAP Application Usages Eduardo Martins.
XCAP Open Issues May 2004 Interim Jonathan Rosenberg dynamicsoft.
Windows Role-Based Access Control Longhorn Update
Data Manipulation Jonathan Rosenberg dynamicsoft.
SIP working group IETF#70 Essential corrections Keith Drage.
SIMPLE Drafts Jonathan Rosenberg dynamicsoft. Presence List Changes Terminology change Presence List Information Data Format –Provides version, full/partial.
XCAP Jonathan Rosenberg dynamicsoft. Agenda XCAP Main spec changes XCAP Main spec open issues XCAP Package changes XCAP Package Open Issues Authorization.
XCAP Jonathan Rosenberg dynamicsoft. Agenda XCAP Base XCAP List XCAP Event Package XCAP Authorization Usage Presence Data Model XCAP Multiple Inserts.
1 CPCP Open Issues Hisham Khartabil XCON WG Interim Meeting, Boston 26 th May, 2004
SCIM conference call 4 September Issue #2 Add pagination capability to plural Resource attributes User Group retrieval could be resource intensive,
SIP PUBLISH draft-ietf-simple-publish-01 Aki Niemi
Caller Prefs and Friends Jonathan Rosenberg dynamicsoft.
Service Component Architecture (SCA) Policy TC … Face to Face Agenda – Jan 24,
Chapter 5 : Integrity And Security  Domain Constraints  Referential Integrity  Security  Triggers  Authorization  Authorization in SQL  Views 
March 2004GEOPRIV - IETF 59 (Seoul)1 GEOPRIV Policy draft-ietf-geopriv-policy draft-ietf-geopriv-common-policy Henning Schulzrinne Columbia University.
TURN Jonathan Rosenberg Cisco Systems. Changes since last version Moved to behave terminology Many things moved into STUN –Basic request/response formation.
OMA Presence 1.0 Presence attribute, composition issues Krisztián Kiss
SIP PUBLISH Method Jonathan Rosenberg dynamicsoft.
Presence Authorization Rules Jonathan Rosenberg Cisco Systems.
1 CPCP Hisham Khartabil XCON WG IETF 59, Seoul
SIP Events: Changes and Open Issues IETF 50 / SIP Working Group Adam Roach
Presence Data Model Jonathan Rosenberg Cisco Systems.
Caller Preferences Jonathan Rosenberg dynamicsoft.
1 © NOKIA Presentation_Name.PPT / DD-MM-YYYY / Initials Company Confidential XCAP Usage for Publishing Presence Information draft-isomaki-simple-xcap-publish-usage-00.
SIPPING Drafts Jonathan Rosenberg dynamicsoft. Conferencing Package Issues Only one – scope Depends on broader work in conferencing May include –Participant.
Adding Non-blocking Requests Contribution: oneM2M-ARC-0441R01R01 Source: Josef Blanz, Qualcomm UK, Meeting Date: ARC 7.0,
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
7.5 Using Stored-Procedure and Triggers NAME MATRIC NUM GROUP Muhammad Azwan Bin Khairul Anwar CS2305A Muhammad Faiz Bin Badrol Shah CS2305B.
CLUE Framework IETF 88 – Nov 8, 2013 Mark Duckworth draft-ietf-clue-framework-12 draft-groves-clue-multi-content-00 draft-duckworth-clue-switching-example-01.
IETF61 (November 2004) SIMPLE1 Data model and RPID Henning Schulzrinne Columbia University.
Jonathan Rosenberg dynamicsoft
Session-Independent Policies draft-ietf-sipping-session-indep-policy-02 Volker Hilt Jonathan Rosenberg Gonzalo.
XCON WG IETF-64 Meeting XCON Framework Overview & Issues
RELO: Retrieving End System Location Information draft-schulzrinne-geopriv-relo-03 Henning Schulzrinne March 2007 IETF68 - GEOPRIV.
Markus Isomäki Eva Leppänen
Jonathan Rosenberg dynamicsoft
Web Caching? Web Caching:.
Composing Presence Information
RELO: Retrieving End System Location Information draft-schulzrinne-geopriv-relo-03 Henning Schulzrinne March 2007 IETF68 - GEOPRIV.
Jonathan Rosenberg dynamicsoft
SIP Session Policies Volker Hilt
WebDAV Collections Protocol
Henning Schulzrinne Columbia University
Policy enforcement and filtering for geospatial information
Presentation transcript:

XCAP Jonathan Rosenberg dynamicsoft

Changes in Main Spec Removed POST usage Clarified the meaning of PUT for inserts vs. modifies Added AUID grammar Specified a grammar for xpath-style expressions – small subset of Xpath Java form for vendor specific AUIDs Using Etags, not modification times No batching provided – design your schemas carefully Clarified server awareness needed of the AUID and all namespaces in the document Clarified that other usages can specify auth policies Updated Examples No content in error responses

Filename? Does the xcap URI have a filename extension in it? – xcap.example.com/services/presence- lists/users/joe/mybuddies.xml – xcap.example.com/services/presence- lists/users/joe/mybuddies Proposal: with filename extension

MIME Types What MIME type is indicated in PUT request and GET response? –Application/xml, text/xml, text/plain, application/presence-list+xml, new one? Proposal: –Application/xml when its an XML document Seems better than text/xml since the consumer is not a user – rendering is not useful –Text/plain for attributes

Event Package What is the fate of the event package? Many big issues –Integrate with configuration framework? –SyncML? Proposal –Move forward with xcap, xcap-auth, xcap-list first, visit package second

Etag Scope Current spec associates a separate Etag with each XML component If you update one component, all ancestors and descendants are updated Problem: how does the client know what those other etags are? –Complex Proposal I –Ancestor and descendant tags are the same as the new tag –Means client can compute the tags locally Proposal II –Just maintain an Etag for the whole document

Etag Scope Proposal I pros –Allows for several users to manipulate different sub-trees without stepping on each others toes –But, do we need that? CPCP? Proposal II pros –Simpler Recommendation: –Proposal II

Query v. Path Query approach: – ”] Path approach: – ”]

Query v. Path Benefits of Query approach –Makes it easy for server to figure out where doc ends and elements begin Benefits of Path approach –Hides implementation details –Works better with existing equipment Query strings in PUT Cache treatment of query parameters Recommendation: –Path Approach

Error Reporting Current revision has no special error reporting –Operations which cause invalid schema return 409 –Giving details on error is unlikely to help – doubtful an automata can recover However, there is a recoverable error –Data interdependencies – setting a URI that already exists –Client should retry with new URI How to indicate this? –New response code – yuck –Some kind of XML in the body of the 409 – allowed/possible?

XCAP List Changes in this revision –Made it about generic resource lists – left hooks for various “actions” to be taken against the list –Added support for external references to other lists described by an XCAP URI

Subscription Auth Policy If subscribeable flag is true, who can subscribe? –Spec doesn’t say Proposal –It’s a matter of local policy –We can define an xcap usage later that defines subscription permissions

XCAP Auth Changes –Added an clause, so you can except a user, domain or list –Removed boolean operators from accept-if –Removed rule permissions –Remove transformational permissions –Removed requested-namespace, requested-element, requested-tuple, duration accept-if conditions –Show-tuple selects a tuple by tuple class, not id –Removed show-values –Removed compound permission AUID – later –Content permissions are applied BEFORE composition process

Open Issues Alignment with Geopriv Lying and Polite Blocking

Why is Alignment Good? Geolocation and presence are intimately related We want to be able to deliver geoloc information in presence –Placetype is a start! Further enhances the SIMPLE value proposition

Exceptions Exceptions need to be treated carefully to work –Excepting a user from * is useless – its easy for a user to get a new name –You have to drop an entire statement if you can’t resolve an external reference for an exception –Exceptions don’t deny a user permissions – they allow a convenience for enumerating a long list of people to whom a rule applies

Exceptions Example: –Allow example.com except Bob –Allow example.com except Judy If I have both these rules, and Bob subscribes, is he allowed? –YES! Matching operations need to be carefully specified –Foo.example.com same as example.com? Geopriv has decided not to do exceptions initially If we want alignment, we need to drop them too –What does the group think about this?

Conditions Current xcap-auth has conditional permissions –Accept-if But, conditions can make sense for any permission Better alternative: –All conditions are present in the tag

Example true basic

Validity Condition Specifies the duration over which the statement applies Allows the server to “ignore” permissions automatically, instead of forcing the client to remove on expiration –Client may not be connected –Assures privacy safety Good idea!

Sphere Condition Allows a statement to apply if the presentity’s sphere has some value Dependent on inclusion of sphere in RPID Nice idea, do we need it initially? work pidf-phone

Authentication Condition We can specify type of authentication that needed to be used BUT, will a *user* be able to usefully set this? –NO –They won’t understand security properties Proposal: remove

Permission Combining If multiple statements apply, how are permissions combined? –Current spec says UNION – but this only makes sense for token types –Need to define rules for other types Boolean: OR operation –Requires TRUE to be more permissive Integer: MAX operation –Requires maximum to be more permissive

Explicit Confirmation Currently, a watcher is pending if there are no matching statements Might want to explicitly specify that I should always be asked to confirm subscriptions from a user (I.e., winfo) To do this, would add confirm-subscription boolean

Actions vs. Transformations Terminology issue only Geopriv has –Actions: things to do if this statement matches –Transformations: ways to change data if this statement matches XCAP has –Acceptance policy: whether or not subscription is accepted –Content Policy: data to send Proposal to use geopriv terminology –More general –Consistent with other policy work –Also indicate in XML

Unified Document Structure Common Rule Geopriv Rule XCAP Auth SIP Naming GEOPRIV Doc SIMPLE Doc

Common Rule Content Model Definition –Additive Permissions –Rule Structure Conditions –Validity, sphere, [uri], [domain], anonymous Actions –Accept subscription, confirm subscription Transformations –NONE defined – data specific Generic Terminology –PT = Presentity/Target

SIP Naming Common rules document can’t contain conditions for matching on users or domains –These are “using protocol” specific Need a small doc that defines sip-specific matching elements –

XCAP Auth Content Normative reference to common rule content and SIP URI doc Defines the transformational permissions –Show-element, show-namespace, show-contact, show-note, show-all Defines the supported permissions application usage Will be a much shorter document!

Lying Per list discussion, specifying lying policies in XCAP is out –Will be too much flexibility needed Alternative –Client publishes false tuples –Server publishes false tuples –XCAP policy selects the appropriate tuple by class Problem –For server case, how does client know which tuple to select? Provisioning – xcap usage? User does it manually Proposal: –Xcap usage as a follow on activity

Polite Blocking Problem –Currently, no clear way to do polite blocking –Need this in first rev Proposal I –Accept the subscription and use lying to send them a fake tuple Proposal II –Change “accept” –Make it “subscription- decision” with values “accept” and “politely- block” –Politely-block < accept for combining purposes Proposal III –Do proposal II now, allow I later –RECOMMENDATION