RFC3680 日本語訳

3680 A Session Initiation Protocol (SIP) Event Package forRegistrations. J. Rosenberg. March 2004. (Format: TXT=35403 bytes) (Status: PROPOSED STANDARD)
プログラムでの自動翻訳です。
英語原文

Network Working Group                                       J. Rosenberg
Request for Comments: 3680                                   dynamicsoft
Category: Standards Track                                     March 2004

コメントを求めるワーキンググループJ.ローゼンバーグの要求をネットワークでつないでください: 3680dynamicsoft Category: 2004年の標準化過程行進

  A Session Initiation Protocol (SIP) Event Package for Registrations

登録証明書のためのセッション開始プロトコル(一口)イベントパッケージ

Status of this Memo

この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.

このドキュメントは、インターネットコミュニティにインターネット標準化過程プロトコルを指定して、改良のために議論と提案を要求します。 このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD1)の現行版を参照してください。 このメモの分配は無制限です。

Copyright Notice

版権情報

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

Copyright(C)インターネット協会(2004)。 All rights reserved。

Abstract

要約

   This document defines a Session Initiation Protocol (SIP) event
   package for registrations.  Through its REGISTER method, SIP allows a
   user agent to create, modify, and delete registrations.
   Registrations can also be altered by administrators in order to
   enforce policy.  As a result, these registrations represent a piece
   of state in the network that can change dynamically.  There are many
   cases where a user agent would like to be notified of changes in this
   state.  This event package defines a mechanism by which those user
   agents can request and obtain such notifications.

このドキュメントは登録証明書のためのSession Initiationプロトコル(SIP)イベントパッケージを定義します。 REGISTERメソッドで、SIPはユーザエージェントに登録証明書を作成して、変更して、削除させます。 また、管理者は、方針を実施するために登録証明書を変更できます。 その結果、これらの登録証明書はダイナミックに変化できるネットワークで1つの状態を表します。 多くのケースがユーザエージェントをこの状態の変化について通知されたいところにあります。 このイベントパッケージはそれらのユーザエージェントがそのような通知を要求して、得ることができるメカニズムを定義します。

Table of Contents

目次

   1.  Introduction .................................................  2
   2.  Terminology ..................................................  3
   3.  Usage Scenarios ..............................................  3
       3.1.  Forcing Re-Authentication ..............................  3
       3.2.  Composing Presence .....................................  3
       3.3.  Welcome Notices ........................................  4
   4.  Package Definition ...........................................  4
       4.1.  Event Package Name .....................................  4
       4.2.  Event Package Parameters ...............................  5
       4.3.  SUBSCRIBE Bodies .......................................  5
       4.4.  Subscription Duration ..................................  5
       4.5.  NOTIFY Bodies ..........................................  6
       4.6.  Notifier Processing of SUBSCRIBE Requests ..............  6
       4.7.  Notifier Generation of NOTIFY Requests .................  7
             4.7.1.  The Registration State Machine .................  7

1. 序論… 2 2. 用語… 3 3. 用法シナリオ… 3 3.1. 再認証を強制します… 3 3.2. 存在を構成します… 3 3.3. 通知を歓迎してください… 4 4. 定義をパッケージしてください… 4 4.1. イベントパッケージ名… 4 4.2. イベントパッケージパラメタ… 5 4.3. ボディーを申し込んでください… 5 4.4. 購読持続時間… 5 4.5. ボディーに通知してください… 6 4.6. より多くのNotifierに処理する、要求を申し込んでください… 6 4.7. Notifier世代、要求に通知してください… 7 4.7.1. 登録州のマシン… 7

