Internet DRAFT - draft-ala-kurikka-simple-pidfconn

draft-ala-kurikka-simple-pidfconn







SIMPLE                                                    J. Ala-Kurikka
Internet-Draft                                                E. Harjula
Expires: September 7, 2006                                 M. Ylianttila
                                                           Univ. of Oulu
                                                           March 6, 2006


 PIDFConn: Extension to the Presence Information Data Format (PIDF) for
                    Expressing Connectivity Features
                  draft-ala-kurikka-simple-pidfconn-01

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on September 7, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   The Presence Information Data Format (PIDF) defines a basic XML
   format for presence information.  The optional contact element in
   PIDF contains a URI that ultimately resolves to a network interface
   on some device.  Currently, the ways of expressing features related
   to that interface are limited.  PIDFConn defines an extension to PIDF
   for describing features of connectivities and the cost of using



Ala-Kurikka, et al.     Expires September 7, 2006               [Page 1]

Internet-Draft                  PIDFConn                      March 2006


   services.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Motivation . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  Use Cases  . . . . . . . . . . . . . . . . . . . . . . . .  5
       1.2.1.  General  . . . . . . . . . . . . . . . . . . . . . . .  5
       1.2.2.  Selecting the most optimal service . . . . . . . . . .  5
       1.2.3.  Estimating the quality of interaction  . . . . . . . .  5
       1.2.4.  Informing the user . . . . . . . . . . . . . . . . . .  5
       1.2.5.  Informing the user 2 . . . . . . . . . . . . . . . . .  5
       1.2.6.  Determining which options to show  . . . . . . . . . .  6
     1.3.  Terminology and Conventions  . . . . . . . . . . . . . . .  6
   2.  Expressing Connectivity Features . . . . . . . . . . . . . . .  7
     2.1.  PIDF . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     2.2.  Current PIDF Extensions  . . . . . . . . . . . . . . . . .  7
     2.3.  Extension to PIDF  . . . . . . . . . . . . . . . . . . . .  7
       2.3.1.  Specifying Connectivity Features . . . . . . . . . . .  7
         2.3.1.1.  The <connectivity> element . . . . . . . . . . . .  7
         2.3.1.2.  The <throughput> element . . . . . . . . . . . . .  8
         2.3.1.3.  The <note> element . . . . . . . . . . . . . . . .  9
       2.3.2.  Specifying Cost  . . . . . . . . . . . . . . . . . . .  9
         2.3.2.1.  The <charge> element . . . . . . . . . . . . . . .  9
         2.3.2.2.  The <basic> element  . . . . . . . . . . . . . . .  9
   3.  Example  . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
   4.  XML Schema Definitions . . . . . . . . . . . . . . . . . . . . 13
     4.1.  urn:ietf:params:xml:ns:pidf:pidfconn . . . . . . . . . . . 13
   5.  Extending PIDFConn . . . . . . . . . . . . . . . . . . . . . . 15
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 16
     6.1.  URN Sub-Namespace Registration for
           'urn:ietf:params:xml:ns:pidf:pidfconn' . . . . . . . . . . 16
     6.2.  Schema Registration for Schema
           'urn:ietf:params:xml:ns:pidf:pidfconn' . . . . . . . . . . 16
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 18
   8.  Open Issues  . . . . . . . . . . . . . . . . . . . . . . . . . 19
   9.  Changes  . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 21
     10.2. Informative References . . . . . . . . . . . . . . . . . . 21
   Appendix A.  Acknowledgments . . . . . . . . . . . . . . . . . . . 23
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24
   Intellectual Property and Copyright Statements . . . . . . . . . . 25







Ala-Kurikka, et al.     Expires September 7, 2006               [Page 2]

Internet-Draft                  PIDFConn                      March 2006


1.  Introduction

   The Presence Information Data Format (PIDF) [RFC3863] defines a basic
   XML format for presenting presence information of a presentity.
   Presence tuples [RFC3863][RFC2778] have an optional <contact>
   element.  The contents of the <contact> element are understood to
   refer to a URI [RFC2396].  The URI (later referred to as
   communication address) usually presents a way to reach the
   presentity, and the address will eventually resolve to some network
   interface on a device.

   Currently, the ways of expressing the different features of that
   network interface in PIDF are limited.  There is a priority attribute
   to the <contact> element which defines a relative priority over the
   other contacts.  However, the priority attribute is neither flexible
   nor informative enough in all cases.  This document specifies an
   extension to PIDF with which information related to a communication
   address can be expressed.  PIDFConn documents are PIDF documents, so
   the content type is application/pidf+xml.

