SIPPING                                                          J. Brok
Internet-Draft                             Bell Labs/Lucent Technologies
Expires: September 7, 2006                                 March 6, 2006


           Regulating Publication of Event State Information
               draft-brok-simple-regulate-publish-02.txt

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 Session Initiation Protocol (SIP) Extension for Event State
   Publication describes a mechanism for a User Agent Client (UAC) to
   publish event state information to a User Agent Server (UAS).
   Generally, the UAC is free to monitor certain resources at a certain
   rate and publish changes of their event state, for instance with the
   presence event package.  However, for a UAC on a mobile device, this
   can be very costly in terms of battery, computing, and network
   resources.  Although some mechnisms exist for a UAC to deduce whether
   event state publication is needed and at what rate publish messages



Brok                    Expires September 7, 2006               [Page 1]

Internet-Draft              Regulate-Publish                  March 2006


   may be sent, these are rather coarse and reactive in nature.  This
   memo defines a solution for a UAS to regulate monitoring and
   publications by providing detailed information to the UAC regarding
   which resources to monitor, at what rate, whether urgent and with
   what delta.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Requirements notation  . . . . . . . . . . . . . . . . . .  4
     1.2.  Definitions and Document Conventions . . . . . . . . . . .  5
   2.  Problem description  . . . . . . . . . . . . . . . . . . . . .  6
     2.1.  Existing mechanisms  . . . . . . . . . . . . . . . . . . .  6
     2.2.  Quantitative example . . . . . . . . . . . . . . . . . . .  6
     2.3.  Usage scenarios  . . . . . . . . . . . . . . . . . . . . .  7
   3.  Regulating publications  . . . . . . . . . . . . . . . . . . .  9
     3.1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . .  9
     3.2.  Benefits . . . . . . . . . . . . . . . . . . . . . . . . . 10
     3.3.  Alternatives . . . . . . . . . . . . . . . . . . . . . . . 10
   4.  Package Definition . . . . . . . . . . . . . . . . . . . . . . 12
     4.1.  Event Package  . . . . . . . . . . . . . . . . . . . . . . 12
       4.1.1.  Event Package Name . . . . . . . . . . . . . . . . . . 12
       4.1.2.  Event Package Parameters . . . . . . . . . . . . . . . 12
       4.1.3.  ISSUE: template package? . . . . . . . . . . . . . . . 12
     4.2.  SUBSCRIBE  . . . . . . . . . . . . . . . . . . . . . . . . 13
       4.2.1.  SUBSCRIBE messages . . . . . . . . . . . . . . . . . . 13
       4.2.2.  SUBSCRIBE behavior . . . . . . . . . . . . . . . . . . 13
       4.2.3.  Multiple presentities  . . . . . . . . . . . . . . . . 14
     4.3.  NOTIFY . . . . . . . . . . . . . . . . . . . . . . . . . . 14
       4.3.1.  NOTIFY messages  . . . . . . . . . . . . . . . . . . . 14
       4.3.2.  NOTIFY behavior  . . . . . . . . . . . . . . . . . . . 14
   5.  Regulate-publish format  . . . . . . . . . . . . . . . . . . . 16
     5.1.  MIME type for regulate-publish document  . . . . . . . . . 16
     5.2.  Example document . . . . . . . . . . . . . . . . . . . . . 16
     5.3.  The <regulate-set> Root Element  . . . . . . . . . . . . . 17
     5.4.  The <ns-bindings> Element  . . . . . . . . . . . . . . . . 17
     5.5.  The <ns-binding> Element . . . . . . . . . . . . . . . . . 17
     5.6.  The <regulate> Element . . . . . . . . . . . . . . . . . . 18
     5.7.  The <constraints> Element  . . . . . . . . . . . . . . . . 18
     5.8.  The <subset> Element . . . . . . . . . . . . . . . . . . . 20
     5.9.  XML Schema . . . . . . . . . . . . . . . . . . . . . . . . 20
     5.10. Extending regulate-publish . . . . . . . . . . . . . . . . 23
   6.  Example Usage  . . . . . . . . . . . . . . . . . . . . . . . . 24
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 28
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 29
     8.1.  regulate-publish event package . . . . . . . . . . . . . . 29
     8.2.  application/regulate-publish+xml MIME type . . . . . . . . 29



Brok                    Expires September 7, 2006               [Page 2]

Internet-Draft              Regulate-Publish                  March 2006


     8.3.  URN Sub-Namespace Registration for
           urn:ietf:params:xml:ns:regulate-publish  . . . . . . . . . 30
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 31
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 32
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 32
     10.2. Informative References . . . . . . . . . . . . . . . . . . 32
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 34
   Intellectual Property and Copyright Statements . . . . . . . . . . 35











































Brok                    Expires September 7, 2006               [Page 3]

Internet-Draft              Regulate-Publish                  March 2006


1.  Introduction

   In accordance with the Event State Publication framework [RFC3903], a
   User Agent Client (UAC) sends PUBLISH messages carrying event state
   information to a User Agent Server (UAS).  The UAS acts as a
   compositor of published event state information and may distribute
   the composed information, for instance using SIP-specific event
   notification [RFC3265].

   The formats and rules of published and subscribed information are
   defined by event packages.  For the presence event package [RFC3856],
   the UAS is a Presence Agent (PA), allowing for watchers to receive
   updates of presence information through notifications [RFC2778].  The
   UAC is a Presence User Agent (PUA), which can be located on the
   user's mobile device but also somewhere in the network.  On a mobile
   device, monitoring resources in order to publish changes of the
   presence state can be costly in terms of battery and computing
   resources.  Even worse, publishing information regularly over a
   cellular network can have a dramatic effect on the battery lifetime,
   number of messages and transmitted data volume.  Also for network
   agents, monitoring presence information for large numbers of
   presentities can be costly in terms of computing resources and
   network traffic.  This situation would be improved by a) monitoring
   only what is needed, and b) publishing at a rate that is not higher
   than necessary.

   The Event State Publication framework does not define mechanisms for
   a UAC to know whether event state publications are needed, what
   subset and how often.  Furthermore, it is important to handle
   overload situations, as described in
   [draft-rosenberg-sipping-overload-reqs-00].

   This draft defines a solution for a UAS to regulate PUBLISH messages
   by actively providing detailed information to the UAC regarding which
   resources to monitor and with what rate limits.  In addition, it
   allows the UAS to specify the urgency of event state publications, as
   well as the required delta of numerical values before publishing
   changed event state.  The UAC may use this information at its
   descretion.  This solution will be referred to as "regulate-publish"
   in this document.

1.1.  Requirements notation

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





Brok                    Expires September 7, 2006               [Page 4]

Internet-Draft              Regulate-Publish                  March 2006