Rosenberg                   Standards Track                     [Page 1]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[1ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

             4.7.2.  Applying the state machine .....................  9
       4.8.  Subscriber Processing of NOTIFY Requests ...............  9
       4.9.  Handling of Forked Requests ............................  9
       4.10. Rate of Notifications .................................. 10
       4.11. State Agents ........................................... 10
   5.  Registration Information ..................................... 10
       5.1.  Structure of Registration Information .................. 10
       5.2.  Computing Registrations from the Document .............. 14
       5.3.  Example ................................................ 15
       5.4.  XML Schema ............................................. 16
   6.  Example Call Flow ............................................ 18
   7.  Security Considerations ...................................... 21
   8.  IANA Considerations .......................................... 21
       8.1.  SIP Event Package Registration ......................... 21
       8.2.  application/reginfo+xml MIME Registration .............. 22
       8.3.  URN Sub-Namespace Registration for
             urn:ietf:params:xml:ns:reginfo ......................... 23
   9.  References ................................................... 23
       9.1.  Normative References ................................... 23
       9.2.  Informative References ................................. 24
   10. Contributors ................................................. 25
   11. Acknowledgements ............................................. 25
   12. Author's Address ............................................. 25
   13. Full Copyright Statement ..................................... 26

4.7.2. 州のマシンを適用します… 9 4.8. 加入者、処理する、要求に通知してください… 9 4.9. 股状の要求の取り扱い… 9 4.10. 通知の速度… 10 4.11. エージェントを述べてください… 10 5. 登録情報… 10 5.1. レジスト情報の構造… 10 5.2. ドキュメントから登録証明書を計算します… 14 5.3. 例… 15 5.4. XML図式… 16 6. 例の呼び出し流動… 18 7. セキュリティ問題… 21 8. IANA問題… 21 8.1. イベントパッケージ登録をちびちび飲んでください… 21 8.2アプリケーション/reginfo+xml MIME Registration… 22 8.3. つぼ:ietf:paramsのためのURN Sub-名前空間Registration: xml:ナノ秒:reginfo… 23 9. 参照… 23 9.1. 標準の参照… 23 9.2. 有益な参照… 24 10. 貢献者… 25 11. 承認… 25 12. 作者のアドレス… 25 13. 完全な著作権宣言文… 26

1.  Introduction

1. 序論

   The Session Initiation Protocol (SIP) [1] provides all of the
   functions needed for the establishment and maintenance of
   communications sessions between users.  One of the functions it
   provides is a registration operation.  A registration is a binding
   between a SIP URI, called an address-of-record, and one or more
   contact URIs.  These contact URIs represent additional resources that
   can be contacted in order to reach the user identified by the
   address-of-record.  When a proxy receives a request within its domain
   of administration, it uses the Request-URI as an address-of-record,
   and uses the contacts bound to the address-of-record to forward (or
   redirect) the request.

Session Initiationプロトコル(SIP)[1]は設立に必要である機能のすべてとユーザの間のコミュニケーションセッションのメインテナンスを提供します。 それが提供する機能の1つは登録操作です。 登録は記録されている住所と呼ばれるSIP URIと、1つ以上の接触URIの間の結合です。 これらの接触URIは記録されている住所によって特定されたユーザに届くように連絡できる追加リソースを表します。 プロキシが管理のドメインの中に要求を受け取るとき、それは、記録されている住所としてRequest-URIを使用して、転送する記録されている住所に制限されるのと(再直接)で接触を使用します。要求。

   The SIP REGISTER method provides a way for a user agent to manipulate
   registrations.  Contacts can be added or removed, and the current set
   of contacts can be queried.  Registrations can also change as a
   result of administrator policy.  For example, if a user is suspected
   of fraud, their registration can be deleted so that they cannot
   receive any requests.  Registrations also expire after some time if
   not refreshed.

SIP REGISTERメソッドはユーザエージェントが登録証明書を操る方法を提供します。 接触を加えるか、または取り除くことができます、そして、現在の接触について質問できます。 また、登録証明書は管理者方針の結果、変化できます。 例えば、ユーザが詐欺について疑われるなら、彼らがどんな要求も受け取ることができないように、彼らの登録を削除できます。 また、リフレッシュされないなら、登録証明書はいつか後に期限が切れます。

Rosenberg                   Standards Track                     [Page 2]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[2ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

   Registrations represent a dynamic piece of state maintained by the
   network.  There are many cases in which user agents would like to
   know about changes to the state of registrations.  The SIP Events
   Framework [2] defines a generic framework for subscription to, and
   notification of, events related to SIP systems.  The framework
   defines the methods SUBSCRIBE and NOTIFY, and introduces the notion
   of a package.  A package is a concrete application of the event
   framework to a particular class of events.  Packages have been
   defined for user presence [9], for example.  This specification
   defines a package for registration state.

登録証明書はネットワークによって維持されたダイナミックな状態を表します。 ユーザエージェントが登録証明書の状態への変化に関して知りたがっている多くの場合があります。 イベントはSIPシステムに関係しました。[2]が購読のためのジェネリックフレームワークを定義するSIP Events Framework、および通知、フレームワークがメソッドを定義する、登録、NOTIFY、パッケージの概念を紹介します。 パッケージは特定のクラスのイベントへのイベントフレームワークの具体的なアプリケーションです。 パッケージは例えば、ユーザ存在[9]のために定義されました。 この仕様は登録状態とパッケージを定義します。

2.  Terminology

2. 用語

   In this document, the key words "MUST", "MUST NOT", "REQUIRED",
   "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
   and "OPTIONAL" are to be interpreted as described in BCP 14, RFC 2119
   [3] and indicate requirement levels for compliant implementations.

本書では、キーワード“MUST"、「必須NOT」が「必要です」、“SHALL"、「」、“SHOULD"、「「推薦され」て、「5月」の、そして、「任意」のNOTが解釈されるのは中でBCP14について説明しました、RFC2119[3]ということであり、対応する実装のために要件レベルを示すべきであるかをさせましょう。

3.  Usage Scenarios

3. 用法シナリオ

   There are many applications of this event package.  A few are
   documented here for illustrative purposes.

このイベントパッケージの多くの利用があります。 いくつかは説明に役立った目的のためにここに記録されます。

3.1.  Forcing Re-Authentication

3.1. 再認証を強制します。

   It is anticipated that many SIP devices will be wireless devices that
   will be always-on, and therefore, continually registered to the
   network.  Unfortunately, history has shown that these devices can be
   compromised.  To deal with this, an administrator will want to
   terminate or shorten a registration, and ask the device to
   re-register so it can be re-authenticated.  To do this, the device
   subscribes to the registration event package for the
   address-of-record that it is registering contacts against.  When the
   administrator shortens registration (for example, when fraud is
   suspected) the registration server sends a notification to the
   device.  It can then re-register and re-authenticate itself.  If it
   cannot re-authenticate, the expiration will terminate shortly
   thereafter.

多くのSIPデバイスがしたがって、そして、絶えずいつもオンで、ネットワークに登録するようになるワイヤレス機器になると予期されます。 残念ながら、歴史は、これらのデバイスに感染することができるのを示しました。 管理者は、これに対処するために、登録を終えたいか、または短くしたくて、それを再認証できるように再登録するようにデバイスに頼むでしょう。 これをするために、デバイスはそれが接触を登録している記録されている住所のための登録イベントパッケージに加入します。 管理者が登録を短くするとき(詐欺が例えば疑われるとき)、登録サーバはデバイスに通知書を送っています。 次に、それは、それ自体を再登録して、再認証できます。 再認証できないと、満了はその後、まもなく、終わるでしょう。

3.2.  Composing Presence

3.2. 存在を構成します。

   An important concept to understand is the relationship between this
   event package and the event package for user presence [9].  User
   presence represents the willingness and ability of a user to
   communicate with other users on the network.  It is composed of a set
   of contact addresses that represent the various means for contacting
   the user.  Those contact addresses might represent the contact
   address for voice, for example.  Typically, the contact address

理解している重要な概念はユーザ存在[9]のためのこのイベントパッケージとイベントパッケージとの関係です。 ユーザ存在はユーザがネットワークで他のユーザとコミュニケートする意欲と能力を表します。 それはユーザに連絡するための様々な手段を表す1セットの連絡先で構成されます。 それらの連絡先は例えば、声のための連絡先を表すかもしれません。 通常連絡先

Rosenberg                   Standards Track                     [Page 3]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[3ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

   listed for voice will be an address-of-record.  The status of that
   contact (whether its open or closed) may depend on any number of
   factors, including the state of any registrations against that
   address-of-record.  As a result, registration state can be viewed as
   an input to the process which determines the presence state of a
   user.  Effectively, registration state is "raw" data, which is
   combined with other information about a user to generate a document
   that describes the user's presence.

声のために記載されているのは、記録されている住所でしょう。 その接触(それが開くか閉じられることにかかわらず)の状態をどんな多くの要因にも依存するかもしれません、その記録されている住所に対してどんな登録証明書の状態も含めて。 その結果、入力としてユーザの存在状態を決定するプロセスに登録状態を見なすことができます。 事実上、登録状態は「生」のデータです。(そのデータは、ユーザの存在について説明するドキュメントを作るためにユーザに関して他の情報に結合されます)。

   In fact, this event package allows for a presence server to be
   separated from a SIP registration server, yet still use registration
   information to construct a presence document.  When a presence server
   receives a presence subscription for some user, the presence server
   itself would generate a subscription to the registration server for
   the registration event package.  As a result, the presence server
   would learn about the registration state for that user, and it could
   use that information to generate presence documents.

事実上、まだそれでも、このイベントパッケージで存在サーバがSIP登録サーバと切り離されるのをレジスト情報を使用して、存在ドキュメントを構成してください。 存在サーバがユーザのために存在購読を受けるとき、存在サーバ自体は登録イベントパッケージのために登録サーバの購読を生成するでしょう。 その結果、存在サーバはそのユーザのために登録状態に関して学ぶでしょう、そして、それは存在ドキュメントを作るのにその情報を使用するかもしれません。

3.3.  Welcome Notices

3.3. 歓迎された通知

   A common service in current mobile networks are "welcome notices".
   When the user turns on their phone in a foreign country, they receive
   a message that welcomes them to the country, and provides information
   on transportation services, for example.

現在のモバイルネットワークにおける共益サービスは「歓迎に気付きます」です。 ユーザが異国の空でそれらの電話をつけるとき、彼らは国にそれらを歓迎して、例えば、輸送サービスで情報を提供するメッセージを受け取ります。

   In order to implement this service in a SIP system, an application
   server can subscribe to the registration state of the user.  When the
   user turns on their phone, the phone will generate a registration.
   This will result in a notification being sent to the application that
   the user has registered.  The application can then send a SIP MESSAGE
   request [10] to the device, welcoming the user and providing any
   necessary information.

SIPシステムでこのサービスを実装するために、アプリケーション・サーバーはユーザの登録状態に加入できます。 ユーザがそれらの電話をつけると、電話は登録を生成するでしょう。 これはユーザが登録したというアプリケーションに送られる通知をもたらすでしょう。 次に、アプリケーションはSIP MESSAGE要求[10]をデバイスに送ることができます、ユーザを歓迎して、どんな必要事項も提供して。

4.  Package Definition

4. パッケージ定義

   This section fills in the details needed to specify an event package
   as defined in Section 4.4 of [2].

このセクションは[2]のセクション4.4で定義されるようにイベントパッケージを指定するのに必要である詳細に記入します。

4.1.  Event Package Name

4.1. イベントパッケージ名

   The SIP Events specification requires package definitions to specify
   the name of their package or template-package.

SIP Events仕様は、それらのパッケージかテンプレートパッケージの名前を指定するためにパッケージ定義を必要とします。

   The name of this package is "reg".  As specified in [2], this value
   appears in the Event header present in SUBSCRIBE and NOTIFY requests.

このパッケージの名前は"reg"です。 この値が[2]で指定されるようにEventヘッダーで存在しているように見える、登録、そして、NOTIFY要求。

Rosenberg                   Standards Track                     [Page 4]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[4ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

   Example:

例:

   Event: reg

イベント: reg

4.2.  Event Package Parameters

4.2. イベントパッケージパラメタ

   The SIP Events specification requires package and template-package
   definitions to specify any package specific parameters of the Event
   header that are used by it.

SIP Events仕様はパッケージを必要とします、そして、いずれも指定するテンプレートパッケージ定義はそれによって使用されるEventヘッダーの特定のパラメタをパッケージします。

   No package specific Event header parameters are defined for this
   event package.

どんなパッケージの特定のEventヘッダーパラメタもこのイベントパッケージのために定義されません。

4.3.  SUBSCRIBE Bodies

4.3. ボディーを申し込んでください。

   The SIP Events specification requires package or template-package
   definitions to define the usage, if any, of bodies in SUBSCRIBE
   requests.

SIP Events仕様が中でボディーについてもしあれば用法を定義するためにパッケージかテンプレートパッケージ定義を必要とする、登録、要求。

   A SUBSCRIBE for registration events MAY contain a body.  This body
   would serve the purpose of filtering the subscription.  The
   definition of such a body is outside the scope of this specification.

登録は登録イベントのためにボディーを含むかもしれません。 このボディーは購読をフィルターにかける目的に役立つでしょう。 この仕様の範囲の外にそのようなボディーの定義があります。

   A SUBSCRIBE for the registration package MAY be sent without a body.
   This implies that the default registration filtering policy has been
   requested. The default policy is:

ボディーなしで登録を登録パッケージのために送るかもしれません。 これは、デフォルト登録フィルタリング方針が要求されているのを含意します。 デフォルト方針は以下の通りです。

      o  Notifications are generated every time there is any change in
         the state of any of the registered contacts for the resource
         being subscribed to.  Those notifications only contain
         information on the contacts whose state has changed.

o いくらかの変化が加入されるリソースに関する登録された接触のどれかの状態にあるときはいつも、通知は発生しています。 それらの通知は状態が変化した接触の情報を含むだけです。

      o  Notifications triggered from a SUBSCRIBE contain full state
         (the list of all contacts bound to the address-of-record).

o 登録から引き起こされた通知は完全な状態を含んでいます(すべての接触のリストは記録されている住所に付きました)。

   Of course, the server can apply any policy it likes to the
   subscription.

もちろん、サーバはそれが購読に好きであるどんな方針も当てはまることができます。

4.4.  Subscription Duration

4.4. 購読持続時間

   The SIP Events specification requires package definitions to define a
   default value for subscription durations, and to discuss reasonable
   choices for durations when they are explicitly specified.

仕様が必要とするSIP Eventsは購読持続時間のためにデフォルト値を定義して、持続時間のための正当な選択について議論するそれらが明らかに指定されるときの定義をパッケージします。

   Registration state changes as contacts are created through REGISTER
   requests, and then time out due to lack of refresh.  Their rate of
   change is therefore related to the typical registration expiration.
   Since the default expiration for registrations is 3600 seconds, the

接触がREGISTER要求で引き起こされるとき、登録状態は変化します、そして、次に、欠けているタイムアウト支払われるべきものはリフレッシュします。 したがって、それらの増減率は典型的な登録満了に関連します。 以来、登録証明書のためのデフォルト満了は3600秒です。

Rosenberg                   Standards Track                     [Page 5]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[5ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

   default duration of subscriptions to registration state is slightly
   longer, 3761 seconds. This helps avoid any potential problems with
   coupling of subscription and registration refreshes.  Of course,
   clients MAY include an Expires header in the SUBSCRIBE request asking
   for a different duration.

登録状態の購読のデフォルト持続時間は3761秒にわずかに長いです。 これは、購読のカップリングのどんな潜在的な問題も避けるのを助けます、そして、登録はリフレッシュします。 もちろん、クライアントがExpiresヘッダーを入れるかもしれない、登録、異なった持続時間のための尋ねることを要求してください。

4.5.  NOTIFY Bodies

4.5. ボディーに通知してください。

   The SIP Events specification requires package definitions to describe
   the allowed set of body types in NOTIFY requests, and to specify the
   default value to be used when there is no Accept header in the
   SUBSCRIBE request.

SIP Events仕様が、Acceptヘッダーが全くないとNOTIFY要求で許容セットのボディータイプについて説明して、デフォルト値を指定するパッケージ定義が使用されているのを必要とする、登録、要求。

   The body of a notification of a change in registration state contains
   a registration information document.  This document describes some or
   all of the contacts associated with a particular address-of-record.
   All subscribers and notifiers MUST support the
   "application/reginfo+xml" format described in Section 5.  The
   subscribe request MAY contain an Accept header field.  If no such
   header field is present, it has a default value of
   "application/reginfo+xml".  If the header field is present, it MUST
   include "application/reginfo+xml", and MAY include any other types
   capable of representing registration information.

登録状態の変化の通知のボディーはレジスト情報ドキュメントを含みます。 このドキュメントは特定の記録されている住所に関連している接触のいくつかかすべてについて説明します。 すべての加入者とnotifiersは、「アプリケーション/reginfo+xml」がセクション5で説明された形式であるとサポートしなければなりません。 5月がAcceptヘッダーフィールドを含んでいるという要求を申し込んでください。 そのような何かヘッダーフィールドが存在していないなら、それには、「アプリケーション/reginfo+xml」のデフォルト値があります。 ヘッダーフィールドが存在しているなら、それは、「アプリケーション/reginfo+xml」を含まなければならなくて、レジスト情報を表すことができるいかなる他のタイプも含むかもしれません。

   Of course, the notifications generated by the server MUST be in one
   of the formats specified in the Accept header field in the SUBSCRIBE
   request.

もちろん、中でAcceptヘッダーフィールドで指定された形式の1つにはサーバによって生成された通知があるに違いない、登録、要求。

4.6.  Notifier Processing of SUBSCRIBE Requests

4.6. より多くのNotifierに処理する、要求を申し込んでください。

   The SIP Events framework specifies that packages should define any
   package-specific processing of SUBSCRIBE requests at a notifier,
   specifically with regards to authentication and authorization.

パッケージがどんなパッケージ詳細処理も定義するはずであるSIP Eventsフレームワークが指定する、登録、notifierでの特に認証と承認への尊敬による要求。

   Registration state can be sensitive information.  Therefore, all
   subscriptions to it SHOULD be authenticated and authorized before
   approval.  Authentication MAY be performed using any of the
   techniques available through SIP, including digest, S/MIME, TLS or
   other transport specific mechanisms [1].  Authorization policy is at
   the discretion of the administrator, as always.  However, a few
   recommendations can be made.

登録状態は機密情報であるかもしれません。 したがって、すべての購読、それに、SHOULDは認証されて、以前、承認を認可しました。 認証はSIP、包含で利用可能なテクニックのいずれも読みこなす実行された使用、S/MIME、何らかのTLSが特定のメカニズム[1]を輸送するということであるかもしれません。 管理者の裁量には承認方針がいつものようにあります。 しかしながら、いくつかの推薦状をすることができます。

   It is RECOMMENDED that a user be allowed to subscribe to their own
   registration state.  Such subscriptions are useful when there are
   many devices that represent a user, each of which needs to learn the
   registration state of the other devices.  We also anticipate that
   applications and automata will frequently be subscribers to the

ユーザがそれら自身の登録状態に加入できるのは、RECOMMENDEDです。 ユーザの代理をして、それのそれぞれが対向機器の登録状態を学ぶ必要がある多くのデバイスがあるとき、そのような購読は役に立ちます。 また、私たちは、そのアプリケーションとオートマトンが頻繁の加入者であるために望んでいると予期します。

Rosenberg                   Standards Track                     [Page 6]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[6ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

   registration state.  In those cases, authorization policy will
   typically be provided ahead of time.

登録状態。 それらの場合では、早めに、承認方針を通常提供するでしょう。

4.7.  Notifier Generation of NOTIFY Requests

4.7. Notifier世代、要求に通知してください。

   The SIP Event framework requests that packages specify the conditions
   under which notifications are sent for that package, and how such
   notifications are constructed.

そのパッケージと、そのような通知がどう構成されるかために、パッケージがどの通知で状態を指定するかというSIP Eventフレームワーク要求を送ります。

   To determine when a notifier should send notifications of changes in
   registration state, we define a finite state machine (FSM) that
   represents the state of a contact for a particular address-of-record.
   Transitions in this state machine MAY result in the generation of
   notifications.  These notifications will carry information on the new
   state and the event which triggered the state change.  It is
   important to note that this FSM is just a model of the registration
   state machinery maintained by a server.  An implementation would map
   its own state machines to this one in an implementation-specific
   manner.

notifierがいつ登録状態の変化の通知を送るはずであるかを決定するために、私たちは特定の記録されている住所のために接触の状態を表す有限状態機械(FSM)を定義します。 この州のマシンの変遷は通知の世代で結果として生じるかもしれません。 これらの通知は州の変化の引き金となった新しい状態とイベントの情報を運ぶでしょう。 このFSMがただサーバによって維持された登録州の機械のモデルであることに注意するのは重要です。実装は実装特有の方法でそれ自身の州のマシンをこれに写像するでしょう。

4.7.1.  The Registration State Machine

4.7.1. 登録州のマシン

   The underlying state machine for a registration is shown in Figure 1.
   The machine is very simple.  An instance of this machine is
   associated with each address-of-record.  When there are no contacts
   registered to the address-of-record, the state machine is in the init
   state.  It is important to note that this state machine exists, and
   is well-defined, for each address-of-record in the domain, even if
   there are no contacts registered to it.  This allows a user agent to
   subscribe to an address-of-record, and learn that there are no
   contacts registered to it.  When the first contact is registered to
   that address-of-record, the state machine moves from init to active.

登録のための基本的な州のマシンは図1で見せられます。 マシンは非常に簡単です。 このマシンのインスタンスは各記録されている住所に関連しています。 記録されている住所に登録された接触が全くないとき、州のマシンがイニット状態にあります。 この州のマシンが存在していて、明確であることに注意するのは重要です、そのドメインの各記録されている住所のために、それに登録された接触が全くなくても。 これで、ユーザエージェントを記録されている住所を購読して、それに登録された接触が全くないことを学びます。 最初の接触がその記録されている住所に登録されるとき、州のマシンはイニットからアクティブになるまで移行します。

Rosenberg                   Standards Track                     [Page 7]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[7ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

                           +------------+
                           |            |
                           |    Init    |
                           |            |
                           +------------+
                                  |
                                  V
                           +------------+
                           |            |
                           |   Active   |
                           |            |
                           +------------+
                                  |
                                  V
                           +------------+
                           |            |
                           | Terminated |
                           |            |
                           +------------+

+------------+ | | | イニット| | | +------------+ | +に対して------------+ | | | アクティブ| | | +------------+ | +に対して------------+ | | | 終わります。| | | +------------+

                   Figure 1: Registration State Machine

図1: 登録州のマシン

   As long as there is at least one contact bound to the address-of-
   record, the state machine remains in the active state.  When the last
   contact expires or is removed, the registration transitions to
   terminated.  From there, it immediately transitions back to the init
   state.  This transition is invisible, in that it MUST NOT ever be
   reported to a subscriber in a NOTIFY request.

少なくとも1つの接触がある限り、アドレスにバウンドしてください。-記録では、州のマシンは活動的な州に残っています。 最後の接触を期限が切れるか、または取り除くとき、登録は終えられるのに移行します。 そこから、それはすぐに、イニット状態に移行して戻ります。 この変遷は、かつてNOTIFY要求における加入者にそれを報告してはいけないので、目に見えません。

      This allows for an implementation optimization whereby the
      registrar can destroy the objects associated with the registration
      state machine once it enters the terminated state and a NOTIFY has
      been sent. Instead, the registrar can assume that, if the objects
      for that state machine no longer exist, the state machine is in
      the init state.

これはいったんそれが終えられた状態に入れて、NOTIFYを送ると記録係が登録州のマシンに関連しているオブジェクトを破壊できる実装最適化を考慮します。 代わりに、記録係は、その州のマシンのためのオブジェクトがもう存在していないなら州のマシンがイニット状態にあると仮定できます。

   In addition to this state machine, each registration is associated
   with a set of contacts, each of which is modeled with its own state
   machine.  Unlike the FSM for the address-of-record, which exists even
   when no contacts are registered, the per-contact FSM is instantiated
   when the contact is registered, and deleted when it is removed.  The
   diagram for the per-contact state machine is shown in Figure 2.  This
   FSM is identical to the registration state machine in terms of its
   states, but has many more transition events.

この州のマシンに加えて、それぞれの登録は1セットの接触に関連しています。それはそれ自身の州のマシンでそれぞれモデル化されます。 それを取り除くとき、接触を登録して、削除するとき、どんな接触も登録されてさえいないとき存在する記録されている住所のためのFSMと異なって、接触FSMを例示します。 1接触あたりの州のマシンのためのダイヤグラムは図2で見せられます。 このFSMには、州が登録州のマシンと同じですが、ずっと多くの変遷イベントがあります。

   When a new contact is added, the FSM for it is instantiated, and it
   moves into the active state. Because of that, the init state here is
   transient.  There are two ways in which it can become active.  One is

新しい接触が加えられるとき、それのためのFSMは例示されます、そして、それは活動的な状態に移行します。 それのために、ここのイニット状態は一時的です。 それがアクティブになることができる2つの方法があります。 1つはそうです。

Rosenberg                   Standards Track                     [Page 8]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[8ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

   through an actual SIP REGISTER request (corresponding to the
   registered event), and the other is when the contact is created
   administratively, or through some non-SIP means (the created event).

実際のSIP REGISTERを通して、(登録されたイベントとの対応)を要求して、もう片方が接触が行政上引き起こされる時であるかいくつかを通して、非SIPは(作成されたイベント)を意味します。

                                 +------+
                                 |      | refreshed
                                 |      | shortened
                                 V      |
    +------------+            +------------+            +------------+
    |            |            |            |            |            |
    |    Init    |----------->|   Active   |----------->| Terminated |
    |            |            |            |            |            |
    +------------+ registered +------------+ expired    +------------+
                   created                   deactivated
                                             probation
                                             unregistered
                                             rejected

+------+ | | リフレッシュされます。| | 短くされたV| +------------+ +------------+ +------------+ | | | | | | | イニット|、-、-、-、-、-、-、-、-、-、--、>| アクティブ|、-、-、-、-、-、-、-、-、-、--、>| 終わります。| | | | | | | +------------+は+を登録しました。------------+ 満期の+------------拒絶されて、非活性化された執行猶予登録されていない状態で作成された+

                      Figure 2: Contact State Machine

図2: 接触州のマシン

   The FSM remains in the active state so long as the contact is bound
   to the address-of-record.  When a contact is refreshed through a
   REGISTER request, the FSM stays in the same state, but a refreshed
   event is generated.  Likewise, when an administrator modifies the
   expiration time of a binding (without deleting the binding) to
   trigger the contact to re-register and possibly re-authenticate, the
   FSM stays in the active state, but a shortened event is generated.

接触が記録されている住所に縛られる限り、FSMは活動的な州に残っています。 接触がREGISTER要求でリフレッシュされるとき、FSMは同じ状態にいますが、壮快なイベントは発生しています。 同様に、管理者が結合(結合を削除することのない)が再登録して、ことによると再認証する接触の引き金となる満了時間を変更すると、FSMは活動的な状態にいますが、短くされたイベントは発生しています。

   When the contact is no longer bound to the address-of-record, the FSM
   moves to the terminated state, and once a NOTIFY is sent, the state
   machine is destroyed.  As a result, the terminated state is
   effectively transient.  There are several reasons this can happen.
   The first is an expiration, which occurs when the contact was not
   refreshed by a REGISTER request.  The second reason is deactivated.
   This occurs when the administrator has removed the contact as a valid
   binding, but still wishes the client to attempt to re-register the
   contact.  In contrast, the rejected event occurs when an active
   contact is removed by the administrator, but
   re-registrations will not help to re-establish it.  This might occur
   if a user does not pay their bills, for example.  The probation event
   occurs when an active contact is removed by the administrator, and
   the administrator wants the client to re-register, but to do so at a
   later time.  The unregistered event occurs when a REGISTER request
   sets the expiration time of that contact to zero.

接触がもう記録されている住所に縛られないとき、FSMは終えられた状態に移行します、そして、いったんNOTIFYを送ると、州のマシンを破壊します。 その結果、事実上、終えられた状態は一時的です。 これが起こることができるいくつかの理由があります。 1番目は満了です。(接触がREGISTER要求でリフレッシュされなかったとき、その満了は起こります)。 2番目の理由は非活性化されます。 これは、管理者が有効な結合として接触を取り除いたとき、起こりますが、まだクライアントが、接触を再登録するのを試みる必要があります。 アクティブな接触が管理者によって取り除かれるとき、対照的に、拒絶されたイベントは起こりますが、再登録証明書は、それを復職させるのを助けないでしょう。 ユーザが例えばそれらの勘定を支払わないなら、これは起こるかもしれません。 アクティブな接触が管理者によって取り除かれるとき、執行猶予イベントは起こります、そして、管理者は後でそうするためにしかし、クライアントに再登録して欲しいです。 REGISTER要求がその接触の満了時間をゼロに設定すると、登録されていないイベントは起こります。

Rosenberg                   Standards Track                     [Page 9]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[9ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

4.7.2.  Applying the state machine

4.7.2. 州のマシンを適用します。

   The server MAY generate a notification to subscribers when any event
   occurs in either the address-of-record or per-contact state machines,
   except for the transition from terminated to init in the address-of-
   record state machine. As noted above, a notification MUST NOT be sent
   in this case. For other transitions, whether the server sends a
   notification or not is policy dependent. However, several guidelines
   are defined.

サーバはどんなイベントも記録されている住所か州が機械加工する接触のどちらかで起こる加入者に通知を生成するかもしれません、アドレスにおける終えられるのからイニットまでの変遷を除いて。-記録では、マシンを述べてください。 上で述べたように、この場合通知を送ってはいけません。 他の変遷において、サーバが通知書を送るかどうかが、方針に依存しています。 しかしながら、いくつかのガイドラインが定義されます。

   As a general rule, when a subscriber is authorized to receive
   notifications about a set of registrations, it is RECOMMENDED that
   notifications contain information about those contacts which have
   changed state (and thus triggered a notification), instead of
   delivering the current state of every contact in all registrations.
   However, notifications triggered as a result of a fetch operation (a
   SUBSCRIBE with Expires of 0) SHOULD result in the full state of all
   contacts for all registrations to be present in the NOTIFY.

加入者が1セットの登録証明書に関する通知を受け取るのに権限を与えられるとき、概して、通知が状態(そして、その結果、通知の引き金となる)を変えたそれらの接触の情報を含んでいるのは、RECOMMENDEDです、すべての登録証明書におけるあらゆる接触の現状を提供することの代わりに。 しかしながら、通知は、フェッチ操作(0のExpiresと共に登録)の結果、すべての登録証明書がNOTIFYで現在ためにすべての接触の完全な状態でSHOULD結果の引き金となりました。

4.8.  Subscriber Processing of NOTIFY Requests

4.8. 加入者、処理する、要求に通知してください。

   The SIP Events framework expects packages to specify how a subscriber
   processes NOTIFY requests in any package specific ways, and in
   particular, how it uses the NOTIFY requests to construct a coherent
   view of the state of the subscribed resource.  Typically, the NOTIFY
   will only contain information for contacts whose state has changed.
   To construct a coherent view of the total state of all registrations,
   the subscriber will need to combine NOTIFYs received over time.  The
   details of this process depend on the document format used to convey
   registration state.  Section 5 outlines the process for the
   application/reginfo+xml format.

SIP Eventsフレームワークは、加入者がいずれでもどうNOTIFY要求を処理するかを指定するパッケージが特定の道と、それが特に、どう、申し込まれたリソースの状態の論理的な視点を構成するというNOTIFY要求を使用するかをパッケージすると予想します。 通常、NOTIFYは状態が変化した接触のための情報を含むだけでしょう。 すべての登録証明書の総状態の論理的な視点を構成するために、加入者は、時間がたつにつれて受け取られたNOTIFYsを結合する必要があるでしょう。 このプロセスの細部は登録状態を運ぶのに使用されるドキュメント・フォーマットに依存します。 セクション5はアプリケーション/reginfo+xml形式のためにプロセスについて概説します。

4.9.  Handling of Forked Requests

4.9. 股状の要求の取り扱い

   The SIP Events framework mandates that packages indicate whether or
   not forked SUBSCRIBE requests can install multiple subscriptions.

SIP Eventsフレームワークは、分岐するか否かに関係なく、そのパッケージが示すのを強制します。登録、要求はインストール複数の購読をそうすることができます。

   Registration state is normally stored in some repository (whether it
   be co-located with a proxy/registrar or in a separate database).  As
   such, there is usually a single place where the contact information
   for a particular address-of-record is resident.  This implies that a
   subscription for this information is readily handled by a single
   element with access to this repository.  There is, therefore, no
   compelling need for a subscription to registration information to
   fork.  As a result, a subscriber MUST NOT create multiple dialogs as
   a result of a single subscription request.  The required processing
   to guarantee that only a single dialog is established is described in
   Section 4.4.9 of the SIP Events framework [2].

Registration state is normally stored in some repository (whether it be co-located with a proxy/registrar or in a separate database). As such, there is usually a single place where the contact information for a particular address-of-record is resident. This implies that a subscription for this information is readily handled by a single element with access to this repository. There is, therefore, no compelling need for a subscription to registration information to fork. As a result, a subscriber MUST NOT create multiple dialogs as a result of a single subscription request. The required processing to guarantee that only a single dialog is established is described in Section 4.4.9 of the SIP Events framework [2].

Rosenberg                   Standards Track                    [Page 10]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 10] RFC 3680 SIP Registrations Event March 2004

4.10.  Rate of Notifications

4.10. Rate of Notifications

   The SIP Events framework mandates that packages define a maximum rate
   of notifications for their package.

The SIP Events framework 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.  As a result, it is RECOMMENDED
   that the server not generate notifications for a single subscriber at
   a rate faster than once every 5 seconds.

For reasons of congestion control, it is important that the rate of notifications not become excessive. As a result, it is RECOMMENDED that the server not generate notifications for a single subscriber at a rate faster than once every 5 seconds.

4.11.  State Agents

4.11. State Agents

   The SIP Events framework asks packages to consider the role of state
   agents in their design.

The SIP Events framework asks packages to consider the role of state agents in their design.

   State agents have no role in the handling of this package.

State agents have no role in the handling of this package.

5.  Registration Information

5. Registration Information

5.1.  Structure of Registration Information

5.1. Structure of Registration Information

   Registration information is an XML document [4] that MUST be
   well-formed and SHOULD be valid.  Registration information documents
   MUST be based on XML 1.0 and MUST be encoded using UTF-8.  This
   specification makes use of XML namespaces for identifying
   registration information documents and document fragments.  The
   namespace URI for elements defined by this specification is a URN
   [5], using the namespace identifier 'ietf' defined by [6] and
   extended by [7].  This URN is:

Registration information is an XML document [4] that MUST be well-formed and SHOULD be valid. Registration information documents MUST be based on XML 1.0 and MUST be encoded using UTF-8. This specification makes use of XML namespaces for identifying registration information documents and document fragments. The namespace URI for elements defined by this specification is a URN [5], using the namespace identifier 'ietf' defined by [6] and extended by [7]. This URN is:

      urn:ietf:params:xml:ns:reginfo

urn:ietf:params:xml:ns:reginfo

   A registration information document begins with the root element tag
   "reginfo".  It consists of any number of "registration" sub-elements,
   each of which contains the registration state for a particular
   address-of-record.  The registration information for a particular
   address-of-record MUST be contained within a single "registration"
   element; it cannot be spread across multiple "registration" elements
   within a document.  Other elements from different namespaces MAY be
   present for the purposes of extensibility; elements or attributes
   from unknown namespaces MUST be ignored.  There are two attributes
   associated with the "reginfo" element, both of which MUST be present:

A registration information document begins with the root element tag "reginfo". It consists of any number of "registration" sub-elements, each of which contains the registration state for a particular address-of-record. The registration information for a particular address-of-record MUST be contained within a single "registration" element; it cannot be spread across multiple "registration" elements within a document. Other elements from different namespaces MAY be present for the purposes of extensibility; elements or attributes from unknown namespaces MUST be ignored. There are two attributes associated with the "reginfo" element, both of which MUST be present:

        version: This attribute allows the recipient of registration
                 information documents to properly order them.  Versions
                 start at 0, and increment by one for each new document
                 sent to a subscriber.  Versions are scoped within a

version: This attribute allows the recipient of registration information documents to properly order them. Versions start at 0, and increment by one for each new document sent to a subscriber. Versions are scoped within a

Rosenberg                   Standards Track                    [Page 11]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 11] RFC 3680 SIP Registrations Event March 2004

                 subscription.  Versions MUST be representable using a
                 32 bit integer.

subscription. Versions MUST be representable using a 32 bit integer.

        state:   This attribute indicates whether the document contains
                 the full registration state, or whether it contains
                 only information on those registrations which have
                 changed since the previous document (partial).

state: This attribute indicates whether the document contains the full registration state, or whether it contains only information on those registrations which have changed since the previous document (partial).

   Note that the document format explicitly allows for conveying
   information on multiple addresses-of-record.  This enables
   subscriptions to groups of registrations, where such a group is
   identified by some kind of URI.  For example, a domain might define
   sip:allusers@example.com as a subscribable resource that generates
   notifications when the state of any address-of-record in the domain
   changes.

Note that the document format explicitly allows for conveying information on multiple addresses-of-record. This enables subscriptions to groups of registrations, where such a group is identified by some kind of URI. For example, a domain might define sip:allusers@example.com as a subscribable resource that generates notifications when the state of any address-of-record in the domain changes.

   The "registration" element has a list of any number of "contact"
   sub-elements, each of which contains information on a single contact.
   Other elements from different namespaces MAY be present for the
   purposes of extensibility; elements or attributes from unknown
   namespaces MUST be ignored.  There are three attributes associated
   with the "registration" element, all of which MUST be present:

The "registration" element has a list of any number of "contact" sub-elements, each of which contains information on a single contact. Other elements from different namespaces MAY be present for the purposes of extensibility; elements or attributes from unknown namespaces MUST be ignored. There are three attributes associated with the "registration" element, all of which MUST be present:

      aor:   The aor attribute contains a URI which is the address-of-
             record this registration refers to.

aor: The aor attribute contains a URI which is the address-of- record this registration refers to.

      id:    The id attribute identifies this registration.  It MUST be
             unique amongst all other id attributes present in other
             registration elements conveyed to the subscriber within the
             scope of their subscription.  In particular, if two URI
             identifying an address-of-record differ after their
             canonicalization according to the procedures in step 5 of
             Section 10.3 of RFC 3261 [1], the id attributes in the
             "registration" elements for those addresses-of-record MUST
             differ.  Furthermore, the id attribute for a "registration"
             element for a particular address-of-record MUST be the same
             across all notifications sent within the subscription.

id: The id attribute identifies this registration. It MUST be unique amongst all other id attributes present in other registration elements conveyed to the subscriber within the scope of their subscription. In particular, if two URI identifying an address-of-record differ after their canonicalization according to the procedures in step 5 of Section 10.3 of RFC 3261 [1], the id attributes in the "registration" elements for those addresses-of-record MUST differ. Furthermore, the id attribute for a "registration" element for a particular address-of-record MUST be the same across all notifications sent within the subscription.

      state: The state attribute indicates the state of the
             registration.  The valid values are "init", "active" and
             "terminated".

state: The state attribute indicates the state of the registration. The valid values are "init", "active" and "terminated".

   The "contact" element contains a "uri" element, an optional
   "display-name" element, and an optional "unknown-param" element.
   Other elements from different namespaces MAY be present for the
   purposes of extensibility; elements or attributes from unknown
   namespaces MUST be ignored.  There are several attributes associated
   with the "contact" element which MUST be present:

The "contact" element contains a "uri" element, an optional "display-name" element, and an optional "unknown-param" element. Other elements from different namespaces MAY be present for the purposes of extensibility; elements or attributes from unknown namespaces MUST be ignored. There are several attributes associated with the "contact" element which MUST be present:

Rosenberg                   Standards Track                    [Page 12]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 12] RFC 3680 SIP Registrations Event March 2004

      id:    The id attribute identifies this contact.  It MUST be
             unique amongst all other id attributes present in other
             contact elements conveyed to the subscriber within the
             scope of their subscription.  In particular, if the URI for
             two contacts differ (based on the URI comparison rules in
             RFC 3261 [1]), the id attributes for those contacts MUST
             differ.  However, unlike the id attribute for an address-
             of-record, if the URI for two contacts are the same, their
             id attributes SHOULD be the same across notifications.
             This requirement is at SHOULD strength, and not MUST
             strength, since it is difficult to compute such an id as a
             function of the URI without retaining additional state.  No
             hash function applied to the URI can, in fact, meet a MUST
             requirement.  This is because equality of the SIP URI is
             not transitive.  However, a hash function which includes
             unknown URI parameters (that is, any not defined in RFC
             3261), will always result in a value that is the different
             if two URI are different, and usually the same if the URI
             are equal.

id: The id attribute identifies this contact. It MUST be unique amongst all other id attributes present in other contact elements conveyed to the subscriber within the scope of their subscription. In particular, if the URI for two contacts differ (based on the URI comparison rules in RFC 3261 [1]), the id attributes for those contacts MUST differ. However, unlike the id attribute for an address- of-record, if the URI for two contacts are the same, their id attributes SHOULD be the same across notifications. This requirement is at SHOULD strength, and not MUST strength, since it is difficult to compute such an id as a function of the URI without retaining additional state. No hash function applied to the URI can, in fact, meet a MUST requirement. This is because equality of the SIP URI is not transitive. However, a hash function which includes unknown URI parameters (that is, any not defined in RFC 3261), will always result in a value that is the different if two URI are different, and usually the same if the URI are equal.

      state: The state attribute indicates the state of the contact.
             The valid values are "active" and "terminated".

state: The state attribute indicates the state of the contact. The valid values are "active" and "terminated".

      event: The event attribute indicates the event which caused the
             contact state machine to go into its current state.  Valid
             values are registered, created, refreshed, shortened,
             expired, deactivated, probation, unregistered and rejected.

event: The event attribute indicates the event which caused the contact state machine to go into its current state. Valid values are registered, created, refreshed, shortened, expired, deactivated, probation, unregistered and rejected.

   If the event attribute has a value of shortened, the "expires"
   attribute MUST be present.  It contains an unsigned long integer
   which indicates the number of seconds remaining until the binding is
   due to expire.  This attribute MAY be included with any event
   attribute value for which the state of the contact is active.

If the event attribute has a value of shortened, the "expires" attribute MUST be present. It contains an unsigned long integer which indicates the number of seconds remaining until the binding is due to expire. This attribute MAY be included with any event attribute value for which the state of the contact is active.

   If the event attribute has a value of probation, the "retry-after"
   attribute MUST be present.  It contains an unsigned long integer
   which indicates the amount of seconds after which the owner of the
   contact is expected to retry its registration.

If the event attribute has a value of probation, the "retry-after" attribute MUST be present. It contains an unsigned long integer which indicates the amount of seconds after which the owner of the contact is expected to retry its registration.

   The optional "duration-registered" attribute conveys the amount of
   time that the contact has been bound to the address-of-record, in
   seconds.  The optional "q" attribute conveys the relative priority of
   this contact compared to other registered contacts.  The optional
   "callid" attribute contains the current Call-ID carried in the
   REGISTER that was last used to update this contact, and the optional
   "cseq" attribute contains the last CSeq value present in a REGISTER
   request that updated this contact value.

The optional "duration-registered" attribute conveys the amount of time that the contact has been bound to the address-of-record, in seconds. The optional "q" attribute conveys the relative priority of this contact compared to other registered contacts. The optional "callid" attribute contains the current Call-ID carried in the REGISTER that was last used to update this contact, and the optional "cseq" attribute contains the last CSeq value present in a REGISTER request that updated this contact value.

Rosenberg                   Standards Track                    [Page 13]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 13] RFC 3680 SIP Registrations Event March 2004

   The "uri" element contains the URI associated with that contact.  The
   "display-name" element contains the display name for the contact.
   The "display-name" element MAY contain the xml:lang attribute to
   indicate the language of the display name.

The "uri" element contains the URI associated with that contact. The "display-name" element contains the display name for the contact. The "display-name" element MAY contain the xml:lang attribute to indicate the language of the display name.

   The "unknown-param" element is used to convey contact header field
   parameters that are not specified in RFC 3261.  One example are the
   user agent capability parameters specified in [11].  Each "unknown-
   param" element describes a single contact header field parameter.
   The name of the parameter is contained in the mandatory name
   attribute of the "unknown-param" element, and the value of the
   parameter is the content of the "unknown-param" element.  For contact
   header field parameters that have no value, the content of the
   "unknown-param" element is empty.

The "unknown-param" element is used to convey contact header field parameters that are not specified in RFC 3261. One example are the user agent capability parameters specified in [11]. Each "unknown- param" element describes a single contact header field parameter. The name of the parameter is contained in the mandatory name attribute of the "unknown-param" element, and the value of the parameter is the content of the "unknown-param" element. For contact header field parameters that have no value, the content of the "unknown-param" element is empty.

5.2.  Computing Registrations from the Document

5.2. Computing Registrations from the Document

   Typically, the NOTIFY for registration information will only contain
   information about those contacts whose state has changed.  To
   construct a coherent view of the total state of all registrations, a
   subscriber will need to combine NOTIFYs received over time.  The
   subscriber maintains a table for each registration it receives
   information for.  Each registration is uniquely identified by the
   "id" attribute in the "registration" element.  Each table contains a
   row for each contact in that registration.  Each row is indexed by
   the unique ID for that contact.  It is conveyed in the "id" attribute
   of the "contact" element.  The contents of each row contain the state
   of that contact as conveyed in the "contact" element.  The tables are
   also associated with a version number.  The version number MUST be
   initialized with the value of the "version" attribute from the
   "reginfo" element in the first document received.  Each time a new
   document is received, the value of the local version number, and the
   "version" attribute in the new document, are compared.  If the value
   in the new document is one higher than the local version number, the
   local version number is increased by one, and the document is
   processed.  If the value in the document is more than one higher than
   the local version number, the local version number is set to the
   value in the new document, the document is processed, and the
   subscriber SHOULD generate a refresh request to trigger a full state
   notification.  If the value in the document is less than the local
   version, the document is discarded without processing.

Typically, the NOTIFY for registration information will only contain information about those contacts whose state has changed. To construct a coherent view of the total state of all registrations, a subscriber will need to combine NOTIFYs received over time. The subscriber maintains a table for each registration it receives information for. Each registration is uniquely identified by the "id" attribute in the "registration" element. Each table contains a row for each contact in that registration. Each row is indexed by the unique ID for that contact. It is conveyed in the "id" attribute of the "contact" element. The contents of each row contain the state of that contact as conveyed in the "contact" element. The tables are also associated with a version number. The version number MUST be initialized with the value of the "version" attribute from the "reginfo" element in the first document received. Each time a new document is received, the value of the local version number, and the "version" attribute in the new document, are compared. If the value in the new document is one higher than the local version number, the local version number is increased by one, and the document is processed. If the value in the document is more than one higher than the local version number, the local version number is set to the value in the new document, the document is processed, and the subscriber SHOULD generate a refresh request to trigger a full state notification. If the value in the document is less than the local version, the document is discarded without processing.

   The processing of the document depends on whether it contains full or
   partial state.  If it contains full state, indicated by the value of
   the "state" attribute in the "reginfo" element, the contents of all
   tables associated with this subscription are flushed.  They are
   re-populated from the document.  A new table is created for each
   "registration" element, and a new row in each table is created for

The processing of the document depends on whether it contains full or partial state. If it contains full state, indicated by the value of the "state" attribute in the "reginfo" element, the contents of all tables associated with this subscription are flushed. They are re-populated from the document. A new table is created for each "registration" element, and a new row in each table is created for

Rosenberg                   Standards Track                    [Page 14]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 14] RFC 3680 SIP Registrations Event March 2004

   each "contact" element.  If the reginfo contains partial state, as
   indicated by the value of the "state" attribute in the "reginfo"
   element, the document is used to update the existing tables.  For
   each "registration" element, the subscriber checks to see if a table
   exists for that registration.  This check is done by comparing the
   value in the "id" attribute of the "registration" element with the ID
   associated with the table.  If a table doesn't exist for that
   registration, one is created.  For each "contact" element in the
   registration, the subscriber checks to see whether a row exists for
   that contact.  This check is done by comparing the ID in the "id"
   attribute of the "contact" element with the ID associated with the
   row.  If the contact doesn't exist in the table, a row is added, and
   its state is set to the information from that "contact" element.  If
   the contact does exist, its state is updated to be the information
   from that "contact" element.  If a row is updated or created, such
   that its state is now terminated, that entry MAY be removed from the
   table at any time.

each "contact" element. If the reginfo contains partial state, as indicated by the value of the "state" attribute in the "reginfo" element, the document is used to update the existing tables. For each "registration" element, the subscriber checks to see if a table exists for that registration. This check is done by comparing the value in the "id" attribute of the "registration" element with the ID associated with the table. If a table doesn't exist for that registration, one is created. For each "contact" element in the registration, the subscriber checks to see whether a row exists for that contact. This check is done by comparing the ID in the "id" attribute of the "contact" element with the ID associated with the row. If the contact doesn't exist in the table, a row is added, and its state is set to the information from that "contact" element. If the contact does exist, its state is updated to be the information from that "contact" element. If a row is updated or created, such that its state is now terminated, that entry MAY be removed from the table at any time.

5.3.  Example

5.3. Example

   The following is an example registration information document:

The following is an example registration information document:

   <?xml version="1.0"?>
       <reginfo xmlns="urn:ietf:params:xml:ns:reginfo"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    version="0" state="full">
         <registration aor="sip:user@example.com" id="as9"
                       state="active">
           <contact id="76" state="active" event="registered"
                    duration-registered="7322"
                    q="0.8">
                    <uri>sip:user@pc887.example.com</uri>
           </contact>
           <contact id="77" state="terminated" event="expired"
                    duration-registered="3600"
                    q="0.5">
                    <uri>sip:user@university.edu</uri>
           </contact>
         </registration>
       </reginfo>

<?xml version="1.0"?> <reginfo xmlns="urn:ietf:params:xml:ns:reginfo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0" state="full"> <registration aor="sip:user@example.com" id="as9" state="active"> <contact id="76" state="active" event="registered" duration-registered="7322" q="0.8"> <uri>sip:user@pc887.example.com</uri> </contact> <contact id="77" state="terminated" event="expired" duration-registered="3600" q="0.5"> <uri>sip:user@university.edu</uri> </contact> </registration> </reginfo>

Rosenberg                   Standards Track                    [Page 15]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 15] RFC 3680 SIP Registrations Event March 2004

5.4.  XML Schema

5.4. XML Schema

   The following is the schema definition of the reginfo format:

The following is the schema definition of the reginfo format:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:ietf:params:xml:ns:reginfo"
xmlns:tns="urn:ietf:params:xml:ns:reginfo"
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/03/xml.xsd"/>
  <xs:element name="reginfo">
   <xs:complexType>
    <xs:sequence>
     <xs:element ref="tns:registration" minOccurs="0"
maxOccurs="unbounded"/>
     <xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="version" type="xs:nonNegativeInteger"
use="required"/>
    <xs:attribute name="state" use="required">
     <xs:simpleType>
      <xs:restriction base="xs:string">
       <xs:enumeration value="full"/>
       <xs:enumeration value="partial"/>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
   </xs:complexType>
  </xs:element>
  <xs:element name="registration">
   <xs:complexType>
    <xs:sequence>
     <xs:element ref="tns:contact" minOccurs="0" maxOccurs="unbounded"/>
     <xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="aor" type="xs:anyURI" use="required"/>
    <xs:attribute name="id" type="xs:string" use="required"/>
    <xs:attribute name="state" use="required">
     <xs:simpleType>
      <xs:restriction base="xs:string">
       <xs:enumeration value="init"/>
       <xs:enumeration value="active"/>
       <xs:enumeration value="terminated"/>
      </xs:restriction>

<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="urn:ietf:params:xml:ns:reginfo" xmlns:tns="urn:ietf:params:xml:ns:reginfo" 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/03/xml.xsd"/> <xs:element name="reginfo"> <xs:complexType> <xs:sequence> <xs:element ref="tns:registration" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="version" type="xs:nonNegativeInteger" use="required"/> <xs:attribute name="state" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="full"/> <xs:enumeration value="partial"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="registration"> <xs:complexType> <xs:sequence> <xs:element ref="tns:contact" minOccurs="0" maxOccurs="unbounded"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="aor" type="xs:anyURI" use="required"/> <xs:attribute name="id" type="xs:string" use="required"/> <xs:attribute name="state" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="init"/> <xs:enumeration value="active"/> <xs:enumeration value="terminated"/> </xs:restriction>

Rosenberg                   Standards Track                    [Page 16]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 16] RFC 3680 SIP Registrations Event March 2004

     </xs:simpleType>
    </xs:attribute>
   </xs:complexType>
  </xs:element>
  <xs:element name="contact">
   <xs:complexType>
    <xs:sequence>
     <xs:element name="uri" type="xs:anyURI"/>
     <xs:element name="display-name" minOccurs="0">
      <xs:complexType>
       <xs:simpleContent>
        <xs:extension base="xs:string">
         <xs:attribute ref="xml:lang" use="optional"/>
        </xs:extension>
       </xs:simpleContent>
      </xs:complexType>
     </xs:element>
     <xs:element name="unknown-param" minOccurs="0"
maxOccurs="unbounded">
      <xs:complexType>
       <xs:simpleContent>
        <xs:extension base="xs:string">
         <xs:attribute name="name" type="xs:string" use="required"/>
        </xs:extension>
       </xs:simpleContent>
      </xs:complexType>
     </xs:element>
     <xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="state" use="required">
     <xs:simpleType>
      <xs:restriction base="xs:string">
       <xs:enumeration value="active"/>
       <xs:enumeration value="terminated"/>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="event" use="required">
     <xs:simpleType>
      <xs:restriction base="xs:string">
       <xs:enumeration value="registered"/>
       <xs:enumeration value="created"/>
       <xs:enumeration value="refreshed"/>
       <xs:enumeration value="shortened"/>
       <xs:enumeration value="expired"/>
       <xs:enumeration value="deactivated"/>
       <xs:enumeration value="probation"/>

</xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="contact"> <xs:complexType> <xs:sequence> <xs:element name="uri" type="xs:anyURI"/> <xs:element name="display-name" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute ref="xml:lang" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="unknown-param" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="state" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="active"/> <xs:enumeration value="terminated"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="event" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="registered"/> <xs:enumeration value="created"/> <xs:enumeration value="refreshed"/> <xs:enumeration value="shortened"/> <xs:enumeration value="expired"/> <xs:enumeration value="deactivated"/> <xs:enumeration value="probation"/>

Rosenberg                   Standards Track                    [Page 17]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 17] RFC 3680 SIP Registrations Event March 2004

       <xs:enumeration value="unregistered"/>
       <xs:enumeration value="rejected"/>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="duration-registered" type="xs:unsignedLong"/>
    <xs:attribute name="expires" type="xs:unsignedLong"/>
    <xs:attribute name="retry-after" type="xs:unsignedLong"/>
    <xs:attribute name="id" type="xs:string" use="required"/>
    <xs:attribute name="q" type="xs:string"/>
    <xs:attribute name="callid" type="xs:string"/>
    <xs:attribute name="cseq" type="xs:unsignedLong"/>
   </xs:complexType>
  </xs:element>
</xs:schema>

<xs:enumeration value="unregistered"/> <xs:enumeration value="rejected"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="duration-registered" type="xs:unsignedLong"/> <xs:attribute name="expires" type="xs:unsignedLong"/> <xs:attribute name="retry-after" type="xs:unsignedLong"/> <xs:attribute name="id" type="xs:string" use="required"/> <xs:attribute name="q" type="xs:string"/> <xs:attribute name="callid" type="xs:string"/> <xs:attribute name="cseq" type="xs:unsignedLong"/> </xs:complexType> </xs:element> </xs:schema>

6.  Example Call Flow

6. Example Call Flow

        User              Registrar          Application
          |                   |(1) SUBSCRIBE      |
          |                   |Event:reg          |
          |                   |<------------------|
          |                   |(2) 200 OK         |
          |                   |------------------>|
          |                   |(3) NOTIFY         |
          |                   |------------------>|
          |                   |(4) 200 OK         |
          |                   |<------------------|
          |(5) REGISTER       |                   |
          |------------------>|                   |
          |(6) 200 OK         |                   |
          |<------------------|                   |
          |                   |(7) NOTIFY         |
          |                   |------------------>|
          |                   |(8) 200 OK         |
          |                   |<------------------|
          |(9) MESSAGE        |                   |
          |<--------------------------------------|

User Registrar Application | |(1) SUBSCRIBE | | |Event:reg | | |<------------------| | |(2) 200 OK | | |------------------>| | |(3) NOTIFY | | |------------------>| | |(4) 200 OK | | |<------------------| |(5) REGISTER | | |------------------>| | |(6) 200 OK | | |<------------------| | | |(7) NOTIFY | | |------------------>| | |(8) 200 OK | | |<------------------| |(9) MESSAGE | | |<--------------------------------------|

                Figure 3: Example Call Flow

Figure 3: Example Call Flow

Rosenberg                   Standards Track                    [Page 18]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 18] RFC 3680 SIP Registrations Event March 2004

   This section provides an example call flow, shown in Figure 3.  It
   shows an implementation of the welcome notice application described
   in Section 3.3.  First, the application SUBSCRIBEs to the
   registration event package for the desired user (1):