1.1.  Motivation

   The URI in a <contact> element usually specifies a way to contact the
   presentity.  The scheme of the URI is not constricted by PIDF: it can
   be e.g. sip [RFC3261], tel [RFC3966] or im [RFC3860].  The
   functionalities are therefore endless and different functionalities
   set different requirements, for example, on the network connection.
   In any case, the communication address ultimately resolves to a
   network interface on a device.  In some cases, a PIDF document for a
   presentity might contain multiple alternative communication addresses
   to reach a presentity or a service related to the presentity.  A
   presentity could e.g. have separate contact elements for a desktop
   computer with a LAN interface and a laptop computer with a wireless
   interface.  It is also possible that the mapping of a presentity's
   single communication address changes over time, e.g. a sip URI could
   resolve to a work laptop computer during working hours and to a home
   desktop computer in the evenings and during weekends.

   Currently, the <contact> elements may only contain a priority
   attribute containing a decimal number.  The priority is a relative
   priority over the others.  The priority might be determined by the
   presentity's Presence Agent (PA) [RFC3856] that composes a single
   PIDF for a presentity, possibly from multiple presence information
   sources.  Contacts with higher priorities can precede ones with lower
   priorities.  However, mapping all the different features of a contact
   (a network interface) to a single decimal number could prove
   difficult.  The suitability of a contact can also depend on what a
   watcher would like to accomplish, which would be hard to predict by a



Ala-Kurikka, et al.     Expires September 7, 2006               [Page 3]

Internet-Draft                  PIDFConn                      March 2006


   PA.  For example, a top-of-the-line wireless interface can have a
   better throughput than an old fixed interface, but the fixed
   interface could have a smaller delay, jitter and packet loss.  Thus,
   the contact with the wireless interface could be preferred for large
   file transfers whereas it would be inferior for an application
   requiring small delays, such as a real-time game.

   PIDFConn helps a watcher to select the optimal communication address
   to reach the presentity.  PIDFConn could also help to decide whether
   to wait a while for a more suitable contact to become available, e.g.
   the mapping of a communication address to change (and the PIDF to be
   updated).  A PIDF application can take advantage of the features
   offered by PIDFConn, especially if the application has real-time
   requirements or e.g. file transfer capabilities.

   Connections occur between two or more participants, and information
   in PIDF is typically both produced and consumed prior to a connection
   between the producer (presentity) and consumer (watcher).  Therefore,
   including generic QoS parameters such as delay or jitter in PIDFConn
   is challenging in that it would basically require predicting features
   of a possibly upcoming connection with a node.  However, when the
   watcher is known, the values can be either estimated or measured.  In
   the case of theoretical throughput, a watcher can evaluate both his
   own and the presentity's maximum throughput and conclude a very rough
   estimate of an expected throughput of a possible connection.
   Theoretical throughputs do not, however, typically describe practical
   values very well.

   Of the different choices (person, device, service) specified in
   [draft-data-model], specifying connectivity related features falls
   under the <device> element.  However, [draft-prescaps] further
   extends <device> with a <devcaps> element that contains device
   capability information.  A <mobility> element therein can determine
   whether a device is mobile or fixed.  If a device only supports
   mobility, it can be estimated that the delay might be greater than
   with a fixed device.  Thereby specifying <mobility> in conjunction
   with <throughput> is encouraged, and <throughput> is to be placed
   inside <devcaps>.

   When choosing the most suitable communication address, it would also
   be useful for a watcher to know if it costs the presentity money to
   be contacted.  Cost is more related to the service, so this falls
   under the <tuple> element as specified in [draft-data-model].  One
   other possibility would have been the <service-class> element
   specified in [draft-rpid] but it is meant only for specifying the
   type of delivery mechanism.





Ala-Kurikka, et al.     Expires September 7, 2006               [Page 4]

Internet-Draft                  PIDFConn                      March 2006


