rfc3265.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,440 行 · 第 1/5 页

TXT
1,440
字号






Network Working Group                                        A. B. Roach
Request for Comments: 3265                                   dynamicsoft
Updates: 2543                                                  June 2002
Category: Standards Track


     Session Initiation Protocol (SIP)-Specific Event Notification

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

   This document describes an extension to the Session Initiation
   Protocol (SIP).  The purpose of this extension is to provide an
   extensible framework by which SIP nodes can request notification from
   remote nodes indicating that certain events have occurred.

   Concrete uses of the mechanism described in this document may be
   standardized in the future.

   Note that the event notification mechanisms defined herein are NOT
   intended to be a general-purpose infrastructure for all classes of
   event subscription and notification.

Table of Contents

   1.       Introduction...........................................  3
   1.1.     Overview of Operation..................................  4
   1.2.     Documentation Conventions..............................  4
   2.       Definitions............................................  5
   3.       Node Behavior..........................................  6
   3.1.     Description of SUBSCRIBE Behavior......................  6
   3.1.1.   Subscription Duration..................................  6
   3.1.2.   Identification of Subscribed Events and Event Classes..  6
   3.1.3.   Additional SUBSCRIBE Header Values.....................  7
   3.1.4.   Subscriber SUBSCRIBE Behavior..........................  7
   3.1.5.   Proxy SUBSCRIBE Behavior...............................  9
   3.1.6.   Notifier SUBSCRIBE Behavior............................ 10



Roach                       Standards Track                     [Page 1]

RFC 3265            SIP-Specific Event Notification            June 2002


   3.2.     Description of NOTIFY Behavior......................... 13
   3.2.1.   Identification of Reported Events, Event Classes, and
            Current State.......................................... 13
   3.2.2.   Notifier NOTIFY Behavior............................... 14
   3.2.3.   Proxy NOTIFY Behavior.................................. 15
   3.2.4.   Subscriber NOTIFY Behavior............................. 16
   3.3.     General................................................ 18
   3.3.1.   Detecting support for SUBSCRIBE and NOTIFY............. 18
   3.3.2.   CANCEL requests........................................ 18
   3.3.3.   Forking................................................ 18
   3.3.4.   Dialog creation and termination........................ 18
   3.3.5.   State Agents and Notifier Migration.................... 19
   3.3.6.   Polling Resource State................................. 20
   3.3.7.   Allow-Events header usage.............................. 21
   3.3.8.   PINT Compatibility..................................... 21
   4.       Event Packages......................................... 21
   4.1.     Appropriateness of Usage............................... 21
   4.2.     Event Template-packages................................ 22
   4.3.     Amount of State to be Conveyed......................... 22
   4.3.1.   Complete State Information............................. 23
   4.3.2.   State Deltas........................................... 23
   4.4.     Event Package Responsibilities......................... 24
   4.4.1.   Event Package Name..................................... 24
   4.4.2.   Event Package Parameters............................... 24
   4.4.3.   SUBSCRIBE Bodies....................................... 24
   4.4.4.   Subscription Duration.................................. 25
   4.4.5.   NOTIFY Bodies.......................................... 25
   4.4.6.   Notifier processing of SUBSCRIBE requests.............. 25
   4.4.7.   Notifier generation of NOTIFY requests................. 25
   4.4.8.   Subscriber processing of NOTIFY requests............... 26
   4.4.9.   Handling of forked requests............................ 26
   4.4.10.  Rate of notifications.................................. 26
   4.4.11.  State Agents........................................... 27
   4.4.12.  Examples............................................... 27
   4.4.13.  Use of URIs to Retrieve State.......................... 27
   5.       Security Considerations................................ 28
   5.1.     Access Control......................................... 28
   5.2.     Notifier Privacy Mechanism............................. 28
   5.3.     Denial-of-Service attacks.............................. 28
   5.4.     Replay Attacks......................................... 29
   5.5.     Man-in-the middle attacks.............................. 29
   5.6.     Confidentiality........................................ 29
   6.       IANA Considerations.................................... 30
   6.1.     Registration Information............................... 30
   6.2.     Registration Template.................................. 31
   6.3.     Header Field Names..................................... 31
   6.4.     Response Codes......................................... 32
   7.       Syntax................................................. 32



Roach                       Standards Track                     [Page 2]

RFC 3265            SIP-Specific Event Notification            June 2002


   7.1.     New Methods............................................ 32
   7.1.1.   SUBSCRIBE method....................................... 34
   7.1.2.   NOTIFY method.......................................... 34
   7.2.     New Headers............................................ 34
   7.2.1.   "Event" header......................................... 34
   7.2.2.   "Allow-Events" Header.................................. 35
   7.2.3.   "Subscription-State" Header............................ 35
   7.3.     New Response Codes..................................... 35
   7.3.1.   "202 Accepted" Response Code........................... 35
   7.3.2.   "489 Bad Event" Response Code.......................... 35
   7.4.     Augmented BNF Definitions.............................. 35
   8.       Normative References................................... 36
   9.       Informative References................................. 37
   10.      Acknowledgements....................................... 37
   11.      Notice Regarding Intellectual Property Rights.......... 37
   12.      Author's Address....................................... 37
   13.      Full Copyright Statement............................... 38