This section provides an example call flow, shown in Figure 3. It shows an implementation of the welcome notice application described in Section 3.3. First, the application SUBSCRIBEs to the registration event package for the desired user (1):

   SUBSCRIBE sip:joe@example.com SIP/2.0
   Via: SIP/2.0/UDP app.example.com;branch=z9hG4bKnashds7
   From: sip:app.example.com;tag=123aa9
   To: sip:joe@example.com
   Call-ID: 9987@app.example.com
   CSeq: 9887 SUBSCRIBE
   Contact: sip:app.example.com
   Event: reg
   Max-Forwards: 70
   Accept: application/reginfo+xml

SUBSCRIBE sip:joe@example.com SIP/2.0 Via: SIP/2.0/UDP app.example.com;branch=z9hG4bKnashds7 From: sip:app.example.com;tag=123aa9 To: sip:joe@example.com Call-ID: 9987@app.example.com CSeq: 9887 SUBSCRIBE Contact: sip:app.example.com Event: reg Max-Forwards: 70 Accept: application/reginfo+xml

   The registrar (which is acting as the notifier for the registration
   event package) generates a 200 OK to the SUBSCRIBE:

The registrar (which is acting as the notifier for the registration event package) generates a 200 OK to the SUBSCRIBE:

   SIP/2.0 200 OK
   Via: SIP/2.0/UDP app.example.com;branch=z9hG4bKnashds7
     ;received=192.0.2.1
   From: sip:app.example.com;tag=123aa9
   To: sip:joe@example.com;tag=xyzygg
   Call-ID: 9987@app.example.com
   CSeq: 9987 SUBSCRIBE
   Contact: sip:server19.example.com
   Expires: 3600