1.2.  Use Cases

1.2.1.  General

   This chapter provides some exemplary use cases that are by no means
   inclusive.  Instead of being very generic, they try to give the
   reader a view on how PIDFConn could be used in specific scenarios.
   There could be more purposes of use, and the listed use cases could
   be modified and extended.

1.2.2.  Selecting the most optimal service

   John is at work and he can be reached by two Instant Messaging (IM)
   services that are both listed in his PIDF document.  He is logged
   into the first service with his mobile phone with a low-end
   connectivity.  John uses the second service with his laptop with a
   high-end connectivity.

   Alice wants to both have a VoIP session with John and send a large
   file to him.  Alice's User Agent (UA) reads John's PIDFConn data and
   is able to suggest that the large file be sent to John's laptop
   whereas the VoIP session be started with John's mobile (as the mobile
   is perhaps more likely to stay with John even if he leaves the office
   temporarily).

1.2.3.  Estimating the quality of interaction

   John wants to initiate a remote desktop sharing session with Alice.
   John's UA knows that the session will require a lot of bandwidth and
   low delays to be user-friendly.  Alice's PIDFConn data, however, only
   includes a connectivity with low bandwidth and high delay.  John's UA
   can notify him that the quality of service would probably not be
   optimal if John selected the function.

1.2.4.  Informing the user

   Alice has an ongoing video conference with John.  While the video
   stream is acceptable at first, it suddenly becomes considerably
   jerkier due to John moving outside of a Wireless LAN hotspot (leading
   to vertical handover to another connectivity).  John's UA also
   updates his PIDFConn data accordingly.  After receiving the updated
   data, Alice's UA can tell Alice why this sudden loss of quality
   happened.

1.2.5.  Informing the user 2

   Alice wants to send a file to her friend John.  By interpreting
   John's PIDFConn data Alice's UA sees that John is currently using a



Ala-Kurikka, et al.     Expires September 7, 2006               [Page 5]

Internet-Draft                  PIDFConn                      March 2006


   slow and costly mobile data connectivity.  Alice selects a large file
   to be transferred to John.

   Before the file transfer session is initiated, Alice's UA asks her if
   she really wants to send the file right now.  The UA points out that
   the transfer would take long and it would be costly to John, so Alice
   decides to abort the file transfer.  She can send the file later,
   when John is connected through a connectivity that has no charge.
   That kind of a connectivity is not currently in use for any services
   listed in John's PIDF document but one is still included in the
   PIDFConn data.

1.2.6.  Determining which options to show

   John wants to call Alice.  John's UA reads Alice's PIDFConn data and
   determines that Alice's current connectivity is not usable for a
   video conference.  Thus, when John selects Alice in the UA, the video
   conference feature becomes disabled, e.g. "grayed out".  John can,
   however, initiate a text-based or an audio session instead.

1.3.  Terminology and Conventions

   This memo makes use of the vocabulary defined in the IMPP Model
   document [RFC2778].  Terms such as COMMUNICATION ADDRESS, PRESENTITY,
   PRINCIPAL and WATCHER in the memo are used in the same meaning as
   defined therein.

   The key words MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT,
   RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted
   as described in BCP 14, RFC 2119 [RFC2119].





















Ala-Kurikka, et al.     Expires September 7, 2006               [Page 6]

Internet-Draft                  PIDFConn                      March 2006


2.  Expressing Connectivity Features

2.1.  PIDF

   PIDF contains a <presence> element which consists of one or more
   <tuple>s.  A <tuple> optionally contains a <contact> element.
   Generally, the URI therein defines a means to contact the presentity.
   A <tuple> contains a <status> element which is mandatory. <status>
   contains an optional child element <basic> which is either 'OPEN' or
   'CLOSED'.

2.2.  Current PIDF Extensions

   According to [draft-data-model], <tuple> elements represent services.
   Dynamic status resides inside <status>, whereas characteristics
   (attributes of a static nature) appear directly as children of
   <tuple>. [draft-data-model] also introduces the <device> element
   which is a child of <presence>.  There can be zero or more <device>
   elements. [draft-prescaps] introduces a <devcaps> element which
   appears as a child to <device>. <devcaps> represent capabilities of a
   device.