1.2.  Definitions and Document Conventions

   This document follows the definitions in [RFC3903] and [RFC3265].  In
   addition, this document uses presence related definitions from
   [RFC2778] and [RFC3856] for illustrative purposes.














































Brok                    Expires September 7, 2006               [Page 5]

Internet-Draft              Regulate-Publish                  March 2006


2.  Problem description

2.1.  Existing mechanisms

   The UAC may use notifications from the watcher information (winfo)
   event package [RFC3857] to deduce that there are watchers.  This
   approach has the following disadvantages.

   o  Using winfo, a UAC can learn that there is a watcher for presence
      notifications, but it does not necessarily mean that the watcher
      has access to the presence information (false positive).  For
      instance, policies or preferences may allow a watcher to
      subscribe, but disallow notifications (polite blocking).

   o  Using winfo, the UAC will know that a watcher has subscribed for
      presence notifications, but not the subset of presence information
      that the watcher is interested in.  Interestingly, watchers using
      Event Filter Notification
      [draft-ietf-simple-event-filter-funct-05] may provide a means to
      give a Presence Agent (i.e. the UAS) this knowledge.

   o  Similar to above, the watcher may re-subscribe specifying another
      event filter.  The UAC will not receive winfo notifications in
      this case.

   In summary, the UAC has no information as to the need for publication
   of event state.  The UAC could use the winfo notifications for this
   purpose, although it only sometimes gives an indication on event
   package level and is subject to false positives.

   The Event State Publication framework provides limited support for
   controlling the rate of publications ([RFC3903], section 9).  The
   compositor can insist that the client chooses a longer expiration
   value.  Alternatively, it can respond to a PUBLISH request with a 503
   (Service Unavailable) that includes a Retry-After header field.  This
   is a rather severe method and does not prevent PUBLISH messages in
   the first place.  Issues with this mechanism are clearly described in
   [draft-rosenberg-sipping-overload-reqs-00].

   At the time of writing, there has been some work on throttling SIP
   Event Notifications.  The commonality of all solutions is their
   reactive nature: It is not possible for a UAS to actively indicate
   that it wants to receive PUBLISH messages, which information they
   should contain and with which rate they should be sent.

2.2.  Quantitative example

   The quantitative example in this section describes the effect of



Brok                    Expires September 7, 2006               [Page 6]

Internet-Draft              Regulate-Publish                  March 2006


   frequent periodic publications on battery lifetime, network behavior,
   number of messages and data volume.

   Consider a mobile device hosting a UAC and connected to a cellular
   network, say CDMA2000/1X-EVDO.  Assume for the sake of discussion
   that the mobile device uses 5 mA when idle, 100 mA when receiving and
   keeping the airlink open, and 500 mA when transmitting.  It is easy
   to see that with a battery of 1000 mAH, the standby time is about 200
   hours, and the talk time is about 2 hours.  Furthermore, every time
   data is about to be exchanged over the network, the device needs some
   time (sub-second) to establish an open airlink, and keeps it open for
   as many as 10 seconds.

   With these numbers, a periodic publication of once every 10 minutes
   can decrease the battery lifetime from 200 to about 140 hours.
   Publishing every 2 minutes decreases the battery lifetime to about 65
   hours, and publishing every 15 seconds (default publication rate of a
   GPS device) to as low as 11 hours!  Note that the latter number
   changes to 22 hours when the airlink stays open for only 3 seconds.
   Clearly, it is in the interest of the UAC on a mobile device to know
   whether event state publications are necessary at all, and, if so, at
   what rate.

   Another consideration is that each device with an open airlink
   consumes resources (power control subchannels, walsh codes, MAC IDs).
   If sufficient devices keep the airlink open for a number of seconds
   after data exchange, eventually other devices may be denied.
   Clearly, rate limiting periodic publications has a positive effect on
   dimensioning a cellular network.

   Without rate limiting, the number of messages and associated data
   volume can be significant.  Consider publication of location
   information without retransmissions, using PIDF [RFC3863] and the
   extensions RPID [draft-ietf-simple-rpid-10] and [RFC4119].  A device
   with GPS support potentially publishes a new location every 15
   seconds, causing 240 SIP messages per hour.  As another example, a
   device monitoring cell IDs to determine its location may see a change
   of cell every 2 minutes, causing 60 SIP messages per hour.

   When looking at the volume regarding the examples above, assume that
   a PIDF document with location information is about 1300 bytes,
   including SIP header.  Add to that a PUBLISH response of about 240
   bytes.  The resulting volume for GPS-location is about 300 kB per
   hour, and for cell ID-location about 30 kB per hour!

2.3.  Usage scenarios

   This section lists a number of use cases where the regulate-publish



Brok                    Expires September 7, 2006               [Page 7]

Internet-Draft              Regulate-Publish                  March 2006


   solution would be beneficial.  All examples use the presence event
   package.  Note that some examples describe the use of XPath
   expressions, as will be described in Section 5.

   1.  A mobile device is capable of monitoring its geographical
       location using an embedded GPS device.  GPS location can be
       specified with the GEOPRIV format [RFC4119], which is an
       extension of the PIDF format [RFC3863].  GPS location is
       accurate, but requires significant battery power when used
       continuously.  The UAS can use regulate-publish to tell the
       mobile device to do a measurement once every 15 minutes.  This
       may be useful when the user carrying the mobile device (hosting
       the UAC) is a field worker, and his location should be tracked
       during office hours.  With the quantitative calculation from the
       previous section, this results in a battery lifetime of about 156
       hours compared to 200 hours idle time.


   2.  A watcher is particularly interested whether a person is in a
       noisy or quiet environment.  This event state can be expressed
       using the 'place-is' parameter of the the RPID format
       [draft-ietf-simple-rpid-10].  The watcher specifies the XPath
       expression '//person/place-is/audio' in a subscription using
       Event Filter Notification
       [draft-ietf-simple-event-filter-funct-05].  The UAS forwards the
       same XPath expression to the UAC.  Since the UAC has a microphone
       it can determine the sound level.  The UAC then decides to send
       PUBLISH messages only whenever the audio status changes.


   3.  The UAC on a mobile device contains voice-analysis software to
       detect the user's mood.  Since this is a computing intensive and
       therefore battery power consuming process, it is disabled by
       default.  Whenever a watcher of the user's presence information
       has specifically subscribed for mood information, the UAS sends a
       message to the UAC containing the XPath expression: 'presence/
       person/mood' (PIDF, RPID).














Brok                    Expires September 7, 2006               [Page 8]

Internet-Draft              Regulate-Publish                  March 2006


3.  Regulating publications

   This section introduces the baseline functionality for regulating
   publication of event state information.  This section is
   informational in nature.  It does not contain any normative
   statements.