SIP/2.0 200 OK Via: SIP/2.0/UDP app.example.com;branch=z9hG4bKnashds7 ;received=192.0.2.1 From: sip:app.example.com;tag=123aa9 To: sip:joe@example.com;tag=xyzygg Call-ID: 9987@app.example.com CSeq: 9987 SUBSCRIBE Contact: sip:server19.example.com Expires: 3600

   The registrar then generates a notification (3) with the current
   state.  Since there is no active registration, the state of the
   registration is "init":

The registrar then generates a notification (3) with the current state. Since there is no active registration, the state of the registration is "init":

   NOTIFY sip:app.example.com SIP/2.0
   Via: SIP/2.0/UDP server19.example.com;branch=z9hG4bKnasaii
   From: sip:joe@example.com;tag=xyzygg
   To: sip:app.example.com;tag=123aa9
   Call-ID: 9987@app.example.com
   CSeq: 1288 NOTIFY
   Contact: sip:server19.example.com
   Event: reg
   Max-Forwards: 70
   Content-Type: application/reginfo+xml
   Content-Length: ...

NOTIFY sip:app.example.com SIP/2.0 Via: SIP/2.0/UDP server19.example.com;branch=z9hG4bKnasaii From: sip:joe@example.com;tag=xyzygg To: sip:app.example.com;tag=123aa9 Call-ID: 9987@app.example.com CSeq: 1288 NOTIFY Contact: sip:server19.example.com Event: reg Max-Forwards: 70 Content-Type: application/reginfo+xml Content-Length: ...

