Internet Engineering Task Force                               D. Petrie
Internet Draft                                                  Pingtel
Document: draft-petrie-sip-config-framewk-reqs-00.txt
Expires: July 2001                                     February 1, 2001


         Requirements for a SIP User Agent Configuration Framework


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.


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

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

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


Abstract

   This document defines a set of high level requirements for an
   extensible framework to configure SIP user agents






















   Petrie         Informational - Expires July 2001                 1
                  Requirements for a SIP User Agent     February 2001
                       Configuration Framework

Table of Contents

   Status of this Memo................................................1
   Abstract...........................................................1
   1  Overview.......................................................3
   2  Conventions used in this document..............................3
   3  Assumptions....................................................3
   3.1  Network configuration........................................3
   3.2  Firewalls....................................................4
   3.3  Terminology..................................................4
   3.4  Simplicity...................................................4
   4  Requirements...................................................4
   4.1  Configuration Service Discovery..............................5
   4.2  Configuration Consumer Registration..........................5
   4.3  Configuration Retrieval......................................6
   4.4  Configuration Change Notification............................6
   4.5  Configuration Modification...................................7
   5  References.....................................................8
   6  Author's Address...............................................8

































   Petrie         Informational - Expires July 2001                 2
                  Requirements for a SIP User Agent     February 2001
                       Configuration Framework

1  Overview

   There is a general need to standardize methods for adding,
   configuring, and maintaining SIP user agents within a VoIP system.
   When one considers the effort needed to set up systems with hundreds
   or thousands of user agents, the need for reducing set up time is
   obvious. After a system is set up, ongoing maintenance in the form
   of changing the configuration of the user agents, or upgrading the
   software or firmware on a large population of user agents, is likely
   to be necessary and requires a similar administrative effort.

   In addition to these scaling problems, it is likely that the
   population of user agents in any given VoIP system will be
   heterogeneous: the configuration strategy must be flexible enough to
   accommodate different needs for different users. Consequently, for
   VoIP system administration sanity and cost practicality, a multi-
   vendor configuration standard is needed.

   Due to the highly divergent capabilities and purposes of the SIP
   user agent population, it seems impractical to propose a single set
   of data content to configure all possible variations. Common data
   sets, or content profiles, can probably be defined, but special
   purpose user agents or vendor value-added features are always likely
   to need specific configuration data sets beyond any defined norm

   This document proposes a general framework to support the use of
   open data sets for configuring SIP user agents. Discussion of the
   requirements for the content and format of these data profiles is
   left for another document.

2  Conventions used in this document

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

3  Assumptions

3.1 Network configuration

   An assumption is made that basic network configuration can be
   completed for the user agent device, based on the availability of
   either:

    - DHCP
    - a manual, vendor-specific method for providing static network
   settings to the user agent device

   Once basic network configuration is completed through one of these
   methods, the configuration task that remains is to make the device
   functional within its SIP domain.



   Petrie         Informational - Expires July 2001                 3
                  Requirements for a SIP User Agent     February 2001
                       Configuration Framework

3.2 Firewalls

   There are two basic network topologies that need to be supported by
   a standard SIP UA configuration:

      · Hosted VoIP Services
      · Enterprise Based VoIP systems

   The primary difference between these topologies, from a
   configuration standpoint, is the placement of the server(s) that
   provide the configuration and the devices relative to a firewall.
   This spec does not propose to solve the firewall issue. At least one
   protocol (or set of protocols if more than one are used for
   configuration purposes) must be usable through a firewall, where the
   devices are on the inside and the server is on the outside.

3.3 Terminology

   Because a configuration server must perform a number of logical
   functions, implementers may decide to spread different functions
   across multiple servers. However, this document references this
   potential collection of configuration servers in the singular as
   “the server”.

   A user agent device may actually be software running on a general
   purpose computer, or a specially built hardware appliance. The user
   agent to be configured is referenced as “the device”.

3.4 Simplicity

   There are likely to be a wide range of configuration servers
   implemented (for example, to provide scalability range, feature
   sets, etc.). It is intended that the requirement defined here will
   allow the server to be active and feature rich. However, it should
   also be possible to build a simple server that meets the minimum
   requirement for devices by delivering nearly static configuration
   content.

4  Requirements

   The requirements for the configuration of a SIP user agent can be
   divided into the following high-level functions:

      · Discovery
      · Registration
      · Configuration Retrieval
      · Notification of Configuration Changes
      · Configuration upload/change

   These functional groups are intended only to provide a means to
   think about and organize the requirements. They are not required to
   be discrete steps, and they do not dictate a specific model.


   Petrie         Informational - Expires July 2001                 4
                  Requirements for a SIP User Agent     February 2001
                       Configuration Framework

4.1 Configuration Service Discovery

   Once the network configuration has been resolved using either DHCP
   or some static method, the first problem for a new SIP user agent to
   solve is where to get its configuration. There are a number of well-
   defined ways to resolve this configuration service discovery
   problem. Most existing solutions are trivial to implement, although
   each has pros and cons.

   It is likely that a number of the existing solutions should be
   supported to perform this function as either the network environment
   or administration may dictate which solutions will work or be
   allowed.

      · A device MUST be able to determine where to retrieve its
      configuration without manual provisioning.