3.1.  Overview

   This document defines a regulate-publish subscription model to be
   used concurrently with the publication messages to be regulated.  In
   this model, the UAC subscribes with the UAS for notifications of the
   "regulate-publish" event package.  This event package is defined in
   Section 4.  The SUBSCRIBE message from the UAC includes the name of
   the package for which the UAC publishes event state information, for
   instance presence.  Upon acceptance of the subscription, the UAS
   sends NOTIFY messages to the UAC with regulation information.  The
   UAC may use the regulation information at its own discretion; it is
   not a directive but a suggestion that helps the UAC to influence the
   monitoring of resources and limit the number of PUBLISH messages.

   A typical flow of messages would be (message 2xx responses omitted):

   UAC                 UAS
    |-----SUBSCRIBE---->|   M1: regulate-publish
    |<------NOTIFY------|   M2: regulate-publish
    |------PUBLISH----->|   M3: presence
    |                   |
    |------PUBLISH----->|   M4: presence
    |<------NOTIFY------|   M5: regulate-publish
    |------PUBLISH----->|   M6: presence

   The PUBLISH messages use the presence event package as an example.

   Figure 1

   The UAC sends a SUBSCRIBE message (M1), subscribing for notifications
   from UAS regarding regulation of publications.  M1 also contains
   information about the event package of the PUBLISH messages
   ('presence' in the example), and optionally more detailed information
   (see Section 4.2.1).  At successful subscription, M1 is followed by a
   NOTIFY message M2, containing initial information to regulate PUBLISH
   messages in terms of their rate and subset of the information.  Based
   on the NOTIFY message, the client can optimize its monitoring process
   and send PUBLISH messages (M3 and M4) upon event state information
   changes.  Message M5 tells the client that the UAS requests a changed
   regulation of publications, for instance at a lower rate (or even not
   at all).  M6 is the next PUBLISH message in response to M5.



Brok                    Expires September 7, 2006               [Page 9]

Internet-Draft              Regulate-Publish                  March 2006


   Note that the UAC is responsible for maintaining the subscription
   dialog for regulation information by sending refresh SUBSCRIBE
   messages.  The UAC is free to adhere to the regulation information in
   the NOTIFY messages.

   As a consequence, the UAC may send PUBLISH messages at a higher rate
   than suggested by a regulate-publish NOTIFY message.  In accordance
   with [RFC3903], the UAS has no reason to ignore or reject the PUBLISH
   message.  If the UAS cannot or is not willing to accept a PUBLISH
   message due to too high a rate, it can can respond with a 503
   (Service Unavailable) that includes a Retry-After header field.

3.2.  Benefits

   The regulate-publish subscription dialog does add extra overhead for
   both UAC and UAS.  However, with only one subscription dialog,
   detailed information from one or more event packages can be
   described.  In essence, this implements a kind of 'control channel'
   from the UAS towards the UAC.  Given the fact that the UAS needs to
   maintain state for each UAC anyway, we simply create a more symmetric
   channel.

   From Section 2.3 it is evident that the regulate-publish solution
   results in less messages.  With the extensions of the PIDF format for
   presence, such as RPID [draft-ietf-simple-rpid-10] and GEOPRIV
   [RFC4119], the UAC potentially monitors various resources and sends
   PUBLISH messages frequently.  Providing the UAC with feedback about
   the subset, rate, urgency and required delta of publication updates
   allows for cutting down on PUBLISH messages.  Note that it is
   straightforward for the UAS to send so many NOTIFY messages that the
   gain is lost.  The optimal rate depends on the targeted event
   package, subset of the information, UAC, and sensors used by the UAC.
   It is outside the scope of this document to specify the recommended
   rate of NOTIFY messages.

   Section 2.2 shows that decreasing the number of PUBLISH messages is
   particularly beneficial for a UAC on a mobile device, connected with
   the UAS through a wireless link.

   Finally, a significant benefit of a decreased the number of PUBLISH
   messages is a proportional decrease of event state composition in the
   UAS.

3.3.  Alternatives

   _This section is included for discussion purposes and may be removed
   at a later stage._




Brok                    Expires September 7, 2006              [Page 10]

Internet-Draft              Regulate-Publish                  March 2006


   An alternative approach of a 'reverse' subscription is not
   considered.  In this approach, a UAS would subscribe for information
   updates with the UAC, thereby omitting the PUBLISH mechanism.  This
   would not be compliant with the model for Presence and Instant
   Messaging [RFC2778], which states: "The presentity initiates changes
   in the presence information to be distributed by the presence
   service".  Here, the presentity is represented by the UAC and the
   presence service is the UAS.  Furthermore, PUBLISH is designed as a
   lightweight mechanism to make presence information from multiple
   sources available to a UAS.  A UAS subscribing with every presence
   source does not scale well, and is difficult to configure and manage.
   The advantage of the regulate-publish mechanism is that the UAS does
   not need to have a preconfigured list of presence sources, and that
   not every presence source needs to support regulate-publish (e.g.
   only wireless devices).

   Another disadvantage of a 'reverse' subscription is that it would not
   provide a solution for indicating desired frequency of notifications,
   although other aspects would be supported using the Event
   Notification Filtering mechanism
   [draft-ietf-simple-filter-format-05].  It is expected that for a UAC
   with limited computing and memory capacity, the process of accepting
   subscriptions and sending notifications is 'heavier' than the process
   of publishing and initiating subscriptions.  Adding Event
   Notification Filtering or an extension of it would add even more
   computing and memory overhead, which makes it less suitable for
   mobile devices.

   It is not considered to match the regulate-publish subscription with
   the SIP-ETag value of the PUBLISH 2xx responses.  Doing so would mean
   that an initial PUBLISH message is required.  It may be beneficial
   for the UAC to first figure out whether publication of event state
   information is needed at all, and allows for additional savings for a
   mobile device in terms of startup time, battery power and computing
   power.
















Brok                    Expires September 7, 2006              [Page 11]

Internet-Draft              Regulate-Publish                  March 2006


4.  Package Definition

   This section defines the regulate-publish event package and contains
   normative statements.

4.1.  Event Package

4.1.1.  Event Package Name

   The name of this package is 'regulate-publish'.  As specified in
   [RFC3265], this value MUST be defined in the Event header field of
   SUBSCRIBE and NOTIFY requests.  For an example, see next section.

4.1.2.  Event Package Parameters

   The event header field MUST contain a event package parameter named
   'regulate'.  This parameter indicates the package name of the PUBLISH
   messages to be regulated.  This parameter MAY include multiple
   package names, separated by commas, to indicate regulation
   publications of multiple event packages.  Examples:

      Event: regulate-publish; regulate='presence'

      Event: regulate-publish; regulate='presence,xyz'

   The Event header MAY also contain an "id" parameter, as mandated by
   [RFC3265].