2.3.  Extension to PIDF

   This XML Schema defines a new XML namespace:
   urn:ietf:params:xml:ns:pidf:pidfconn.  All elements defined in this
   document reside in this namespace.

2.3.1.  Specifying Connectivity Features

   This section describes how details of available connectivities are
   specified with PIDFConn.

2.3.1.1.  The <connectivity> element

   PIDFConn extends the <devcaps> element in [draft-prescaps] in
   urn:ietf:params:xml:ns:pidf:caps namespace with a <connectivity>
   element. <connectivity> defines features of a connectivity of a
   device.  Devices may have zero or more connectivities.  Therefore
   there may also be zero or more <connectivity> elements inside a
   <devcaps> element.  Connectivities that are currently not in use MAY
   be included.

   <connectivity> has an attribute: 'service'. 'service' MUST be
   specified for a connectivity that the device currently uses for a
   service that is included in the presence document as one of the
   <tuple> elements.  The value of 'service' is equivalent to the id of
   the <tuple> whose <contact> URI ultimately routes to the connectivity



Ala-Kurikka, et al.     Expires September 7, 2006               [Page 7]

Internet-Draft                  PIDFConn                      March 2006


   in question.  Note that the 'service' attribute is required even
   though the document includes <deviceID> elements specified by
   [draft-data-model].  The device could have multiple connectivities,
   so the <deviceID> does not always explicitly refer to a specific
   connectivity.  In some cases, the document might also include
   information about connectivities not currently in use.  The 'service'
   attribute provides an explicit mapping between connectivities and
   services.

   If a tuple does not include a <contact>, then that tuple's id MUST
   NOT be the value of any <connectivity> element's 'service' attribute.
   <connectivity> can have zero or one <throughput> elements and zero or
   more <note> elements followed by any number of elements from
   different namespaces for reasons of extensibility.

2.3.1.2.  The <throughput> element

   The <throughput> element specifies throughput in kilobits per second.
   In case of asymmetric connections, the minimum of the outbound and
   inbound throughputs is used.  The value of the element MUST be a non-
   negative integer number.  Note that bits per second (bps) equals
   bytes per second (Bps) multiplied by 8.  Examples: 11000 (11 Mbps),
   256 (256 kbps).  If throughput is not applicable for a connectivity,
   the corresponding <connectivity> element SHOULD NOT include a
   <throughput> element.

   The <throughput> element has a mandatory attribute called 'range'.
   The value of the attribute is either 'local' or 'e2e'.  Value 'local'
   means that the specified throughput is the maximum theoretical
   throughput of the connectivity.

   The throughput value can also describe the throughput of the second
   link, e.g. in the case where it is known that the first link is not
   the bottleneck of the connection to the Internet, see Figure 1.

     11 Mbps           256 kbps
       WLAN              ADSL
     /---^---\/------------^------------\
     D-------R-------------------------ISP
   Device  Router           Internet Service Provider

   Figure 1

   The throughput of the connectivity is 11 Mbps, but in most
   circumstances (where the connection goes through the Internet) the
   throughput cannot be more than the throughput of the ADSL connection.
   Therefore the throughput of the ADSL connection is written in the
   <throughput> element with the 'range' attribute set to 'local'.



Ala-Kurikka, et al.     Expires September 7, 2006               [Page 8]

Internet-Draft                  PIDFConn                      March 2006


   The 'range' attribute can also have a value of 'e2e'.  This value
   describes an estimate of an end-to-end throughput of the connection
   to another node.  However, that other node is not specified.  Also,
   the way how the estimate has been derived is out of scope of this
   document.  The estimation can be based e.g. on measurements, for
   which several both active and passive techniques have been
   introduced.

   'e2e' throughput can be used primarily only when the watcher is
   known.  The PIDF document could e.g. be transferred directly between
   two nodes, and the throughput should then be describe the parameters
   of the end-to-end connection between the presentity's device and the
   watcher.  If the document was on a server, filtering could be used so
   that only a specific watcher can read the throughput.  Both a 'local'
   and 'e2e' throughput can be defined once in one document for a
   connectivity.