4.2 Configuration Consumer Registration

   The next operation that a new device in the network must perform is
   to register with the configuration server. The server may require
   notification of a device’s presence in order to create a new set of
   configuration data values, allocate resources, etc.

      · A device that is new to the configuration domain MUST make the
      configuration server aware of its presence before it can retrieve
      configuration data for the first time.

      · A server MUST be able to uniquely identify every device in its
      management domain.

      · A device’s identity MUST NOT change through its lifetime in a
      management domain.

      · A device MUST have specific identifying configuration values
      (for example, Vendor, Model number, Software or firmware version,
      serial number, MAC address, etc.).

      · To facilitate hardware swap out, it MUST be possible for
      device-specific configuration values, stored in the server, to be
      reassigned ).

      · The device MUST be able to specify the configuration data
      profiles that it requires (for example, the SIP parameters,
      software or firmware updates, CPL scripts, applications, etc.) so
      that the server can identify which devices are affected by a
      given configuration change.

      · The server MUST be able to specify the configuration data
      profiles that it can provide.




   Petrie         Informational - Expires July 2001                 5
                  Requirements for a SIP User Agent     February 2001
                       Configuration Framework

      · The configuration server MUST be able to communicate the
      locations(s) (in the form of URL(s) or address(es), for example)
      from which the device may retrieve specific configuration data.

      · It MUST be possible, over time, to change the location(s) from
      which configuration data is retrieved (as the result of failure,
      administration changes, etc.).

      · The server MAY require authentication and authorization of the
      device in order for it to join the configuration server’s
      management domain.
      .
      · The device MAY require authentication of the server.

      · The device MAY support the ability to authenticate the
      configuration server.

4.3 Configuration Retrieval

   Configuration requirements and data are likely to vary widely from
   device to device. As a result, it is proposed that the mechanism for
   retrieval be a framework as opposed to closed and single purpose

   Where common sets of data can be derived across multiple vendors,
   data profiles can be defined to contain that common data in a
   standard format. These profiles should be named so that upon
   registration, a device can specify which profiles it requires

   However, it is unreasonable to expect that a single profile can be
   used to configure all devices, great and small. On the other hand,
   it is reasonable to define a single profile (or set of profiles)
   that will configure a device as a basic SIP user agent. Extended
   features and functions can then be configured through separate
   additional profiles.

      · A device MAY retrieve configuration data for a specified user.

      · The server MUST support the retrieval of device- and user-
      specific configuration data values by a device.

      · The server MAY infer a default user specific to that device, if
      the device does not specify a user for the configuration data
      retrieved.

      · The server and device MAY support secure retrieval of
      configuration data.

      · The server MAY require authorization for data retrieval.

4.4 Configuration Change Notification

   Configuration data is not static. It is likely to be changed over
   time on the server by either this standard, or by some proprietary

   Petrie         Informational - Expires July 2001                 6
                  Requirements for a SIP User Agent     February 2001
                       Configuration Framework

   interface. It is up to the implementer to provide the business logic
   as to when devices should be notified after some configuration
   change occurs on the server. As a result, a standard means of
   notifying the device that changes in the configuration data of
   interest have occurred is proposed.

   In some environments it may not be possible for the server to
   initiate configuration change notifications.

      · The server MAY notify the device of configuration data changes.

      · The device SHOULD perform the necessary operations to retrieve
      and make effective the configuration changes indicated by the
      change notification.

      · The server and the device SHOULD support an expiration period
      for configuration data. When this period ends, the device SHOULD
      automatically retrieve refreshed data or confirm that no changes
      have occurred.

      · The server MAY specify in advance that a configuration change
      is to occur (that is, schedule changes).

4.5 Configuration Modification

   In addition to data changes made on the server, the device (or other
   consumers of device configuration) may provide a facility for
   modifying the data. The device therefore requires a means of
   communicating such configuration modifications back to the server.

      · The device MAY upload configuration changes to the server.

      · The server MAY require authentication and authorization for the
      configuration changes.

      · The server MAY enforce authentication and authorization scopes
      at a finer granularity than on a single vs. whole configuration
      profile (that is, some end users may not be permitted to modify
      all parameters).

      · The user requesting the configuration change MAY be different
      than the user to whom the configuration profile applies.












   Petrie         Informational - Expires July 2001                 7
                  Requirements for a SIP User Agent     February 2001
                       Configuration Framework


5  References

   [1] S. Bradner, "The Internet Standards Process -- Revision 3",
   RFC2026 (BCP), IETF, October 1996.

   [2] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP:
   Session Initiation Protocol", Request for Comments (Proposed
   Standard) 2543, Internet Engineering Task Force, Mar1999.

   [3] H. Schulzrinne, “Configuring IP Telephony End Systems”, Internet
   Draft, Internet Engineering Task Force, December 28, 2000 Work in
   progress.



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


6  Author's Address

   Dan Petrie
   Pingtel Corp.
   400 W. Cummings Park         Phone:  1-781-938-5306
   Suite 2200                   Email:  dpetrie@pingtel.com
   Woburn, MA 01801 USA



























   Petrie         Informational - Expires July 2001                 8