4.1.3.  ISSUE: template package?

   _This section is included for discussion purposes and may be removed
   at a later stage._

   Instead of defining 'regulate-publish' as a normal event package, it
   may be possible to define it as a template event package.  When
   regulating presence publications, the Event header would look like
   (see [RFC3265] section 4.2):

      Event: presence.regulate-publish

   Unsure if regulate-publish as a template event package can be applied
   to any arbitrary package, as required.  It seems this only makes
   sense for packages that support publication of event state.  Presence
   seems to be the only package so far.  Certainly, applying regulate-
   publish to itself does not make any sense.  A minor issue is that
   this mechanism does not allow for regulating publications of multiple
   event packages, as shown in the example of Section 4.1.2.  Proposal:
   NOT a template event package.



Brok                    Expires September 7, 2006              [Page 12]

Internet-Draft              Regulate-Publish                  March 2006


4.2.  SUBSCRIBE

   SUBSCRIBE messages MUST follow the specification of [RFC3265].

4.2.1.  SUBSCRIBE messages

   The UAC sends a SUBSCRIBE message to the UAS specifying for which
   event package(s) to regulate publications.  The UAC MUST send
   regulate-publish SUBSCRIBE messages to the same destination URI(s) it
   would send regulated PUBLISH messages to (i.e. the UAS).  The UAC
   MUST NOT subscribe more than once to the same target URI (i.e. can
   only have a single subscription dialog).

   The SUBSCRIBE message MAY contain a body.  Without a body, the UAS is
   free to regulate any information carried by the event package(s)
   specified with the 'regulate' parameter (i.e. used by the PUBLISH
   messages).  Without a body, and when applied to presence, the
   guidelines defined in section 5 of [RFC3856] MUST be followed, which
   provides a means to identify the presentity in the presence
   publications (see also Section 4.2.3).

   A SUBSCRIBE message containing a body provides the UAS with more
   details on what information can be regulated.  The UAS MAY ignore the
   information in the body.  SUBSCRIBE messages with a body SHOULD use
   the 'regulate-publish' data format and specify 'application/
   regulate-publish+xml' (see Section 5.1) in the Content-Type header
   field.  Other MIME types MAY be specified for future purposes.

   _Issue: use the Accept field to define which MIME types the client
   supports in the NOTIFY messages? (i.e. 'application/
   regulate-publish+xml')_

4.2.2.  SUBSCRIBE behavior

   The UAS MUST apply the same access control policy to SUBSCRIBE
   requests as PUBLISH messages for the targeted event package(s).  In
   other words, only UACs that are allowed to publish information are
   also allowed to subscribe with regulate-publish.

   In order to minimize the overhead, the UAC SHOULD specify a
   subscription duration of 1 hour or longer.  The UAS SHOULD use a
   default 'Expires' value of 2 hours if the UAC does not specify a
   value.  The UAC and UAS MUST NOT specify a subscription duration of
   less than 30 minutes.

   The expiry parameter from SUBSCRIBE responses must be used to refresh
   the subscription or invalidating the regulation information set by
   the notification.



Brok                    Expires September 7, 2006              [Page 13]

Internet-Draft              Regulate-Publish                  March 2006


   The regulate-publish event package MUST support forking of SUBSCRIBE
   messages.  See further Section 4.3.2.

   When using the regulate-publish data format for SUBSCRIBE messages,
   the UAS can interpret the data to learn what subset of the
   information of an event package (such as presence) the UAC allows to
   be regulated.  Furthermore, the <constraints> element (see
   Section 5.7) may provide hints as to what minimum and maximum
   interval the UAC can send PUBLISH messages.  It is RECOMMENDED that
   the UAS interprets the body of regulate-publish SUBSCRIBE messages.
   In particular, it is RECOMMENDED that the UAS requests publications
   at a rate that is not higher than indicated by the UAC in the
   SUBSCRIBE body.

4.2.3.  Multiple presentities

   For UACs that publish information for a large number of presentities,
   it may be useful to subscribe with regulate-publish to the UAS only
   once, and not for every presentity.  To support this, it is
   RECOMMENDED that the UAS defines a URI representing multiple
   presentities (all or just a subset), which is to be used in the
   header and body (if present) of SUBSCRIBE and NOTIFY regulate-publish
   messages.  The specification of such a URI is outside the scope of
   this document.

4.3.  NOTIFY

   NOTIFY messages MUST follow the specification of [RFC3265].

4.3.1.  NOTIFY messages

   The UAS sends a NOTIFY message to the UAC specifying for which event
   package(s) to regulate publications, including detailed regulation
   parameters.  Like with the SUBSCRIBE message, the event package to
   regulate ('regulate' parameter, see Section 4.1.2) MUST be defined.

   The NOTIFY message MUST contain a body.  NOTIFY messages SHOULD
   specify 'application/regulate-publish+xml' (see Section 5.1) in the
   Content-Type header field.  Other MIME types MAY be specified for
   future purposes.

4.3.2.  NOTIFY behavior

   The UAC MAY choose to ignore the regulation information from all
   NOTIFY messages.  (Note that at any time, the UAC may terminate the
   regulate-publish subscription.)  Interpretation of any information
   carried in the NOTIFY bodies is outside the scope of this
   specification.



Brok                    Expires September 7, 2006              [Page 14]

Internet-Draft              Regulate-Publish                  March 2006


   De UAC maintains no more than one subscription dialog per URI, other
   than for reasons of forking (see further in this section).  Each
   NOTIFY message overrides the previous one (within a subscription
   dialog), given by the compelling reason for a simpler state-machine
   in the UAC.  The UAS and UAC do not support incremental
   notifications, unless defined in future specifications.  The NOTIFY
   body may support multiple regulation elements, for instance a single
   request to publish GPS location once and a continuous detection for a
   noisy environment.  If multiple regulation elements conflict, the UAC
   can decide to ignore one or all of them.

   _Issue: the UAC could respond to a NOTIFY message with conflicting
   information with an informative message in the body of the OK
   response.  This may be useful feedback for the UAS.  Such a body
   could contain one ore more sets of XPath expressions and error
   codes._

   [RFC3265] mandates that packages define a maximum rate of
   notifications for their package.  For reasons of congestion control,
   it is important that the rate of notifications not become excessive.
   Therefore, it is RECOMMENDED that the UAS does not generate regulate-
   publish notifications for a single subscriber at an average rate
   higher than every 15 minutes.  The UAS MUST not generate regulate-
   publish notifications for a single subscriber at an average rate
   higher than every 5 minutes.

   The regulate-publish event package MUST support forking of SUBSCRIBE
   messages.  As a result, the UAC MUST be prepared to support multiple
   subscription dialogs, and support NOTIFY requests with "From:" tags
   that differ from the "To:" tag received in the SUBSCRIBE 200-class
   response, as mandated by [RFC3265].  The UAC MAY merge notifications
   from multiple subscriptions.  Also, the UAC MAY ignore notifications
   from multiple subscriptions.  The UAC is free to merge the regulation
   information in any way.  The UAC MUST be prepared to deal with
   conflicting regulation information from multiple dialogs.
















Brok                    Expires September 7, 2006              [Page 15]

Internet-Draft              Regulate-Publish                  March 2006


5.  Regulate-publish format

   This section defines the 'regulate-publish' data format and contains
   normative statements.  The XML schema definition can be found in
   Section 5.9.

   The regulate-publish data format is an XML document [XML] that MUST
   be well-formed and MUST be valid according to schemas, including
   extension schemas, available to the validater and applicable to the
   XML document.  The regulate-publish documents MUST be based on XML
   1.0 and MUST be encoded using UTF-8.

   The namespace identifier for elements defined by this specification
   is a URN [RFC2141], using the namespace identifier 'ietf' defined by
   [RFC2648] and extended by [RFC3688].  This urn is:
   'urn:ietf:params:xml:ns:regulate-publish'.

5.1.  MIME type for regulate-publish document

   The MIME type for the regulate-publish document is 'application/
   regulate-publish+xml'.  Any transport protocol (such as SIP
   [RFC3261]) that is used to carry the regulation information and
   payload type information MUST identify the payload as MIME type
   'regulate-publish+xml' (for example: a Content-Type header field).