2.3.1.3.  The <note> element

   The <note> element contains a string value which MAY be used for a
   human writable and readable comment.  For example, a <note> might say
   "My home ADSL" or "Free panOULU WLAN".  When the note is shown to a
   human user, the user SHOULD be able to relate the note to the
   specific connectivity that the <note> element relates to.  There can
   be 0 or more <note> elements, so that notes containing different
   languages can be included using the 'xml:lang' attribute.  There
   SHOULD be only one <note> element for each language.

2.3.2.  Specifying Cost

   This section describes how to specify cost to the presentity.

2.3.2.1.  The <charge> element

   PIDFConn extends the <tuple> element in urn:ietf:params:xml:ns:pidf
   namespace with a <charge> element.  It tells about the cost of using
   the service to the presentity.  The source of the cost is not
   defined.  The cost may actually be incurred by the service or the
   connectivity, e.g. using a mobile operator's data service. <charge>
   may contain zero or one <basic> elements followed by any number of
   elements from different namespaces for an extended specification of
   the charging.

2.3.2.2.  The <basic> element

   The <basic> element tells whether the presentity has to pay for
   receiving and/or sending traffic to/from the service. <basic>
   contains a string of either 'true' or 'false'. <basic> specifies



Ala-Kurikka, et al.     Expires September 7, 2006               [Page 9]