Rosenberg                   Standards Track                    [Page 19]

RFC 3680                SIP Registrations Event               March 2004

Rosenberg Standards Track [Page 19] RFC 3680 SIP Registrations Event March 2004

   <?xml version="1.0"?>
   <reginfo xmlns="urn:ietf:params:xml:ns:reginfo"
                version="0" state="full">
     <registration aor="sip:joe@example.com" id="a7" state="init" />
   </reginfo>

<?xml version="1.0"?> <reginfo xmlns="urn:ietf:params:xml:ns:reginfo" version="0" state="full"> <registration aor="sip:joe@example.com" id="a7" state="init" /> </reginfo>

   Later on, the user registers (5):

Later on, the user registers (5):

   REGISTER sip:example.com SIP/2.0
   Via: SIP/2.0/UDP pc34.example.com;branch=z9hG4bKnaaff
   From: sip:joe@example.com;tag=99a8s
   To: sip:joe@example.com
   Call-ID: 88askjda9@pc34.example.com
   CSeq: 9976 REGISTER
   Contact: sip:joe@pc34.example.com

REGISTER sip:example.com SIP/2.0 Via: SIP/2.0/UDP pc34.example.com;branch=z9hG4bKnaaff From: sip:joe@example.com;tag=99a8s To: sip:joe@example.com Call-ID: 88askjda9@pc34.example.com CSeq: 9976 REGISTER Contact: sip:joe@pc34.example.com

   This results in a NOTIFY being generated to the application (7):