5.2.  Example document

   This section contains informative statements.

   The regulate-publish data format can be used by both SUBSCRIBE and
   NOTIFY messages of the regulate-publish event package.  As a body of
   a SUBSCRIBE message, the UAC suggests what can be regulated.  As a
   body of a NOTIFY message, the UAS suggests what to be regulated.
   This data format provides a fine grained specification of the subset
   of event state information to be regulated.  It also allows to
   specify subsets of multiple event packages and/or data formats
   subject to regulation using XPath-based expressions.














Brok                    Expires September 7, 2006              [Page 16]

Internet-Draft              Regulate-Publish                  March 2006


   Example regulate-publish document as part of a NOTIFY message:

   <?xml version="1.0" encoding="UTF-8"?>
   <regulate-set xmlns="urn:ietf:params:xml:ns:regulate-publish">
     <ns-bindings>
       <ns-binding prefix="pidf" urn="pidf_urn"/>
       <ns-binding prefix="gml" urn="gml_urn"/>
     </ns-bindings>
     <regulate id="123" uri="sip:presentity@domain.com"
               package="presence">
       <constraints occurrence="5" min-interval="60" urgent="true"/>
       <subset type="xpath">
          pidf:presence//gml:location
       </subset>
     </regulate>
   </regulate-set>

   Figure 2

5.3.  The <regulate-set> Root Element

   The root element of the regulate-publish format is <regulate-set>,
   which MUST contain the namespace declaration
   'urn:ietf:params:xml:ns:regulate-publish' as the value of a 'xmlns'
   attribute.

   The <regulate-set> element MAY contain a single <ns-bindings>
   element.

   The <regulate-set> element MUST contain at least one <regulate>
   element.

5.4.  The <ns-bindings> Element

   The <ns-bindings> element is used to bind namespaces to local
   prefixes used in expressions that select elements or attributes using
   the syntax in section 4 of [draft-ietf-simple-filter-format-05].
   These prefixes apply to the XPath data of the <subset> element.  The
   <ns-bindings> element MUST be defined if XPath expressions are
   present in the XML document.  The <ns-bindings> element SHOULD NOT be
   defined if XPath expressions are not present in the XML document.

   The <ns-bindings> element contains one or more <ns-binding> elements.

5.5.  The <ns-binding> Element

   The <ns-binding> element supports the following attributes:




Brok                    Expires September 7, 2006              [Page 17]

Internet-Draft              Regulate-Publish                  March 2006


   o  Mandatory 'prefix' attribute, which is a prefix used to qualify
      the elements pointed to by an expression.

   o  Mandatory 'urn' attribute, which identifies the namespace that the
      prefix represents.

5.6.  The <regulate> Element

   The <regulate> element MAY contain a single <constraints> element.

   The <regulate> element MAY contain zero or more <subset> elements.

   The <regulate> element supports the following attributes:

   o  Mandatory 'id' attribute, which MUST be unique within each
      regulate element.  The value has no particular meaning.

   o  Mandatory 'uri' attribute, which is the URI of the resource that
      the filter applies to.  This URI MUST be the same as used in
      PUBLISH messages to be regulated.

   o  Mandatory 'package' attribute, which MUST also be defined in the
      regulate event package parameter (see Section 4.1.2).

   Multiple <regulate> elements MAY contain different event packages to
   be regulated.  For instance, one element may suggest to regulate
   'pidf:presence//pidf:contact' from the presence event package and a
   second element may suggest to regulate 'weather[@sunshine="true"]'
   from an imaginary weather event package.

   When multiple <regulate> elements contain the same event package
   specification, their <subset> elements MUST contain different XPath
   specifications, and one of the <regulate> elements MAY omit the
   <subset> element.  Both UAC and UAS MUST interpret a <regulate>
   element without a <subset> element to cover all information from the
   target event package that is not covered by the preceding <regulate>
   elements.

5.7.  The <constraints> Element

   The information in an <constraints> element applies to all <subset>
   elements in a <regulate> element.  The <constraints> element supports
   the following attributes:

   o  Optional 'occurrence' attribute suggests the number of PUBLISH
      messages, for instance 0 for no more messages and 1 for one-shot.
      This attribute has no meaning when used in the body of SUBSCRIBE
      messages.  When omitted, the UAS does not specify how many PUBLISH



Brok                    Expires September 7, 2006              [Page 18]