Internet-Draft                  PIDFConn                      March 2006


   whether it would cost money to the presentity if a watcher contacted
   her using the related communication address.  If the presentity had a
   flat fee (i.e. a fixed rate not dependent on the amount of use),
   contacting her would not affect her billing, so <basic> would be
   'false'.  Of course, that would also be the case if there was no fee
   at all.  Watchers MUST interpret <basic> case-insensitively, but
   publishers of PIDFs MUST use lowercase letters in <basic> elements.

   When <charge> is 'true', the watcher User Agent (UA) software can
   e.g. render the contact with a different icon and pop up a
   confirmation dialog before establishing a session.  A principal can
   then choose to use the service by starting a session.  Alternatively,
   the principal can wait to start a session until the value of <basic>
   for the service changes or another service with a <basic> element set
   to 'false' becomes available.

   One example where a principal might want to delay starting a session
   is when a large file transfer should take place and the presentity
   can only be reached through a service whose <charge> is 'true'.  If
   <charge> later becomes 'false', the principal may choose to start a
   session.  Alternatively, if another service with a <charge> of
   'false' that is capable of file transfers becomes available, the
   principal can choose to use that service.

   Another example is when a principal has a less important matter that
   he would perhaps like to share with a presentity.  In this case, the
   principal might choose to not use an instant messaging service with a
   <charge> of 'true'.

   The value of <basic> MAY be selected by a principal.  However, the
   setting could also change automatically (e.g. when roaming into
   another mobile operator's network).  The principal might choose
   'false', even if he has to pay for the use, in order to indicate that
   cost is unimportant.

















Ala-Kurikka, et al.     Expires September 7, 2006              [Page 10]

Internet-Draft                  PIDFConn                      March 2006


3.  Example

   The following example indicates to a watcher that the presentity
   pres:joe@example.com is currently connected to two services that have
   their own communication addresses, sip:joe@example.com and
   im:joe.black@operator.com.  Both are open for communication, the
   former through a device using a WLAN connection and the latter
   through another device using a GPRS mobile data connection.  The
   first has a maximum theoretical throughput of 11 Mbits per second and
   there is either a charge based on flat rate or using it costs nothing
   to Joe. The first device also has another connection which is not
   currently used for any of the services listed in the document.  The
   latter, on the other hand, has a maximum theoretical throughput of
   171 kbits per second and costs money for Joe to use.

   <?xml version="1.0" encoding="UTF-8"?>
   <presence xmlns="urn:ietf:params:xml:ns:pidf"
     xmlns:pidfconn="urn:ietf:params:xml:ns:pidf:pidfconn"
     xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"
     xmlns:caps="urn:ietf:params:xml:ns:pidf:caps"
     entity="pres:joe@example.com">

     <tuple id="sg89ae">
       <status>
         <basic>open</basic>
       </status>
       <dm:deviceID>mac:8asd7d7d70</dm:deviceID>
       <pidfconn:charge>
         <pidfconn:basic>false</pidfconn:basic>
       </pidfconn:charge>
       <contact>sip:joe@example.com</contact>
     </tuple>

     <tuple id="s2g9af">
       <status>
         <basic>open</basic>
       </status>
       <dm:deviceID>mac:3ht73x7376</dm:deviceID>
       <pidfconn:charge>
         <pidfconn:basic>true</pidfconn:basic>
       </pidfconn:charge>
       <contact>im:joe.black@operator.com</contact>
     </tuple>

     <dm:device id="lap1">
       <caps:devcaps>
         <caps:mobility>
           <caps:supported>



Ala-Kurikka, et al.     Expires September 7, 2006              [Page 11]

Internet-Draft                  PIDFConn                      March 2006


             <caps:mobile/>
             <caps:fixed/>
           </caps:supported>
         </caps:mobility>
         <pidfconn:connectivity service="sg89ae">
           <pidfconn:throughput range="local">11000</pidfconn:throughput>
           <pidfconn:note xml:lang="en">Free panOULU WLAN</pidfconn:note>
         </pidfconn:connectivity>
         <pidfconn:connectivity>
           <pidfconn:throughput range="local">100000</pidfconn:throughput>
           <pidfconn:note xml:lang="en">Fixed Ethernet connection</pidfconn:note>
         </pidfconn:connectivity>
       </caps:devcaps>
       <dm:deviceID>mac:8asd7d7d70</dm:deviceID>
     </dm:device>

     <dm:device id="phn21">
       <caps:devcaps>
         <caps:mobility>
           <caps:supported>
             <caps:mobile/>
           </caps:supported>
           <caps:notsupported>
             <caps:fixed/>
           </caps:notsupported>
         </caps:mobility>
         <pidfconn:connectivity service="s2g9af">
           <pidfconn:throughput range="local">171</pidfconn:throughput>
           <pidfconn:note xml:lang="en">My GPRS data connection</pidfconn:note>
         </pidfconn:connectivity>
       </caps:devcaps>
       <dm:deviceID>mac:3ht73x7376</dm:deviceID>
     </dm:device>

   </presence>
















Ala-Kurikka, et al.     Expires September 7, 2006              [Page 12]

Internet-Draft                  PIDFConn                      March 2006


4.  XML Schema Definitions

   The PIDFConn XML schema is shown below.  Due to limitations in
   composing schemas, not all XML documents that validate against the
   schema are semantically valid PIDFConn documents.  The schema allows
   each element to appear anywhere in PIDF: the section 'Extension to
   PIDF' defines the exact limitations of use for PIDFConn.

4.1.  urn:ietf:params:xml:ns:pidf:pidfconn

   <?xml version="1.0" encoding="UTF-8"?>
   <xs:schema targetNamespace="urn:ietf:params:xml:ns:pidf:pidfconn"
     xmlns="urn:ietf:params:xml:ns:pidf:pidfconn"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     elementFormDefault="qualified"
     attributeFormDefault="unqualified">
     <xs:include schemaLocation="common-schema.xsd"/>

     <xs:simpleType name="localore2e">
       <xs:restriction base="xs:string">
         <xs:enumeration value="local"/>
         <xs:enumeration value="e2e"/>
       </xs:restriction>
     </xs:simpleType>

     <xs:element name="connectivity">
       <xs:annotation>
         <xs:documentation>
           Defines features of a connectivity.
         </xs:documentation>
       </xs:annotation>
       <xs:complexType>
         <xs:sequence>
           <xs:element name="throughput" type="xs:nonNegativeInteger"
             minOccurs="0" maxOccurs="2">
             <xs:attribute name="range" type="localore2e" use="required"/>
           </xs:element>
           <xs:element name="note" type="Note_t"
                     minOccurs="0" maxOccurs="unbounded"/>
           <xs:any namespace="##other" processContents="lax"
             minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:attribute name="service" type="xs:ID"/>
       </xs:complexType>
     </xs:element>

     <xs:simpleType name="trueorfalse">
       <xs:restriction base="xs:string">



Ala-Kurikka, et al.     Expires September 7, 2006              [Page 13]

Internet-Draft                  PIDFConn                      March 2006


         <xs:enumeration value="true"/>
         <xs:enumeration value="false"/>
       </xs:restriction>
     </xs:simpleType>

     <xs:element name="charge">
       <xs:annotation>
         <xs:documentation>
           Describes cost.
         </xs:documentation>
       </xs:annotation>
       <xs:complexType>
         <xs:sequence>
           <xs:element name="basic" type="trueorfalse"
             minOccurs="0" maxOccurs="1"/>
           <xs:any namespace="##other" processContents="lax"
             minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
       </xs:complexType>
     </xs:element>
   </xs:schema>






























Ala-Kurikka, et al.     Expires September 7, 2006              [Page 14]

Internet-Draft                  PIDFConn                      March 2006


5.  Extending PIDFConn

   To add new elements inside <connectivity> or <charge>, the PIDF
   extension process described in [RFC3863] is followed.  Such
   extensions would use namespace designators as
   urn:ietf:params:xml:ns:pidf:ext, where 'ext' is the name of the
   extension.












































Ala-Kurikka, et al.     Expires September 7, 2006              [Page 15]

Internet-Draft                  PIDFConn                      March 2006


6.  IANA Considerations

6.1.  URN Sub-Namespace Registration for
      'urn:ietf:params:xml:ns:pidf:pidfconn'

      URI: urn:ietf:params:xml:ns:pidf:pidfconn

      Description: This is the XML namespace for XML elements defined by
      RFCXXXX [RFC Editor: please replace with RFC number] to describe
      specific features of services and connectivities in Presence
      Information Data Format (PIDF) in the application/pidf+xml content
      type.

      Registrant Contact: IETF, SIMPLE working group, simple@ietf.org,
      Jussi Ala-Kurikka, jussi.ala-kurikka@oulu.fi

   XML:

   BEGIN
   <?xml version="1.0"?>
   <!DOCTYPE html PUBLIC "-//W3C//DTD XTML Basic 1.0//EN"
     "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
       <meta http-equiv="content-type"
         content="text/html;charset=iso-8859-1"/>
       <title>PIDFConn: Extension to the Presence
         Information Data Format (PIDF) for Expressing
         Connectivity Features</title>
     </head>
     <body>
       <h1>Namespace for PIDFConn extension</h1>
       <h2>urn:ietf:params:xml:ns:pidf:pidfconn</h2>
       <p>See <a href="URL of published RFC">RFCXXXX
         [RFC editor: please replace with RFC number]</a>.</p>
     </body>
   </html>
   END

6.2.  Schema Registration for Schema
      'urn:ietf:params:xml:ns:pidf:pidfconn'

      URI: please assign

      Registrant Contact: IESG

      XML: See Section 'XML Schema Definitions'




Ala-Kurikka, et al.     Expires September 7, 2006              [Page 16]

Internet-Draft                  PIDFConn                      March 2006


   Note that this document does not require a new content type but
   inherits the content type from PIDF: application/pidf+xml.

















































Ala-Kurikka, et al.     Expires September 7, 2006              [Page 17]

Internet-Draft                  PIDFConn                      March 2006


7.  Security Considerations

   PIDF information typically exposes sensitive information to others.
   All security considerations in [RFC3863] and in [RFC3856] apply.  In
   addition to standard PIDF information, PIDFConn reveals certain
   features concerning services a presentity uses and network interfaces
   of the presentity's devices.  Through these features, and by
   combining information, data that some can regard as private can be
   directly or indirectly found.  Also, not all presentities want to
   reveal if they pay for using a particular connection or the basis for
   that payment.  Implementing proper filtering is RECOMMENDED, and
   special attention SHOULD be paid to protect confidentiality and
   integrity, e.g. with the help of S/MIME [RFC3851].






































Ala-Kurikka, et al.     Expires September 7, 2006              [Page 18]

Internet-Draft                  PIDFConn                      March 2006


8.  Open Issues

      -How could connectivities be further modeled?

      -Is there a need to extend <charge>?

      -Should traffic class be included?  I.e. categories like bulk
      transfer, interactive, responsive real-time, bandwidth?

      -Could PIDFConn be used for P2P SIP e.g. in finding an optimal
      routing scheme?








































Ala-Kurikka, et al.     Expires September 7, 2006              [Page 19]

Internet-Draft                  PIDFConn                      March 2006


9.  Changes

   -01:

      -Introduced use cases

      -Added the 'range' attribute to <throughput>

      -Added chapters for open issues and changes

      -Some minor textual changes throughout








































Ala-Kurikka, et al.     Expires September 7, 2006              [Page 20]

Internet-Draft                  PIDFConn                      March 2006


10.  References

10.1.  Normative References

   [RFC3863]  Sugano, H., Fujimoto, S., Klyne, G., Bateman, A., Carr,
              W., and J. Peterson, "Presence Information Data Format
              (PIDF)", RFC 3863, August 2004.

   [RFC2778]  Day, M., Rosenberg, J., and H. Sugano, "A Model for
              Presence and Instant Messaging", RFC 2778, February 2000.

   [RFC3856]  Rosenberg, J., "A Presence Event Package for the Session
              Initiation Protocol (SIP)", RFC 3856, August 2004.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [draft-data-model]
              Rosenberg, J., "A Data Model for Presence",
              draft-ietf-simple-presence-data-model-07 (work in
              progress), January 2006.

   [draft-prescaps]
              Lonnfors, M. and K. Kiss, "User Agent Capability Extension
              to Presence Information Data Format (PIDF)",
              draft-ietf-simple-prescaps-ext-06 (work in progress),
              January 2006.

10.2.  Informative References

   [RFC2396]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifiers (URI): Generic Syntax", RFC 2396,
              August 1998.

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              June 2002.

   [RFC3966]  Schulzrinne, H., "The tel URI for Telephone Numbers",
              RFC 3966, December 2004.

   [RFC3860]  Peterson, J., "Common Profile for Instant Messaging
              (CPIM)", RFC 3860, August 2004.

   [draft-rpid]
              Schulzrinne, H., Gurbani, V., Kyzivat, P., and J.
              Rosenberg, "RPID: Rich Presence Extensions to the Presence



Ala-Kurikka, et al.     Expires September 7, 2006              [Page 21]

Internet-Draft                  PIDFConn                      March 2006


              Information Data Format (PIDF)",
              draft-ietf-simple-rpid-10 (work in progress),
              December 2005.

   [RFC3851]  Ramsdell, B., "Secure/Multipurpose Internet Mail
              Extensions (S/MIME) Version 3.1 Message Specification",
              RFC 3851, July 2004.












































Ala-Kurikka, et al.     Expires September 7, 2006              [Page 22]

Internet-Draft                  PIDFConn                      March 2006


Appendix A.  Acknowledgments

   The authors would like to thank the Application Supernetworking
   (All-IP) project partners: the Finnish Funding Agency for Technology
   and Innovation (Tekes), Nokia, TeliaSonera Finland, Elektrobit Group,
   IBM and Serv-It for their financial support.  Authors' thanks go also
   to Douglas Howie, Jun-Zhao Sun, Henning Schulzrinne, Aki Niemi and
   Krisztian Kiss for their input.











































Ala-Kurikka, et al.     Expires September 7, 2006              [Page 23]

Internet-Draft                  PIDFConn                      March 2006


Authors' Addresses

   Jussi Ala-Kurikka
   MediaTeam / University of Oulu
   Department of Electrical and Information Engineering
   Information Processing Laboratory
   P.O.BOX 4500
   University of Oulu  90014
   FI

   Phone: +358 8 553 2811
   Email: jussi.ala-kurikka@ee.oulu.fi
   URI:   http://www.mediateam.oulu.fi


   Erkki Harjula
   MediaTeam / University of Oulu
   Department of Electrical and Information Engineering
   Information Processing Laboratory
   P.O.BOX 4500
   University of Oulu  90014
   FI

   Phone: +358 8 553 2811
   Email: erkki.harjula@ee.oulu.fi
   URI:   http://www.mediateam.oulu.fi


   Mika Ylianttila
   MediaTeam / University of Oulu
   Department of Electrical and Information Engineering
   Information Processing Laboratory
   P.O.BOX 4500
   University of Oulu  90014
   FI

   Phone: +358 8 553 2531
   Email: mika.ylianttila@oulu.fi
   URI:   http://www.ee.oulu.fi/~over












Ala-Kurikka, et al.     Expires September 7, 2006              [Page 24]

Internet-Draft                  PIDFConn                      March 2006


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2006).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Ala-Kurikka, et al.     Expires September 7, 2006              [Page 25]