This results in a NOTIFY being generated to the application (7):

   NOTIFY sip:app.example.com SIP/2.0
   Via: SIP/2.0/UDP server19.example.com;branch=z9hG4bKnasaij
   From: sip:joe@example.com;tag=xyzygg
   To: sip:app.example.com;tag=123aa9
   Call-ID: 9987@app.example.com
   CSeq: 1289 NOTIFY
   Contact: sip:server19.example.com
   Event: reg
   Max-Forwards: 70
   Content-Type: application/reginfo+xml
   Content-Length: ...

NOTIFY一口: app.example.com SIP/2.0Via: 一口/2.0/UDP server19.example.com; ブランチ=z9hG4bKnasaij From: 一口: joe@example.com;tag はxyzygg To:と等しいです。 一口: app.example.com; =123aa9 Call IDにタグ付けをしてください: 9987@app.example.com CSeq: 1289は接触に通知します: 一口: server19.example.com Event: 前方へregマックス: 70コンテントタイプ: アプリケーション/reginfo+xml Content長さ: ...

   <?xml version="1.0"?>
   <reginfo xmlns="urn:ietf:params:xml:ns:reginfo"
             version="1" state="partial">
     <registration aor="sip:joe@example.com" id="a7" state="active">
       <contact id="76" state="active" event="registered"
             duration-registered="0">
          <uri>sip:joe@pc34.example.com</uri>
       </contact>
     </registration>
   </reginfo>