Internet-Draft              Regulate-Publish                  March 2006


      messages are desired.

   o  Optional 'min-interval' attribute suggests that PUBLISH messages
      are required repeatedly with specified minimum interval in seconds
      ('not sooner than') when used in the body of NOTIFY messages.
      When omitted, the UAS does not specify the minimum interval
      between PUBLISH messages.  When used in the body of SUBSCRIBE
      messages, it defines the minimum interval with which the UAC is
      able or willing to send PUBLISH messages.

   o  Optional 'max-interval' attribute suggests that PUBLISH messages
      are required repeatedly with specified maximum interval in seconds
      ('not later than') when used in the body of NOTIFY messages.  This
      value MUST be greater or equal to the 'min-interval' attribute, if
      specified.  When omitted, the UAS does not specify the maximum
      interval between PUBLISH messages.  This attribute has no meaning
      when used in the body of SUBSCRIBE messages.

   o  Optional boolean 'urgent' attribute indicates how urgent the UAS
      requires a PUBLISH message with the information specified with the
      XPath expression.  The value can be '0', 'false' (not urgent) or
      '1', 'true' (urgent).  This attribute provides a hint to the UAC
      to monitor and send PUBLISH messages.  It is RECOMMENDED that the
      UAC sends a PUBLISH message immediately after a NOTIFY message
      containing urgent=true, even if the data to be published has not
      changed since the previous PUBLISH message.  The priority field
      from the SIP header (if present) should not be used for this
      purpose since the NOTIFY body may contain multiple filters with
      different urgency values.  This attribute has no meaning when used
      in the body of SUBSCRIBE messages.

   The occurrence and min-interval attributes may be used together; a
   good use case is to measure and publish just x locations y minutes
   apart to calculate speed and direction.  The UAC should normally not
   send PUBLISH messages with unchanged data.  The min-interval
   attribute provides a good direction for the monitoring rate.

   If the max-interval attribute has been defined, it is RECOMMENDED
   that the UAC sends a PUBLISH message with the specified interval.
   Note that even though the published information may not have changed,
   the fact that it is sent at another moment in time makes them
   different (i.e. a refresh).  Since this feature may cause excessive
   PUBLISH messages, it is recommended to use it sparingly, together
   with a restrictive subset, and with a large value (e.g. 600 or more).

   Note that the UAS cannot mandate a minimum or maximum publication
   rate through the regulate-publish event packages.  At all times, the
   UAC is reponsible for deciding when to publish a change in event



Brok                    Expires September 7, 2006              [Page 19]

Internet-Draft              Regulate-Publish                  March 2006


   state.  For instance, for integrity reasons, the UAC should publish
   basic service state (/presence/tuple/status/basic) every time its
   value changes.  The interval specification is most useful for
   continuous publications such as location measured with GPS.  The same
   applies to requested delta for numerical information.  At all times,
   the UAC MUST adhere to the maximum rate of publications as described
   by [RFC3903] and the target event package (if any).

5.8.  The <subset> Element

   The <subset> element supports the following attributes and value:

   o  Mandatory 'type' attribute defining the format of the subset of
      the regulate data.  When used in the regulate-publish event
      package, the UAC and UAS MUST support "xpath".

   o  Optional 'delta' attribute indicates the minimum change of a
      numerical value before the UAC can (in SUBSCRIBE) or needs to (in
      NOTIFY) send a PUBLISH message.  The XPath expression must select
      a numerical element or attribute.

   o  Optional 'uom' attribute indicates the units of measurement of the
      numerical value specified by the XPath expression and, if present,
      the 'delta' attribute.  Note that the 'uom' attribute can also be
      found in GML (see [RFC4119]).  The XPath expression must select a
      numerical element or attribute.

   o  Mandatory value, defining the subset of the regulate data, e.g. an
      XPath expression.  Expansion of namespaces is done according to
      the given <ns-bindings> definitions.  The XPath expression used in
      the <subset> element MUST follow the definition in section 4 of
      [draft-ietf-simple-filter-format-05].

   Some example XPath expressions (namespace prefixes omitted):

   o  /presence/person/activities

   o  //place-is/audio

   o  /*/device[user-input="active"]

   o  //contact[@priority>0.7]

5.9.  XML Schema

   XML Schema Implementation (normative).

   <?xml version="1.0" encoding="UTF-8"?>



Brok                    Expires September 7, 2006              [Page 20]

Internet-Draft              Regulate-Publish                  March 2006


   <xs:schema
         targetNamespace="urn:ietf:params:xml:ns:regulate-publish"
         xmlns="urn:ietf:params:xml:ns:regulate-publish"
         xmlns:xs="http://www.w3.org/2001/XMLSchema"
         elementFormDefault="qualified"
         attributeFormDefault="unqualified">

     <!-- This import brings in the XML language attribute xml:lang-->
     <xs:import namespace="http://www.w3.org/XML/1998/namespace"
                schemaLocation="http://www.w3.org/2001/xml.xsd"/>

     <xs:annotation>
       <xs:documentation xml:lang="en">
         XML Schema Definition for regulate-publish.
       </xs:documentation>
     </xs:annotation>

     <xs:element name="regulate-set" type="RegulateSetType"/>

     <xs:complexType name="RegulateSetType">
       <xs:sequence>
         <xs:element name="ns-bindings" type="NSBindings"
                     minOccurs="0" maxOccurs="1"/>
         <xs:element name="regulate" type="RegulateType"
                     minOccurs="1" maxOccurs="unbounded"/>
         <xs:any namespace="##other" processContents="lax"
                     minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>

     <xs:complexType name="NSBindings">
       <xs:sequence>
         <xs:element name="ns-binding" type="NSBinding"
                     minOccurs="1" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>

     <xs:complexType name="NSBinding">
       <xs:attribute name="prefix" type="xs:string" use="required"/>
       <xs:attribute name="urn" type="xs:anyURI" use="required"/>
     </xs:complexType>

     <xs:complexType name="RegulateType">
       <xs:sequence>
         <xs:element name="constraints" type="ConstraintsType"
                     minOccurs="0" maxOccurs="1"/>
         <xs:element name="subset" type="SubsetType"
                     minOccurs="0" maxOccurs="unbounded"/>



Brok                    Expires September 7, 2006              [Page 21]

Internet-Draft              Regulate-Publish                  March 2006


         <xs:any namespace="##other" processContents="lax"
                     minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute name="id" type="xs:string" use="required"/>
       <xs:attribute name="uri" type="xs:anyURI" use="required"/>
       <xs:attribute name="package" type="xs:string" use="required"/>
       <xs:anyAttribute namespace="##other" processContents="lax"/>
     </xs:complexType>

     <xs:complexType name="ConstraintsType">
       <xs:sequence>
         <xs:any namespace="##other" processContents="lax"
                     minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute name="occurrence" type="xs:nonNegativeInteger"
                     use="optional"/>
       <xs:attribute name="min-interval" type="xs:nonNegativeInteger"
                     use="optional"/>
       <xs:attribute name="max-interval" type="xs:nonNegativeInteger"
                     use="optional"/>
       <xs:attribute name="urgent" type="xs:boolean"
                     use="optional"/>
       <xs:anyAttribute namespace="##other" processContents="lax"/>
     </xs:complexType>

     <xs:complexType name="SubsetType">
       <xs:sequence>
         <xs:any namespace="##other" processContents="lax"
                     minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
       <xs:attribute name="type" type="xs:string"
                     use="required"/>
       <xs:attribute name="delta" type="xs:float"
                     use="optional"/>
       <xs:attribute name="uom" type="xs:string"
                     use="optional"/>
       <xs:anyAttribute namespace="##other" processContents="lax"/>
     </xs:complexType>

     <xs:simpleType name="precentageType">
       <xs:restriction base="xs:nonNegativeInteger">
         <xs:minInclusive value="0"/>
         <xs:maxInclusive value="100"/>
       </xs:restriction>
     </xs:simpleType>

   </xs:schema>




Brok                    Expires September 7, 2006              [Page 22]

Internet-Draft              Regulate-Publish                  March 2006


   Figure 3

5.10.  Extending regulate-publish

   All elements of regulate-publish XML documents may be extended, with
   the exception of <ns-bindings> and <ns-binding>.  Such extensions
   should use namespace designators such as
   'urn:ietf:params:xml:ns:regulate-publish:ext', where 'ext' is the
   name of the extension.

   In addition to the XML Schema to validate the extension, and
   registration of the extension name with IANA, RFCs defining
   extensions MUST discuss the semantics of the extensions when used in
   the body of SUBSCRIBE and NOTIFY regulate-publish messages.





































Brok                    Expires September 7, 2006              [Page 23]

Internet-Draft              Regulate-Publish                  March 2006


6.  Example Usage

   The following example shows the body of a SUBSCRIBE message from the
   UAC.  It indicates that it supports regulation of publishing the
   location of the device hosting the UAC, in particular using GPS and
   cellular network technology, with certain minimum intervals.  The SIP
   message header is not shown.

   <?xml version="1.0" encoding="UTF-8"?>
   <regulate-set xmlns="urn:ietf:params:xml:ns:regulate-publish">
     <ns-bindings>
       <ns-binding prefix="gp"
         urn="urn:ietf:params:xml:ns:pidf:geopriv10"/>
       <ns-binding prefix="gml"
         urn="urn:opengis:specification:gml:schema-xsd:feature:v3.0"/>
     </ns-bindings>
     <regulate id="700" uri="sip:presentity@domain.com"
               package="presence">
       <constraints min-interval="15"/>
       <subset type="xpath">
         //gml:location[*/gp:geopriv/gp:method="GPS"]
       </subset>
     </regulate>
     <regulate id="701" uri="sip:presentity@domain.com"
               package="presence">
       <constraints min-interval="300"/>
       <subset type="xpath">
         //gml:location[*/gp:geopriv/gp:method="Cell"]
       </subset>
     </regulate>
   </regulate-set>

   Figure 4

   The following example is based on use case 1 of Section 2.3.  The
   UAS, a Presence Agent (PA), requests monitoring the geographical
   location, indicating that it needs the location roughly every 15
   minutes (900 seconds) in latitude/longitude coordinates.  The UAS
   does not specify regulation of any other presence information.  The
   XML document in this example is the body of the NOTIFY message from
   the UAS to the UAC on the user's mobile device, the SIP message
   header is not shown.