1. Introduction

   The ability to request asynchronous notification of events proves
   useful in many types of SIP services for which cooperation between
   end-nodes is required.  Examples of such services include automatic
   callback services (based on terminal state events), buddy lists
   (based on user presence events), message waiting indications (based
   on mailbox state change events), and PSTN and Internet
   Internetworking (PINT) [2] status (based on call state events).

   The methods described in this document provide a framework by which
   notification of these events can be ordered.

   The event notification mechanisms defined herein are NOT intended to
   be a general-purpose infrastructure for all classes of event
   subscription and notification.  Meeting requirements for the general
   problem set of subscription and notification is far too complex for a
   single protocol.  Our goal is to provide a SIP-specific framework for
   event notification which is not so complex as to be unusable for
   simple features, but which is still flexible enough to provide
   powerful services.  Note, however, that event packages based on this
   framework may define arbitrarily elaborate rules which govern the
   subscription and notification for the events or classes of events
   they describe.

   This document does not describe an extension which may be used
   directly; it must be extended by other documents (herein referred to
   as "event packages").  In object-oriented design terminology, it may





Roach                       Standards Track                     [Page 3]

RFC 3265            SIP-Specific Event Notification            June 2002


   be thought of as an abstract base class which must be derived into an
   instantiatable class by further extensions.  Guidelines for creating
   these extensions are described in section 4.

1.1. Overview of Operation

   The general concept is that entities in the network can subscribe to
   resource or call state for various resources or calls in the network,
   and those entities (or entities acting on their behalf) can send
   notifications when those states change.

   A typical flow of messages would be:

   Subscriber          Notifier
       |-----SUBSCRIBE---->|     Request state subscription
       |<-------200--------|     Acknowledge subscription
       |<------NOTIFY----- |     Return current state information
       |--------200------->|
       |<------NOTIFY----- |     Return current state information
       |--------200------->|

   Subscriptions are expired and must be refreshed by subsequent
   SUBSCRIBE messages.

1.2. Documentation Conventions

   There are several paragraphs throughout this document which provide
   motivational or clarifying text.  Such passages are non-normative,
   and are provided only to assist with reader comprehension.  These
   passages are set off from the remainder of the text by being indented
   thus:

      This is an example of non-normative explanatory text.  It does not
      form part of the specification, and is used only for
      clarification.

   Numbers in square brackets (e.g., [1]) denote a reference to one of
   the entries in the reference sections; see sections 8 and 9.

   The all-capital terms "MUST", "SHOULD", "MAY", "SHOULD NOT", "MUST
   NOT", and "RECOMMENDED" are used as defined in RFC 2119 [5].

   The use of quotation marks next to periods and commas follows the
   convention used by the American Mathematical Society; although
   contrary to traditional American English convention, this usage lends
   clarity to certain passages.





Roach                       Standards Track                     [Page 4]

RFC 3265            SIP-Specific Event Notification            June 2002


2. Definitions

   Event Package: An event package is an additional specification which
      defines a set of state information to be reported by a notifier to
      a subscriber.  Event packages also define further syntax and
      semantics based on the framework defined by this document required
      to convey such state information.

   Event Template-Package: An event template-package is a special kind
      of event package which defines a set of states which may be
      applied to all possible event packages, including itself.

   Notification: Notification is the act of a notifier sending a NOTIFY
      message to a subscriber to inform the subscriber of the state of a
      resource.

   Notifier: A notifier is a user agent which generates NOTIFY requests
      for the purpose of notifying subscribers of the state of a
      resource.  Notifiers typically also accept SUBSCRIBE requests to
      create subscriptions.

   State Agent: A state agent is a notifier which publishes state
      information on behalf of a resource; in order to do so, it may
      need to gather such state information from multiple sources.
      State agents always have complete state information for the
      resource for which they are creating notifications.

   Subscriber: A subscriber is a user agent which receives NOTIFY
      requests from notifiers; these NOTIFY requests contain information
      about the state of a resource in which the subscriber is
      interested.  Subscribers typically also generate SUBSCRIBE
      requests and send them to notifiers to create subscriptions.

   Subscription: A subscription is a set of application state associated
      with a dialog.  This application state includes a pointer to the
      associated dialog, the event package name, and possibly an
      identification token.  Event packages will define additional
      subscription state information.  By definition, subscriptions
      exist in both a subscriber and a notifier.

   Subscription Migration: Subscription migration is the act of moving a
      subscription from one notifier to another notifier.









Roach                       Standards Track                     [Page 5]

RFC 3265            SIP-Specific Event Notification            June 2002


3. Node Behavior

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?