<?xmlバージョン= 「1インチ?」「アクティブな」アクティブな「><連絡イド=」76インチが述べる「a7"状態=」=イベント=が「登録した」「部分的な「><登録aor=」一口: 「1インチの状態=」という><reginfo xmlns=「つぼ:ietf:params:xml:ナノ秒: reginfo」バージョン= joe@example.com 」イド=が=を持続時間で登録した、「0インチの><uri>一口: joe@pc34.example.com 、lt;、/uri></接触></登録></reginfo>、」

Rosenberg                   Standards Track                    [Page 20]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[20ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

   The application can then send its instant message to the device (9):

次に、アプリケーションはデバイス(9)にインスタントメッセージを送ることができます:

   MESSAGE sip:joe@pc34.example.com SIP/2.0
   Via: SIP/2.0/UDP app.example.com;branch=z9hG4bKnashds8
   From: sip:app.example.com;tag=123aa10
   To: sip:joe@example.com
   Call-ID: 9988@app.example.com
   CSeq: 82779 MESSAGE
   Max-Forwards: 70
   Content-Type: text/plain
   Content-Length: ...

MESSAGE一口: joe@pc34.example.com SIP/2.0Via: 一口/2.0/UDP app.example.com; ブランチ=z9hG4bKnashds8From: 一口: app.example.com; =123aa10To:にタグ付けをしてください。 一口: joe@example.com Call-ID: 9988@app.example.com CSeq: 82779 前方へMESSAGEマックス: 70コンテントタイプ: テキスト/明瞭なContent-長さ: ...

   Welcome to the example.com service!

example.comサービスへようこそ!

7.  Security Considerations

7. セキュリティ問題

   Security considerations for SIP event packages are discussed in RFC
   3265 [2], and those considerations apply here.

RFC3265[2]でSIPイベントパッケージのためのセキュリティ問題について議論します、そして、それらの問題はここに適用されます。

   Registration information is sensitive, potentially private,
   information.  Subscriptions to this event package SHOULD be
   authenticated and authorized according to local policy.  Some policy
   guidelines are suggested in Section 4.6.  In addition, notifications
   SHOULD be sent in such a way to ensure confidentiality, message
   integrity and verification of subscriber identity, such as sending
   subscriptions and notifications using a SIPS URL or protecting the
   notification bodies with S/MIME.

レジスト情報は敏感で、潜在的に個人的な情報です。 このイベントの購読は認証されて、ローカルの方針によると、認可されたSHOULDをパッケージします。 いくつかの政策文書がセクション4.6に示されます。 追加、SIPS URLを使用することで購読と通知を送ることなどの加入者のアイデンティティの秘密性、メッセージの保全、および検証を確実にするそのような方法を送るか、またはS/MIMEで通知本体を保護することである通知SHOULDで。

8.  IANA Considerations

8. IANA問題

   This document registers a new SIP Event Package, a new MIME type
   (application/reginfo+xml), and a new XML namespace.

このドキュメントは新しいSIP Eventパッケージ、新しいMIMEの種類(アプリケーション/reginfo+xml)、および新しいXML名前空間を登録します。

8.1.  SIP Event Package Registration

8.1. 一口イベントパッケージ登録

   Package name: reg

名前をパッケージしてください: reg

   Type: package

以下をタイプしてください。 パッケージ

   Contact: Jonathan Rosenberg, <jdrosen@jdrosen.net>

接触: ジョナサン・ローゼンバーグ、 <jdrosen@jdrosen.net 、gt。

   Published Specification: RFC 3680.

広められた仕様: RFC3680。

Rosenberg                   Standards Track                    [Page 21]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[21ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

8.2.  application/reginfo+xml MIME Registration

8.2. アプリケーション/reginfo+xml MIME Registration

   MIME media type name: application

MIMEメディア型名: アプリケーション

   MIME subtype name: reginfo+xml

MIME「副-タイプ」は以下を命名します。 reginfo+xml

   Mandatory parameters: none

義務的なパラメタ: なし

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

任意のパラメタ: RFC3023[8]の指定されるとしてのcharsetパラメタアプリケーション/xmlと同じです。

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

問題をコード化します: RFC3023[8]の指定されるとしてのアプリケーション/xmlの問題をコード化するのと同じです。

   Security considerations: See Section 10 of RFC 3023 [8] and
        Section 7 of this specification.

セキュリティ問題: RFC3023[8]のセクション10とこの仕様のセクション7を見てください。

   Interoperability considerations: none.

相互運用性問題: なし。

   Published specification: This document.

広められた仕様: このドキュメント。

   Applications which use this media type: This document type is
        being used in notifications to alert SIP user agents that
        their registrations have expired and must be redone.

このメディアタイプを使用するアプリケーション: このドキュメントタイプを彼らの登録証明書が期限が切れたとSIPユーザエージェントに警告するのに通知で使用されていて、やり直さなければなりません。

   Additional Information:

追加情報:

        Magic Number: None

マジックナンバー: なし

        File Extension: .rif or .xml

ファイル拡張子: .rifか.xml

        Macintosh file type code: "TEXT"

マッキントッシュファイルの種類コード: 「テキスト」

   Personal and email address for further information: Jonathan
        Rosenberg, <jdrosen@jdrosen.net>

詳細のためのパーソナルとEメールアドレス: ジョナサン・ローゼンバーグ、 <jdrosen@jdrosen.net 、gt。

   Intended usage: COMMON

意図している用法: 一般的

   Author/Change controller: The IETF.

コントローラを書くか、または変えてください: IETF。

Rosenberg                   Standards Track                    [Page 22]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[22ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

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

8.3. つぼ:ietf:paramsのためのURN Sub-名前空間Registration: xml:ナノ秒:reginfo

   This section registers a new XML namespace, as per the guidelines in
   [7].

このセクションは[7]のガイドラインに従って新しいXML名前空間を登録します。

    URI: The URI for this namespace is
         urn:ietf:params:xml:ns:reginfo.

URI: この名前空間のためのURIはつぼ:ietf:paramsです: xml:ナノ秒:reginfo。

    Registrant Contact: IETF, SIMPLE working group,
         <simple@ietf.org>, Jonathan Rosenberg
         <jdrosen@jdrosen.net>.

記入者接触: IETF、SIMPLEワーキンググループ、 <simple@ietf.org 、gt;、ジョナサン Rosenberg <jdrosen@jdrosen.net 、gt。

    XML:

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>Registration Information Namespace</title>
      </head>
      <body>
         <h1>Namespace for Registration Information</h1>
         <h2>urn:ietf:params:xml:ns:reginfo</h2>
         <p>See <a href="ftp://ftp.rfc-editor.org/in-notes/rfc3680.txt">
                RFC3680</a>.</p>
       </body>
      </html>
      END

BEGIN<?xmlバージョン= 「1インチ?」><!DOCTYPE html PUBLIC「-//W3C//DTD XHTML基礎1.0//アン」、「 http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd 「><html xmlns=「 http://www.w3.org/1999/xhtml 「><ヘッド><メタhttp-equiv=」content type」」; 内容が等しい、「テキスト/html;、charset=iso8859、1インチ、Registration情報</h1><h2>つぼのための/><タイトル>Registration情報Namespace</タイトル></ヘッド><ボディー><h1>Namespace:、」; ietf:params:xml:ナノ秒:reginfo</h2><p>See<a hrefが等しい、「 ftp://ftp.rfc-editor.org/in-notes/rfc3680.txt 「>RFC3680</a>。」; </p></ボディー></html>エンド

9.  References

9. 参照

9.1.  Normative References

9.1. 引用規格

   [1]  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.

[1] ローゼンバーグ、J.、Schulzrinne、H.、キャマリロ、G.、ジョンストン、A.、ピーターソン、J.、スパークス、R.、ハンドレー、M.、およびE.学生は「以下をちびちび飲みます」。 「セッション開始プロトコル」、RFC3261、2002年6月。

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

[2] ローチ、A.、「セッション開始プロトコル(一口)特定のイベント通知」、RFC3265、2002年6月。

   [3]  Bradner, S., "Key words for use in RFCs to indicate requirement
        levels", BCP 14, RFC 2119, March 1997.

[3] ブラドナー、S.、「使用のための要件レベルを示すRFCsのキーワード」、BCP14、RFC2119、1997年3月。

Rosenberg                   Standards Track                    [Page 23]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[23ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

   [4]  W. W. W. C. (W3C), "Extensible markup language (xml) 1.0." The
        XML 1.0 spec can be found at
        http://www.w3.org/TR/1998/REC-xml-19980210.

[4] W.W.W.C.(W3C)、「エクステンシブルマークアップランゲージ(xml)1.0。」 http://www.w3.org/TR/1998/REC-xml-19980210 でXML1.0仕様を見つけることができます。

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

[5]堀(R.、「つぼの構文」、RFC2141)は1997がそうするかもしれません。

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

[6] モウツ、R.、「IETFドキュメントのためのつぼの名前空間」、RFC2648、1999年8月。

   [7]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January
        2004.

[7] 食事、M.、「IETF XML登録」、BCP81、RFC3688、2004年1月。

   [8]  Murata, M., St. Laurent, S. and D. Kohn, "XML media types", RFC
        3023, January 2001.

[8] ムラタとM.と聖ローランとS.とD.コーン、「XMLメディアタイプ」、RFC3023、2001年1月。

9.2.  Informative References

9.2. 有益な参照

   [9]  Rosenberg, J., "Session initiation protocol (SIP) extensions for
        presence", Work In Progress.

[9] ローゼンバーグ、J.、「存在のためのセッション開始プロトコル(SIP)拡大」、Work In Progress。

   [10] Campbell, B., Rosenberg, J., Schulzrinne, H., Huitema, C. and D.
        Gurle, "Session Initiation Protocol (SIP) Extension for Instant
        Messaging", RFC 3428, December 2002.

[10] キャンベルとB.とローゼンバーグとJ.とSchulzrinneとH.、HuitemaとC.とD.Gurle、「インスタントメッセージングのためのセッション開始プロトコル(一口)拡大」RFC3428(2002年12月)。

   [11] Schulzrinne, H. and J. Rosenberg, "Session initiation protocol
        (SIP) caller preferences and callee capabilities", Work In
        Progress.

[11]SchulzrinneとH.とJ.ローゼンバーグ、「セッション開始は(SIP)訪問者好みと訪問される人能力について議定書の中で述べる」Work In Progress。

   [12] Mayer, G. and M. Beckmann, "Registration event package", Work In
        Progress.

[12] マイヤーとG.とM.Beckmann、「登録イベントパッケージ」、Work In Progress。

Rosenberg                   Standards Track                    [Page 24]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[24ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

10.  Contributors

10. 貢献者

   This document is based heavily on the registration event package
   originally proposed by Beckmann and Mayer in [12].  They can be
   contacted at:

このドキュメントはずっしりと元々[12]でBeckmannとマイヤーによって提案された登録イベントパッケージに基づいています。 以下でそれらに連絡できます。

   Georg Mayer
   Siemens AG
   Hoffmannstr. 51
   Munich  81359
   Germany

ゲオルクマイヤージーメンス株式会社Hoffmannstr。 51 ミュンヘン81359ドイツ

   EMail: Georg.Mayer@icn.siemens.de

メール: Georg.Mayer@icn.siemens.de

   Mark Beckmann
   Siemens AG
   P.O. Box 100702
   Salzgitter  38207
   Germany

マークBeckmannジーメンス株式会社私書箱100702ザルツギター38207ドイツ

   EMail: Mark.Beckmann@siemens.com

メール: Mark.Beckmann@siemens.com

   Rohan Mahy provided editorial work in order to progress this
   specification.  His contact address is:

Rohanマーイは、この仕様を進行するように編集の仕事を提供しました。 彼の連絡先は以下の通りです。

   Rohan Mahy
   Cisco Systems
   170 West Tasman Dr, MS: SJC-21/3/3

Rohanマーイシスコシステムズ170の西タスマン博士、MS: SJC-21/3/3

   Phone: +1 408 526 8570
   EMail: rohan@cisco.com

以下に電話をしてください。 +1 8570年の408 526メール: rohan@cisco.com

11.  Acknowledgements

11. 承認

   We would like to thank Dean Willis for his support.

彼のサポートについてディーン・ウィリスに感謝申し上げます。

12.  Author's Address

12. 作者のアドレス

   Jonathan Rosenberg
   dynamicsoft
   600 Lanidex Plaza
   Parsippany, NJ 07054

Lanidex Plazaパーシッパニー、ジョナサンローゼンバーグdynamicsoft600ニュージャージー 07054

   EMail: jdrosen@dynamicsoft.com

メール: jdrosen@dynamicsoft.com

Rosenberg                   Standards Track                    [Page 25]

RFC 3680                SIP Registrations Event               March 2004

ローゼンバーグ標準化過程[25ページ]RFC3680は2004年の登録証明書イベント行進のときにちびちび飲みます。

13.  Full Copyright Statement

13. 完全な著作権宣言文

   Copyright (C) The Internet Society (2004).  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.

Copyright(C)インターネット協会(2004)。 このドキュメントはBCP78に含まれた権利、ライセンス、および制限を受けることがあります、そして、そこに詳しく説明されるのを除いて、作者は彼らのすべての権利を保有します。

   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.

このドキュメントと「そのままで」という基礎と貢献者、その人が代表する組織で提供するか、または後援されて、インターネット協会とインターネット・エンジニアリング・タスク・フォースはすべての保証を放棄します、と急行ORが含意したということであり、他を含んでいて、ここに含まれて、情報の使用がここに侵害しないどんな保証も少しもまっすぐになるという情報か市場性か特定目的への適合性のどんな黙示的な保証。

Intellectual Property

知的所有権

   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.

IETFはどんなIntellectual Property Rightsの正当性か範囲、実装に関係すると主張されるかもしれない他の権利、本書では説明された技術の使用またはそのような権利の下におけるどんなライセンスも利用可能であるかもしれない、または利用可能でないかもしれない範囲に関しても立場を全く取りません。 または、それはそれを表しません。どんなそのような権利も特定するどんな独立している取り組みも作りました。 BCP78とBCP79でRFCドキュメントの権利に関する手順に関する情報を見つけることができます。

   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.

IPR公開のコピーが利用可能に作られるべきライセンスの保証、または一般的な免許を取得するのが作られた試みの結果をIETF事務局といずれにもしたか、または http://www.ietf.org/ipr のIETFのオンラインIPR倉庫からこの仕様のimplementersかユーザによるそのような所有権の使用のために許可を得ることができます。

   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.

IETFはこの規格を実装するのに必要であるかもしれない技術をカバーするかもしれないどんな著作権もその注目していただくどんな利害関係者、特許、特許出願、または他の所有権も招待します。 ietf-ipr@ietf.org のIETFに情報を扱ってください。

Acknowledgement

承認

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

RFC Editor機能のための基金は現在、インターネット協会によって提供されます。

Rosenberg                   Standards Track                    [Page 26]

ローゼンバーグ標準化過程[26ページ]

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

アンカーにボーダーを設定するとアンカーとして機能しなくなる

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る