Brok                    Expires September 7, 2006              [Page 24]

Internet-Draft              Regulate-Publish                  March 2006


   <?xml version="1.0" encoding="UTF-8"?>
   <regulate-set xmlns="urn:ietf:params:xml:ns:regulate-publish">
     <ns-bindings>
       <ns-binding prefix="pidf"
         urn="urn:ietf:params:xml:ns:pidf"/>
       <ns-binding prefix="gml"
         urn="urn:opengis:specification:gml:schema-xsd:feature:v3.0"/>
     </ns-bindings>
     <regulate id="123" uri="sip:presentity@domain.com"
               package="presence">
       <constraints min-interval="800" max-interval="1000"/>
       <subset type="xpath">
         /pidf:presence//gml:location
       </subset>
     </regulate>
   </regulate-set>

   Figure 5

   The following example is based on use case 2 of Section 2.3.  A
   watcher is particularly interested whether a person is currently in a
   noisy or quiet environment and sends request containing a filter
   [draft-ietf-simple-event-filter-funct-05] to the UAS, a Presence
   Agent (PA).  The UAS determines that the watcher may see this
   information and sends a NOTIFY message to the UAC containing a
   similar XPath expression and a request to send a single PUBLISH
   message with the audio status.  The UAS also specifies that the UAC
   does not need to publish any other presence information.  The XML
   document in this example is the body of the NOTIFY message from the
   UAS to the UAC on the user's mobile device, the SIP message header is
   not shown.




















Brok                    Expires September 7, 2006              [Page 25]

Internet-Draft              Regulate-Publish                  March 2006


   <?xml version="1.0" encoding="UTF-8"?>
   <regulate-set xmlns="urn:ietf:params:xml:ns:regulate-publish">
     <ns-bindings>
       <ns-binding prefix="rpid"
         urn="urn:ietf:params:xml:ns:pidf:rpid"/>
     </ns-bindings>
     <regulate id="456" uri="sip:presentity@domain.com"
               package="presence">
       <constraints occurrence="1" urgent="1"/>
       <subset type="xpath">
         //rpid:place-is/rpid:audio
       </subset>
     </regulate>
     <regulate id="125" uri="sip:presentity@domain.com"
               package="presence">
       <constraints occurrence="0"/>
     </regulate>
   </regulate-set>

   Figure 6

   The following example shows that the UAS, a Presence Agent (PA),
   requests the UAC to publish any presence data in any way appropriate.
   Such a notification can be used to cancel previous notifications
   where specific presence data has been regulated.  The XML document in
   this example is the body of the NOTIFY message from the UAS to the
   UAC on the user's mobile device, the SIP message header is not shown.

   <?xml version="1.0" encoding="UTF-8"?>
   <regulate-set xmlns="urn:ietf:params:xml:ns:regulate-publish">
     <regulate id="124" uri="sip:presentity@domain.com"
               package="presence"/>
   </regulate-set>

   Figure 7

   The following example shows that the UAS requests a UAC equipped with
   a thermometer to send a new PUBLISH message with a temperature update
   only if the change in temperature is at least 5 degrees Celsius since
   the previous PUBLISH message.  For this example, an imaginary
   extension 'temp' of the RPID format [draft-ietf-simple-rpid-10] is
   used.  The XML document in this example is the body of the NOTIFY
   message from the UAS to the UAC on the user's mobile device, the SIP
   message header is not shown.







Brok                    Expires September 7, 2006              [Page 26]

Internet-Draft              Regulate-Publish                  March 2006


   <?xml version="1.0" encoding="UTF-8"?>
   <regulate-set xmlns="urn:ietf:params:xml:ns:regulate-publish">
     <ns-bindings>
       <ns-binding prefix="rpid"
         urn="urn:ietf:params:xml:ns:pidf:rpid"/>
       <ns-binding prefix="temp"
         urn="urn:ietf:params:xml:ns:pidf:rpid:temp"/>
     </ns-bindings>
     <regulate id="130" uri="sip:presentity@domain.com"
               package="presence">
       <subset type="xpath" delta="5" uom="#degreesCelsius">
         //temp:temperature
       </subset>
     </regulate>
   </regulate-set>

   Figure 8


































Brok                    Expires September 7, 2006              [Page 27]

Internet-Draft              Regulate-Publish                  March 2006


7.  Security Considerations

   An important observation is the security and privacy aspects of a
   mechanism to influence publication of event state information.  One
   could consider it a threat if an entity other than the user's device
   has the ability to request for privacy sensitive information.
   However, given the idea that the client must initiate publication of
   information, the same security issues using PUBLISH according to
   [RFC3903] apply.  Furtermore, the UAC may choose to ignore the
   regulation information.  It would be a good practice to provide some
   sort of feedback to the user whenever the compositor requests (more)
   frequent information updates, as well as the possibility for the user
   to block this.

   The regulate-publish event package MUST follow the specification of
   the Security Considerations in [RFC3265].

   As specified in section Section 4.2.2, only UACs that are allowed to
   publish information are also allowed to subscribe with regulate-
   publish.  This prevents DoS attacks by malicious subscribers.
   [RFC3265] describes several mechanisms to mitigate DoS attacks.






























Brok                    Expires September 7, 2006              [Page 28]

Internet-Draft              Regulate-Publish                  March 2006


8.  IANA Considerations

   This document registers a new event package and two new MIME types
   and XML namespaces.

   This specification follows the guidelines of [RFC3023].

8.1.  regulate-publish event package

   This specification registers an event package as specified in Section
   6.2 of [RFC3265].

   Package Name: regulate-publish

   Template Package: no

   Published Specification: not yet determined

   Person to Contact: Jacco Brok, brok@lucent.com.

8.2.  application/regulate-publish+xml MIME type

   MIME media type: application

   MIME subtype name: regulate-publish+xml

   Mandatory parameters: (none)

   Optional parameters: Same as charset parameter application/xml as
   specified in RFC 3023.

   Encoding considerations: Same as encoding considerations of
   application/xml as specified in RFC 3023.

   Security considerations: See section 10 of RFC 3023 and Section 7 of
   this document.

   Interoperability considerations: none.

   Published specification: This document.

   Applications which use this media type: This document type has been
   used to support the SIP-based Event Notification framework [RFC3265],
   the SIP-based Event State Publication framework [RFC3903] and its
   packages.

   Additional information:




Brok                    Expires September 7, 2006              [Page 29]

Internet-Draft              Regulate-Publish                  March 2006


   Magic number: (none)

   File extension: .cl or .xml

   Macintosh file type code: "TEXT"

   Personal and email address for further information: Jacco Brok
   (brok@lucent.com)

   Intended Usage: LIMITED

   Author/change controller: The IETF

8.3.  URN Sub-Namespace Registration for
      urn:ietf:params:xml:ns:regulate-publish

   This section registers a new XML namespace, as per guidelines in URN
   document [RFC3688].

   URI: The URI for this namespace is
   urn:ietf:params:xml:ns:regulate-publish.

   Registrant Contact: IETF, SIPPING working group, Jacco Brok
   (brok@lucent.com)

   XML:

   BEGIN
   <?xml version="1.0"?>
   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 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>Regulate-Publish Namespace</title>
     </head>
     <body>
       <h1>Namespace for Regulate-Publish information</h1>
       <h2>application/regulate-publish+xml</h2>
       <p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p>
     </body>
   </html>
   END

   Figure 9





Brok                    Expires September 7, 2006              [Page 30]

Internet-Draft              Regulate-Publish                  March 2006


9.  Acknowledgements

   The author would like to thank Vijay Gurbani, Jeroen van Bemmel and
   Arjan Peddemors for their valuable input.  This work is part of the
   Freeband AWARENESS project (<http://awareness.freeband.nl>).
   Freeband is sponsored by the Dutch government under contract BSIK
   03025.












































Brok                    Expires September 7, 2006              [Page 31]

Internet-Draft              Regulate-Publish                  March 2006


10.  References

10.1.  Normative References

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

   [RFC2141]  Moats, R., "The URN Syntax", RFC 2141, May 1997.

   [RFC2648]  Moats, R., "The URN Namespace for IETF Documents",
              RFC 2648, August 1999.

   [RFC3023]  Murata, M., St.Laurent, S., and D. Kohn, "Key words for
              use in RFCs to Indicate Requirement Levels", RFC 3023,
              January 2001.

   [RFC3261]  Rosenberg, J., "SIP: Session Initiation Protocol",
              RFC 3261, June 2002.

   [RFC3265]  Roach, A., "Session Initiation Protocol (SIP)-Specific
              Event Notification", RFC 3265, June 2002.

   [RFC3688]  Mealling, M., "The IETF XML Registry", RFC 3688,
              January 2004.

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

   [RFC3903]  Niemi, A., "Session Initiation Protocol (SIP) Extension
              for Event State Publication", RFC 3903, October 2004.

   [XML]      Bray, T., "Exensible Markup Language (XML) 1.0 (Second
              Edition)", W3C CR CR-xml11-20011006, October 2000.

   [draft-ietf-simple-filter-format-05]
              Khartabil, H., Leppanen, E., Lonnfors, M., and J. Costa-
              Requena, "An Extensible Markup Language (XML) Based Format
              for Event Notification Filtering", March 2005.

10.2.  Informative References

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

   [RFC3857]  Rosenberg, J., "A Watcher Information Event Template-
              Package for  the Session Initiation Protocol (SIP)",
              RFC 3857, August 2004.




Brok                    Expires September 7, 2006              [Page 32]

Internet-Draft              Regulate-Publish                  March 2006


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

   [RFC4119]  Peterson, J., "A Presence-based GEOPRIV Location Object
              Format", RFC 4119, December 2005.

   [draft-ietf-simple-event-filter-funct-05]
              Khartabil, H., Leppanen, E., Lonnfors, M., and J. Costa-
              Requena, "Functional Description of Event Notification
              Filtering", March 2005.

   [draft-ietf-simple-rpid-10]
              Schulzrinne, H., Gurbani, V., Kyzivat, P., and J.
              Rosenberg, "RPID: Rich Presence Extensions to the Presence
              Information Data Format (PIDF)", December 2005.

   [draft-rosenberg-sipping-overload-reqs-00]
              Rosenberg, J., "Requirements for Management of Overload in
              the Session Initiation Protocol", February 2006.































Brok                    Expires September 7, 2006              [Page 33]

Internet-Draft              Regulate-Publish                  March 2006


Author's Address

   Jacco Brok
   Bell Labs/Lucent Technologies
   Capitool 5
   Enschede  7521 PL
   NL

   Phone: +31 35 6875717
   Email: brok@lucent.com
   URI:   http://www.lucent.com/








































Brok                    Expires September 7, 2006              [Page 34]

Internet-Draft              Regulate-Publish                  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.




Brok                    Expires September 7, 2006              [Page 35]