One document matched: draft-sinnreich-sipdev-req-00.txt


  SIP Telephony Device Requirements, Configuration and Data 
 
   Internet Draft - Informational        S. Lass/WorldCom 
   draft-sinnreich-sipdev-req-00.txt     D. Petrie/Pingtel 
   Date: November 2002                   H. Sinnreich/WorldCom 
   Expires: June 2003                    C. Stredicke/snom AG 
    
    
      SIP Telephony Device Requirements, Configuration and Data 
                  draft-sinnreich-sipdev-req-00.txt
    
    
      Status of this Memo 
    
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC2026 [1].  
    
   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 informational I-D describes the requirements for SIP Telephony 
   devices, based on the deployment experience of large numbers of SIP 
   phones and PC clients using different implementations. The document 
   reviews the generic requirements for SIP telephony devices, the 
   automatic device configuration process, the device configuration data 
   and examples for XML configuration data formats. 
    
   SIP telephony devices are highly complex IP endpoints that speak many 
   Internet protocols, have text, audio and visual interfaces, various 
   input modes, and require functionality targeted at several 
   constituencies: (1) End users, (2) service providers and network 
   administrators and (3) manufacturers and system integrators. 
    
   The objectives of the requirements are a minimum set of 
   interoperability and multi-vendor supported core features, so as to 
   enable similar ease of purchase, installation and operation as found 
   for standard PCs, analog feature phones or mobile phones. 
    
    
 
                   draft-somefolks-sipdevice-req-00           [Page 1] 
  SIP Telephony Device Requirements, Configuration and Data 
 
   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]. 
  The syntax and semantics used here extend those defined in SIP, [2]. 
    
    
   Table of Contents 
    
   1. Introduction...................................................3 
   2. Generic Requirements...........................................3 
   3. Configuration Processes.......................................12 
   4. Configuration Settings and Data...............................17 
      4.1 General Behavior..........................................17 
      4.2 Device ID.................................................18 
      4.3 Proxy and Registration Settings...........................18 
      4.4 Network Related Settings..................................18 
      4.5 Address Completion........................................20 
      4.6 Audio.....................................................20 
      4.7 Local and Regional Parameters.............................21 
      4.8 Inbound authentication....................................21 
      4.9 Voice mail settings.......................................22 
      4.10 Phonebook and Call History...............................22 
      4.11 Ringer Behavior..........................................23 
      4.12 User Related Settings....................................23 
      4.13 Line Related Settings....................................24 
      4.14 Registration period......................................25 
      4.15 Maximum connections......................................25 
      4.16 Call handling............................................25 
      4.17 Available Behavior.......................................25 
      4.18 Busy Behavior............................................26 
      4.19 Call Waiting Behavior....................................26 
      4.20 Do Not Disturb...........................................27 
   5. Configuration Data Representation.............................27 
      5.1 Configuration Data Format - Examples......................27 
      5.2 Format Definition.........................................28 
      5.3 Handling of Unrecognized Element Names....................28 
      5.4 Example XML Configuration Data............................29 
   6. IANA Considerations...........................................31 
   7. SIP Telephony Device Security.................................32 
   8. Acknowledgements..............................................32 
   9. Authors Addresses.............................................32 
   10. References...................................................33 
   
    
    
    
    
    
   

                     draft-somefolks-sipdevice-req-00           [Page 2]  
  SIP Telephony Device Requirements, Configuration and Data 
 
      1. Introduction 
   
  This informational I-D has the objective of focusing the Internet 
  communications community on requirements for SIP Telephony devices. 
  We base this information on experience from developing and using a 
  large number of SIP telephony devices types and on the experience 
  gained from large scale deployments in private IP networks and on the 
  Internet. This experience has shown the need for generic requirements 
  for SIP telephony devices. 
   
  SIP telephony devices, also referred to as SIP User Agents can be any 
  type of IP networked computing device enabled for SIP based IP 
  telephony.  SIP telephony devices can be SIP phones, adaptors for 
  analog phones, conference speakerphones, and software packages (soft 
  clients) running on PCs, laptops, wireless connected PDAs, as well as 
  mobile and cordless phones that support SIP signaling for real time 
  communications.  
   
  SIP devices MAY also support various other media besides voice, such 
  as text, video, games and also possibly other Internet applications; 
  however the non-voice requirements are not specified in this 
  document, though we believe they need to be kept in mind. SIP 
  telephony devices SHOULD meet the requirements in this document. 
   
  The objectives of the requirements are a minimum set of 
  interoperability and multi-vendor supported core features, so as to 
  enable similar ease of purchase, installation and operation as found 
  for standard PCs, analog feature phones or mobile phones.  Given the 
  cost of some screen phones or enterprise phones may approach the cost 
  of PCs and PDAs, and the larger number of phones compared to PCs, 
  similar or better ease of use as compared to personal computers and 
  networked PDAs is expected by both end users and network 
  administrators. 
   
  As will be seen from the following, SIP telephony devices are highly 
  complex IP endpoints that speak many Internet protocols, have audio 
  and visual interfaces and require functionality targeted at several 
  constituencies: 
  (1) End users, (2) service providers and network administrators and 
  (3) manufacturers and system integrators.  
                
      2. Generic Requirements 
   
  We present here a minimal set of requirements that MUST be met by all 
  SIP telephony devices, as specified here, except where SHOULD or MAY 
  is specified. 
    
  Link Layer Requirements 
                
  SIP devices MUST support either: 
 
 
                   draft-somefolks-sipdevice-req-00           [Page 3] 
  SIP Telephony Device Requirements, Configuration and Data 
 
   
  Link-1: Wired Ethernet IEEE 802.3 10Base-T 10 Mb/s Half Duplex, or 
   
  Link-2: Wireless Ethernet 802.11b and or 802.11a, 
   
  SIP devices MAY also support other link layer protocols, such as 
   
  Link-3: IEEE 802.3 10Base-T Full Duplex 
   
  Link-4: IEEE 802.3 100Base-T Half Duplex 
   
  Link-5: IEEE 802.3u 10/100Mb Auto-sensing 
   
   Power over Ethernet 
   
  Power-1: SIP telephony devices intended for desktop use MAY support 
  in-line power over Ethernet as specified in IEEE 802.3af.  
   
   Integrated Switch/Hub 
   
  SIP devices designed for wired Ethernet SHOULD have an uplink port 
  such that another IP device, such as a personal computer, MAY share 
  the network connection.  SIP clients MUST prioritize the transmission 
  of RTP traffic over the shared network connection. 
   
   IP Requirements 
                
  IP-1: SIP telephony devices MUST be able to acquire an IP address by: 
  Automatic IP address configuration using DHCP, or 
  Manual IP address entry from the device. 
   
  IP-2: SIP devices MUST support multiple DNS entries.  If the primary 
  DNS server does not respond to a DNS request, a secondary DNS server 
  MUST be queried. 
   
  IP-3: SIP devices MUST support IPv4. 
   
  IP-4: SIP clients MUST be able to set the IPv4 Precedence Field bits 
  of the Type of Service (ToS) byte for media streams.  SIP clients 
  SHOULD also be able to set the delay bit, the throughput bit, and the 
  reliability bit. 
   
   SIP User Agent Services 
                
  SIP-1: SIP telephony devices MUST support RFC 3261 [2]. 
   
  SIP-2, DNS SRV: SIP clients MUST t support RFC2782 [3] and MAY 
  support the SIP service examples [4] for basic PBX-like or Centrex-
  like functions.  SIP clients MUST support DNS SRV for locating a SIP 
  Server. When making a SRV query, the client MUST t use the DNS 

 
               draft-somefolks-sipdevice-req-00               [Page 4] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  additional information in the response that contains the IP addresses 
  for the A records. 
     
  If the DNS additional information is not present, the client MUST 
  make DNS A record queries to resolve the hostnames. 
   
  SIP-3, Do Not Disturb: SIP clients MUST be able to set the state of 
  the client as Do Not Disturb.  Clients MUST respond to new INVITES 
  with a ô486 Busy Hereö.  Clients MUST respond to re-INVITES on 
  existing call legs as normal behavior [4]. 
   
  SIP-4, call hold resume: SIP clients MUST be able to place a call on 
  hold/resume [4]. 
   
  SIP-5, multiple calls: SIP clients MUST be able to support at least 
  two or more calls.  By placing the current call ôon holdö, the client 
  MUST be able to initiate or receive another call [4]. 
   
  SIP-6, call waiting indicator: SIP clients MUST support a call 
  waiting indicator.  When already participating in a call, the user 
  MUST be alerted audibly and/or visually of another incoming call.  
  The user MUST be able to enable/disable call waiting. 
   
  SIP-7, message waiting indicator: SIP clients MUST support SIP 
  message waiting  and an indicator for integration with voicemail 
  platforms [5]. 
   
  SIP-8, local dial plan: SIP clients MUST support a local dial plan.  
  The dial plan MUST consist of a pattern string to match dial digits, 
  and the ability to strip, append prefix digits, and/or append suffix 
  digits and send messages directly to another SIP device, bypassing 
  the proxy.  If the destination SIP device is specified as an IP 
  address, the SIP client MUST not attempt to resolve the address with 
  DNS.  If the destination SIP device is a string value, the SIP client 
  MUST make normal DNS SRV and A record queries. 
   
  SIP-9, transfer: SIP devices MUST support REFER and NOTIFY as 
  required to support the transfer [6].  SIP clients MAY support 
  escaped headers in the Refer-To: header. 
   
  SIP-10, unattended transfer: SIP devices MUST support an unattended 
  transfer [3], [4].  SIP clients MAY support escaped headers in the 
  Refer-To: header. 
   
  SIP-11, attended call transfer: SIP devices MUST support attended 
  call transfer [3], [4].  SIP clients MAY support escaped headers in 
  the Refer-To: header. 
   
  SIP-12, music on hold: SIP devices MUST support music on hold [4]. 
   

 
               draft-somefolks-sipdevice-req-00               [Page 5] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  SIP-13, client-based conferencing: SIP devices MUST be able to 
  support handset based conferencing.  A SIP client MUST be able to 
  initiate and mix the audio streams of at least 2 separate calls (i.e. 
  3 way conference calling). 
   
  SIP-14, DMTF in-band mixing: SIP devices MUST generate in-band DTMF 
  tones for use with the G.711 codec. 
   
  SIP-15: DTMF RTP payload: SIP clients MUST be able to send DTMF 
  specified by RFC2833 [7].   
   
  Payload type negotiation MUST comply with RFC 3264 [8]. 
   
  Payload type MUST remain constant throughout the session.  For 
  example, if an endpoint decides to renegotiate codecs or put the call 
  on hold, the payload type for the re-invite MUST be the same as 
  initial payload type. 
   
  SIP-16, 180 ignores earlier media: SIP devices MUST generate local 
  ringing and ingore any early RTP media when a ô180 Ringingö response 
  is received. 
   
  SIP-17, play single early media stream: SIP devices MUST play the 
  first RTP stream and ignore any other RTP media streams when a ô183 
  Session Progressö response is received. 
   
  SIP-18,  use the last 18x message received: SIP devices MUST obey the 
  last 18x message received when multiple 18x responses are received.  
  If the last response is ô180 Ringingö, the client MUST generate local 
  ringing.  If the last response is ô183 Session Progressö, the client 
  MUST play the RTP stream. 
   
  SIP-19, error-info support: SIP devices MUST support the Error-Info 
  header. 
   
  SIP-20, reason phrase display: If the ôReason Phraseö of a response 
  message is displayed, the client MUST use ôReason Phraseö in the 
  response packet.  The client MUST not use an internal ôStatus Codeö 
  table. 
   
  Another SIP device MAY respond with ô403 Forbiddenö, or various other 
  messages. 
   
  SIP-21, fax support: SIP adapter devices (for analog phone lines) 
  MUST support the ITU-T T.38 standard [9]using UDPTL [10].  SIP 
  clients MUST fallback to G.711 if T.38 fails. 
   
  SIP-22, multi-line support: Multi-line SIP devices MAY register using 
  more than one set of credentials. 
   

 
               draft-somefolks-sipdevice-req-00               [Page 6] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  SIP-23, multi-line do not disturb: SIP devices MUST be able to set 
  the state of the client to Do Not Disturb on a per line basis.  
  Clients MUST respond to new INVITES with a ô486 Busy Hereö.  Clients 
  MUST respond to re-INVITES on existing call legs as normal.  
   
  SIP-24, multi-line call waiting indicator: Multi-line SIP devices 
  MUST support  multi-line call waiting indicators.  When already 
  participating in a call, the user MUST be alerted audibly and/or 
  visually of another incoming call.  This setting MUST be provisioned 
  by the user. 
  SIP devices with multiple identities (ie. registrations/lines) MUST 
  allow Call Waiting Indicator to be set on a per identity basis.  If 
  call waiting is set for an identity, the client MUST respond with 
  ô486 Busy Hereö when an incoming call to that identity is received 
  and the client has an existing call with any of the identities. 
   
  SIP-25, Dynamic login/logout for user mobility: SIP devices MUST 
  support user mobility.  SIP clients MUST store a static profile in 
  non-volatile memory so that this information is available during the 
  power up sequence.  SIP clients MUST allow a user to walk up to a 
  client, login, and be able to send and receive calls with his profile 
  information. 
  For emergency numbers (e.g. 911) the client MUST send the credentials 
  (username/password) of the static profile. 
   
  SIP-26, multi-line ring tones: SIP devices MUST be able to provision 
  a different ringtone for each line (ie. registration or static 
  identity). 
   
   SIP Related Protocols 
   
  SDP: SIP devices MUST support Session Description Protocol, RFC2327 
  [11]. 
   
  RTP/RTCP: SIP devices MUST support Real-Time Protocol and Real-Time 
  Control Protocol, RFC1889 [12]. 
   
   SIP Security 
   
  SIPsec-1, SIP Digest Authentication: SIP devices MUST support SIP 
  Digest Authentication [2] 
   
  SIPsec-2,  password protection: SIP devices MUST be able to password 
  protect configuration information and administrative functions. 
   
  SIPsec-3, disabling of remote services: SIP devices MUST be able to 
  disable remote access, i.e. block incoming SNMP, HTTP, and other 
  services not necessary for basic operation. 
   
  SIPsec-4, INVITE user portion acceptance: SIP devices MAY be able to 
  reject an incoming INVITE when the message does not come from the 
 
               draft-somefolks-sipdevice-req-00               [Page 7] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  proxy or proxies where the client is registered.  For DNS SRV 
  specified proxy addresses, the client MUST accept an INVITE from all 
  of the resolved proxy IP addresses. 
                
   Voice Codecs 
   
  Internet telephony devices face the problem of supporting multiple 
  codecs due to various historic reasons, on how industry players have 
  approached codec implementations and the serious intellectual 
  property and licensing problems associated with most codec types. 
  Many, but not all voice codec payload types are described in RFC 1890 
  [13] and other IETF MMUSIC WG [14] documents.  
   
  Codec-1: Three main classes of voice codecs are supported by Internet 
  telephony devices: 
   
  SIP telephony devices MUST support AVT payload type 0 [G.711 uLaw] as 
  the default codec. The packet size MUST be 20 milliseconds. The 
  matching ITU-T Appendix I and Appendix II decoders SHOULD also be 
  supported. 
   
  Compressed codecs such as G.729 derived from delta-PCM encoding, 
  found in private networks with frugal bandwidth using frame relay or 
  DSL access MAY be supported.  
   
  The narrow bandwidth codecs such as G.723.1 with such low speed (5.3 
  and 6.3 kb/s without RTP/UDP/IP overhead) as to work well even on 
  dial-up access MAY be supported.  
   
  A compressed codec for Internet use without license fee is on the 
  IETF standards track [15],  MUST be supported. Voice codecs used in 
  2nd generation mobile phone systems, such as various GSM codecs are 
  also found in various implementations and MAY be supported. 
   
  Wideband codecs using typically 16 kHz voice sampling for better-
  than-PSTN voice quality, such as G.722 and GIPS MAY be supported. 
  Such codecs are found in conferencing systems to increase the value 
  of conferencing. 
   
  Note: A summary count reveals up to and more than 15 voice codec 
  types currently in use. The authors believe there is a need for a 
  single multi-rate Internet codec that can effectively be substituted 
  for all the multiple codec types listed here and avoid the complexity 
  and cost   implementers and service providers alike are faced by 
  supporting so many codec types, including especially those that have 
  not been developed specifically for Internet use.  
   
  Codec-2, codec negotiation: Endpoints MUST follow these guidelines in 
  RFC 3264 : 
   
  Initiator specifies "preferred" codec. 
 
               draft-somefolks-sipdevice-req-00               [Page 8] 
  SIP Telephony Device Requirements, Configuration and Data 
 
   
  Receiver has "final" choice of codec selected. 
   
  Both endpoints MUST use first codec listed by the receiver. 
   
  If an endpoint cannot dynamically switch between available codecs, it 
  MUST offer a single codec and send a new INVITE with another codec if 
  the original fails due to the SIP 488 Media Unsupported message. 
   
  Codec-3, comfort noise: SIP device MAY support comfort noise 
  generation [16].  It is also RECOMMENDED that SIP clients comply with 
  the "handset receive comfort noise" requirements outlined in the 
  ANSI/EIA/TIA-810-A-2000 standard. 
   
   Voice-Telephony Requirements 
   
  Voice-1, loudness: SIP telephony devices MUST conform to the electro-
  acoustical requirements  for send loudness rating (SLR), receive 
  loudness rating (RLR), weighted terminal coupling loss (TCLw), 
  stability loss, etc.) of TIA/EIA-810-A standard [17], [18]. 
   
  Stability loss is a measure of the contribution of the telephone set 
  or terminal to the overall connection stability requirements.  
  Stability loss is defined as the minimum loss from the terminal 
  digital input (receive) to the terminal digital output (transmit), at 
  any test frequency.   
   
  Voice-2, stability loss: SIP device SHOULD meet the following 
  stability loss requirements:  
  The stability or minimum loss, per ITU-T G.177, TIA/EIA-810-A [17], 
  [18 ] and TIA/EIA-579-A, at any voiceband frequency SHOULD be greater 
  than 6 dB, and preferably greater than 10 dB.  Digital telephone sets 
  or terminal equipment with adjustable receive level SHOULD maintain 
  stability over the entire range of adjustable receive levels. 
   
  Voice-3, speakerphone: SIP devices MAY provide a full-duplex 
  speakerphone with echo and side-tone cancellation. 
   
  Voice-4, programmable ring-tones: SIP device MAY be able to use 
  different ring-tones based on the caller identity (ie. From header). 
   
   International Requirements 
   
  International-1, language support: SIP devices MAY indicate the 
  preferred language using SIP Caller Preferences [19]. The setting for 
  this header MUST be provisioned. 
   
  International-2, international display support: SIP devices MAY 
  support other languages for menus, help, and labels. 
   
  Applications Requirements 
 
               draft-somefolks-sipdevice-req-00               [Page 9] 
  SIP Telephony Device Requirements, Configuration and Data 
 
   
  The following requirements apply to functions placed in the SIP 
  telephony device. 
   
  App-1, automatic ring-down: SIP devices MAY support a ôbat phoneö 
  setup where a URL is automatically dialed when the client goes off-
  hook. 
   
  App-2, hold ring-back: SIP devices MAY ring after a call has been on 
  hold for a predetermined period of time, typically 3 minutes.  This 
  time value MUST be provisioned. 
   
  App-3, LDAP phonebook: SIP devices MAY support LDAP for client-based 
  directory lookup. 
   
  App-4, address-book integration: SIP devices MUST allow a 3rd party 
  to initiate a call for the client. [20]. 
   
  App-5, SIMPLE Integration: SIP devices MUST provide a ôbuddy-
  list/addressbookö and use SIP extensions to leverage presence [21]. 
   
  Web-based Feature Management 
   
  Web-1: SIP devices MUST support a web server to allow users to 
  manually configure the phone and to setup phone services such as the 
  address book, speed-dial, ringer tones, and last but not least the 
  call handling options for the various lines, aliases, in a user 
  friendly fashion. Web pages to manage the SIP telephony device MAY be 
  supported by the individual device, or in managed networks from 
  centralized web servers. Managing SIP telephony devices SHOULD NOT 
  require special client software on the PC or on a management console. 
   
  Web-2: The telephone settings MUST be accessible to authenticated 
  users or operations personnel from remote locations. 
   
  Firmware Update 
   
  Firm-1: SIP devices MUST be able to upgrade their firmware as 
  described in section 4. 
   
   Firewall/NAT Traversal Requirements 
   
  The following requirements allow SIP clients to properly function 
  behind various firewall architectures: 
  FW/NAT-1, outbound proxy support: SIP devices MUST support a default 
  domain.  SIP devices MUST have the capability to be configured so 
  that the default domain and the proxy are different.  The provisioned 
  user identity on the device MUST include a full URL to be included in 
  the SIP From: header or a provisioned domain name MUST be appended. 
   
  Configuration Information 
 
               draft-somefolks-sipdevice-req-00               [Page 10] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  Name: userA 
  Proxy Address: sip.outbound.domain.com 
  Domain: domain.com 
   
  Example Message sent to sip.outbound.domain.com 
   
  REGISTER sip:domain.com SIP/2.0  
  To: sip:userA@domain.com  
  From: sip:userA@domain.com  
  Contact: sip:10.10.10.215 
   
  FW/NAT-2, NAT capable configuration: SIP devices MUST be able to 
  operate behind a static NAT/PAT (Network Address Translation/Port 
  Address Translation) device using the STUN protocol [x22].  SIP 
  clients MUST be able to populate SIP messages with the public, 
  external address of the NAT/PAT device and use specific port ranges 
  for RTP. 
   
  FW/NAT-3, UPnP capable configuration 
  SIP devices MUST be able to operate with a UPnP 
  (http://www.upnp.org/) firewall device. 
   
   Device Interfaces 
   
  SIP telephony devices MAY have various types of interfaces, such as 
  resembling a desktop phone, cordless phone, mobile phone, handheld 
  computer, laptop computer or with various interface models, such as 
  for phones, IM or personal organizer. Given the variety of possible 
  interfaces, the generic requirements only can be listed here. 
   
  Int-1: SIP telephony devices MUST have a telephony-like dial-pad and 
  MAY have telephony style buttons like mute, redial, etc. 
   
  Int-2: SIP telephony devices MUST have a convenient way for entering 
  SIP URLs and phone numbers.  This includes all alphanumeric 
  characters allowed in legal SIP URLs. Possible approaches include 
  using a web page, display and keyboard or graffiti for PDAs. 
   
  Phone number entry SHOULD be supported in human friendly fashion, 
  allowing the usual separators and brackets between digits and digit 
  groups. 
   
   
  Int-3: SIP telephony devices MUST have two types of interface 
  capabilities, for phone numbers and URLs, accessible to the end user. 
   
  SIP device configuration and management interface. The access to the 
  SIP device configuration interface MAY be blocked by the service 
  provider so as not allow misconfiguration of the settings. 
   

 
               draft-somefolks-sipdevice-req-00               [Page 11] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  End user options interface, such as personal address book, auto-
  forwarding, ringer tones, etc. 
   
  Desktop and other phone-style SIP devices can meet the above 
  requirements with a device web page. Device web pages also facilitate 
  remote device settings from a help desk, without user intervention. 
    
   Multiple Line Appearances 
   
  SIP telephony devices SHOULD support multiple SIP registrars and 
  outgoing proxies with different user aliases. 
   
  Lines-1: SIP telephony devices MAY support multiple lines. 
   
  Lines-2: SIP telephony device line settings MAY support different SIP 
  registrars, SIP proxy servers and different user names and password 
  on each line, as well as different authentication mechanisms, such as 
  password or SIP digest authentication. 
   
      3. Configuration Processes 
   
   Functional Configuration Groups  
       
  The requirements for the configuration of a SIP user agent can be 
  divided into the following high-level functions [23]:  
   
  Discovery  
  Enrollment  
  Profile Retrieval  
  Change Notification  
  Profile Upload  
  Security  
  Data Container.  
       
  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 are not intended to dictate a specific 
  model.   
       
  Discovery is the means by which a new SIP user agent can 
  automatically discover how and where to enroll and retrieve desired 
  device and user profile(s).  
       
  Enrollment is the means by which the user agent makes the profile 
  server(s) aware of its presence and desire of specific users and/or 
  device profiles.  
    
  Profile Retrieval is the means by which the user agent gets the 
  desired profiles(s).  
       

 
               draft-somefolks-sipdevice-req-00               [Page 12] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  Change Notification is the means by which the profile server tells 
  the user agent that profiles of interest have changed.  Typically, 
  the intention would be for the user agent to get those changes or the 
  updated profiles.  
       
  Profile Upload this is the means by which the user agent or other 
  entities in the network can update or propagate changes to a profile 
  on the server.  
       
  The primary focus of security is on protecting the profiles from 
  unauthorized access or change as well as integrity.  
       
  Data Container is the container or object model for the profile data 
  during transport to and from the server.  The primary issues are 
  structure and hierarchy.    
                                                                  
   Generic Configuration Requirements 
   
  The SIP telephony device configuration requirements in this document 
  are understood to be part of a configuration framework that includes 
  both end devices and configuration servers.  The platforms (server 
  and user agent) upon which this profile delivery framework MUST be 
  deployed are very different in capability.  The user agents are 
  largely embedded systems with limited resources for code and data 
  size as well as CPU power (pure software based user agents are less 
  constrained).  The profile server is likely to run on general purpose 
  servers and therefore not  
  as resource constrained.  
      
   Roaming 
                
  GenConf-1: The profile delivery framework MUST support the ability 
  for profiles to roam.  That is, a user MAY go to another user agent 
  within the server domain and with proper authorization, the user 
  agent MUST be able to retrieve the user profile from the server and 
  use the profile. 
                
   Open and Extensible for Vendor Implementations 
                
  OpenExt-1: The profile framework MUST allow vendor differentiation on 
  both the server and user agent sides.  
  This is largely an issue of how easy it is to make a more intelligent 
  or active server or client without breaking the standard. 
   
  OpenExt-2:   The profile framework MUST allow vendor differentiation 
  on both the server and user agent sides.  
  This is largely an issue of how easy it is to make a more intelligent 
  or active server or client without breaking the standard. 
   
   NAT/Firewall Support for Configuration 
   
 
               draft-somefolks-sipdevice-req-00               [Page 13] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  The primary issue relating to the profile delivery framework is the 
  presence of NATs and/or firewalls between the profile server and the 
  user agent.  It is assumed that if NATs or firewalls are present (in 
  between) the user agents are on the inside and the profile server is 
  effectively on the outside (e.g. public Internet). 
   
  NAT/FW-Conf-1: The user agent MUST be able to reach the profile 
  server through a NAT or firewall to perform all of the functions in 
  the delivery framework. 
   
  NAT/FW-Conf-2: The firewall or NAT SHOULD NOT require any additional 
  configuration to enable the profile delivery framework to work.  
  It is assumed that certain protocols are typically enabled on the NAT 
  or firewall by default (e.g. HTTP access to servers outside).  It is 
  assumed that SIP access in both directions is enabled or the user 
  agent is not likely to be of much use. 
   
   Discovery 
                
  The purpose of discovery is to provide the means by which zero or 
  minimal user interaction is required when plugging in a user agent 
  for the first time in a specific profile server domain.  It is  
  likely there is no single protocol solution for discovery due to the 
  wide variety of typical network configurations including but not 
  limited to networks:  
  not connected to the Internet,  
  with no DHCP server [24], [25]  
  with no DNS SRV support,  
  with a non-configurable DNS server. 
       
  DIS-1: The user agent SHOULD be able to discover the profile server 
  without human input.  
       
  DIS-2: It MUST be possible to manually set the location of the 
  profile server for a user agent.      
  This is primarily a user agent implementation issue, not a protocol 
  issue. 
   
   Enrollment 
   
  ENR-1: A user agent MUST be able to provide a unique identity to the 
  profile server which does not change for the life of the UA.  
  This allows user and device profiles to be associated with a 
  particular user agent.  
       
  ENR-2: A user agent requiring profiles SHOULD make itself known to 
  the profile server.   
       
  ENR-3: The user agent MUST identify profiles that it requires.  
       

 
               draft-somefolks-sipdevice-req-00               [Page 14] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  ENR-4: The profile server MAY be provisioned to know what profiles a 
  user agent needs by default.  
  There are a number of reasons for the above requirements.  In large 
  scale deployments this MAY be important for load balancing purposes. 
  This MAY be needed by the profile server so that it can understand 
  which user agents are dependent upon which profiles.  
       
  ENR-5: A user agent MAY request additional or different user profiles 
  beyond the default provisioned for the user agent.  
  This is primarily to support the notion of roaming.  
       
  ENR-6: The user agent MUST provide specific information which MAY 
  required by the server to customize the profile(s) for the user 
  agent.  
  It MAY be necessary to provide different views of a profile based 
  upon the specific configuration of the user agent. (for example, 
  Vendor, Model number, Software or firmware version, serial number, 
  MAC address, etc.).  
       
  ENR-7: It SHOULD be possible for the profile server to deliver 
  different views of a profile based upon characteristics of the user 
  agent.  
  Though the objective is to provide a standardized profile that has 
  the same content for all vendors user agents, in reality there are 
  changes or differences to work around.  That is it MAY be desirable 
  to put intelligence in the profile server to work around differences 
  in user agent behavior or changes in the standardized profile content 
  specification.  
       
  ENR-8: It MUST be possible to reassigned device-specific profiles, 
  stored in the server, to a different user agent.  
  This is to facilitate hardware swap out.  
       
  ENR-9: It MUST be possible for the profile server, over time, to 
  change the location(s) from which configuration data is retrieved.  
  The intention is to allow server handoff as the result of failure, 
  administration changes, load balancing, etc.  
     
  ENR-10: The user agent SHOULD re-enroll periodically.  
  The user agent basically SHOULD check in periodically with the 
  profile server in case a network problem prevented change 
  notification from getting to the user agent. 
   
   Profile Retrieval 
                
  RET-1: It MUST be possible for the user agent to retrieve the 
  profile(s) it requires on demand.  
   
  RET-2: It MUST be possible for the entire population of user agents 
  to request and retrieve the required profiles in a short period of 
  time. 
 
               draft-somefolks-sipdevice-req-00               [Page 15] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  This is a scalability requirement: e.g. during a power outage tens or 
  hundreds of thousands of user agents MAY power up at once. 
   
   Change Notification 
                
  CN-1: The profile server MUST be able to notify dependent user agents 
  of profile changes.  
       
  CN-2: The user agent MUST be able to get the new updated profile.  
       
  CN-3: The server MAY specify in advance that a configuration change 
  is to occur.  
  That is the profile server MAY schedule changes.  
           
  CN-4:  The user agent MAY defer making profile changes effective 
  until it is safe to do so.  
       
  Some profile changes MAY disrupt the operation of the user agent.  
  The user agent SHOULD alert the user and use discretion as to whether 
  the change will disrupt critical operation (e.g. a call) of the user 
  agent.  
   
   Profile Upload 
                
  PU-1: A user agent MUST be able to upload changes to a profile on the 
  profile server.  
  This is to facilitate changes made either via a user interface on the 
  user agent which are desired to be permanent as well as a means by 
  which a external interface (e.g. a rich GUI on a general purpose 
  computer)  MAY interface with the profile server. 
   
  PU-2: The profile server SHOULD provide an access control mechanism 
  to constrain who can read, write, delete, or be notified about change 
  to profile data. 
   
   Security 
                
  User and device profiles MAY contain sensitive data such as passwords 
  and identities.  It MUST be possible to protect the profiles and 
  information about the profiles.  
       
  SEC-1: The profile server SHOULD NOT provide access to profile data 
  without authentication and authorization.  
       
  SEC-2: The profile server MUST NOT allow a user agent to update 
  profile data without authentication and authorization.  
       
  SEC-3: The profile data, when transmitted over the network, SHOULD be 
  protected against man in the middle attacks and snooping.  
       

 
               draft-somefolks-sipdevice-req-00               [Page 16] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  SEC-4: The profile server SHOULD NOT allow enrollment without 
  authentication and authorization.  
       
  SEC-5: The profile server SHOULD NOT provide change notification of 
  profiles without authentication and authorization.  
       
  SEC-6: The user agent SHOULD NOT interact with or trust any 
  information from the profile server before authenticating the profile 
  server.  
       
  SEC-7: The information exchanged between the user agent and the 
  profile server SHOULD be integrity protected. 
   
  3.2.8. Data Container 
   
  DA-1: The data container MUST support hierarchical and structured 
  data.  
  Note: for a better understanding of rational for this requirement see 
  [26].  
   
  DA-2: It MUST be possible to define a standardized set of profile 
  data that all user agents SHOULD support.  
   
  DA-3: It MUST be possible for user agent vendors to add vendor 
  specific data without breaking the standardized data set or requiring 
  the creation of additional profiles.  
   
  DAR-4: The data container MUST be flexible enough to contain 
  additional data without breaking the profile server or the user 
  agent, e.g. non-standard, vendor specific or standard updates. 
   
  DAREQ-5: The user agent MUST be able to determine the differences 
  when a profile has changed. 
  Note: This can be determined either by getting only the added, 
  removed or changed data or by calculating the difference between two 
  profiles. 
                
      4. Configuration Settings and Data 
   
            4.1 General Behavior 
                
  Configuration information related to the network identity of a device 
  that can be discovered is described in the preceding chapter 4. 
  Besides network parameters, SIP telephony devices MAY also be 
  configured with user data described here. 
   
  Settings are the information on a client that it needs to be a 
  functional SIP end point. It is an implementation choice whether the 
  device stores the data across power cycles and hardware restarts or 
  it reloads the data every time upon startup. The settings defined in 
  this document are not intended to be all inclusive. It MUST be 
 
               draft-somefolks-sipdevice-req-00               [Page 17] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  possible for vendor specific parameters to be added. Parameters which 
  are not understood by an end point MUST be ignored. 
   
  The list of available configuration settings includes settings that 
  MUST, SHOULD or MAY be used by all devices (when present) and that 
  make up the common denominator that is used and understood by all 
  devices. However, the list is open to vendor specific extensions that 
  support additional settings, which enable a rich and valuable set of 
  features. 
    
  Settings MAY be read-only on the device. This avoids the miss-
  configuration of important settings by inexperienced users producing 
  service cost for operators. This draft describes how operator MAY 
  protect some settings from end users.  
   
  In order to achieve wide adoption of any configuration settings 
  format it is important that it not be excessive in size so as to 
  allow modest devices to use it. Any format SHOULD be structured    
  enough to allow flexible extensions to it by vendors.  
   
  Settings may belong to the device or to a ôlineö. When the endpoint 
  acts in the context of a line, it will first try to look a setting up 
  in the line context. If the setting can not be found in that context, 
  the device will try to find the setting in the device context. If 
  that also fails, the device MAY use a built-in value for the setting. 
   
  The line concept allows configuration of phones in a user specific 
  context. It simplifies unconstrained seating in offices and can 
  support roaming users. 
   
  In principle, all settings may be present in line and in device 
  context. For some settings (e.g. the MAC address of the device), 
  devices MAY set restrictions on the availability of settings in 
  either line or device context. 
   
            4.2 Device ID  
                
  A device setting MAY include some unique identifier for the device it 
  represents.  This MAY be an arbitrary device name chosen by the user, 
  the MAC address, some manufacturer serial number or some other unique 
  piece of data. 
       
            4.3 Proxy and Registration Settings  
                
  Server-1: SIP Session Timer.  The re-invite timer allows user agents 
  to detect broken sessions caused by network failures. A value 
  indicating the number of seconds for the next re-invite for the re-
  invite period SHOULD be used by the device. 
        
            4.4 Network Related Settings  
                
 
               draft-somefolks-sipdevice-req-00               [Page 18] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  Network-1: SIP Ports.  The port that MUST be used for a specific 
  transport protocol MAY be indicated with the SIP ports setting.   
   
  Network-2: Quality of Service. The Quality of Service settings for 
  outbound packets SHOULD be configurable for network packets 
  associated with call signaling (SIP) and media transport (RTP/RTCP).  
       
  For both categories of network traffic, the device SHOULD permit 
  configuration of the type of service settings for both layer 3 (IP 
  DiffServ) [27] and layer 2 (IEEE 802.1D/Q) [28], [29] of the network 
  protocol stack.  
       
  Network-3: Network parameters. The parameters for SIP (like timer T1 
  [9]) and other network related settings MAY be indicated.  
       
  Network-4: RTP Port range. A range of port numbers MAY be used by a 
  device for the consecutive pairs of ports which SHOULD be used to 
  receive audio and control information (RTP and RCTP) for each 
  concurrent connection.   
   
  Network-5: External Network Address. A network address (such as an IP 
  address) MAY be used by devices which make calls through a NAT. The 
  device includes this IP address in the SIP messages and SDP it sends 
  to other SIP user agents to indicate that this is the address to 
  which SIP, RTP and RTCP packets SHOULD be send. This supports the 
  case where the NAT is configured to statically map specific ports on 
  the external interface to a specific end point inside the NAT. The 
  end point in turn is configured to spoof other SIP entities into 
  thinking it is the external interface on the NAT.   
       
  The address consists of a host name plus an OPTIONAL port number, 
  like sent-by in the Via header [2].      
   
  Network-6: Outbound HTTP Proxy. An outbound HTTP proxy server IP 
  address and port number MAY be used in cases where the device both 
  supports an HTTP client and requires HTTP traffic to use a proxy 
  server.     
       
  Network-7: Registration period. A line definition MAY contain a 
  period (in seconds) which once exceeded will cause the device to re-
  register its registration server(s). The default value is one hour. 
   
  Network-8: Default Call Handling. All of the call handling settings 
  defined below in section 5.3.2 can be defined here as default 
  behaviors.  
   
  Network-9: Outbound Proxy. The outbound proxy [9] for a line or for a 
  device MAY be set. The address is encoded as SIP URI. The setting MAY 
  contain alternative outbound proxies, which MAY be used in case of a 
  server failure.  
       
 
               draft-somefolks-sipdevice-req-00               [Page 19] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  Network-10: Default Outbound Line. The default outbound line SHOULD 
  be a global setting (not related to a specific line). This setting 
  MUST not be used as part of a line definition. 
        
            4.5 Address Completion     
   
  As most telephone users are used to dialing digits to indicate the 
  address of the destination, there is a need for specifying the rule 
  by which digits are transformed into a URL (usually SIP or TEL).  
       
  Dial-1: Dial Plan. A dial plan which defines the maximum expected 
  length of a typical telephone number SHOULD be used.  
       
  Zero or more digit maps which map a dial plan and a SIP address to 
  which phone numbers of that type SHOULD be routed SHOULD be 
  supported. The digit maps define numeric patterns that when matched 
  define:  
         1) a rule by which the end point can judge that the user has 
     completed dialing, and  
         2) a rule to construct a URL from the dialed digits, and 
     optionally  
         3) an outbound proxy to used in routing the SIP INVITE.  
       
  A critical timer MAY be provided which determines how long the device 
  SHOULD wait before dialing if a dial plan contains a T character. It 
  MAY also provide a timer for the maximum elapsed time which SHOULD 
  pass before dialing if the digits entered by the user match no dial 
  plan.  
       
  Dial-2: Default Digit Map. The end point MUST support the 
  configuration of a default digit map. If the end point does not 
  support digit maps, it MUST at least support a default digit map rule 
  to construct a URL from digits. If the end point does support digit 
  maps, this rule applies if none of the digit maps match.      
   
  Dial-3: Overlap-Dial. Some operators support overlap dialing [2] and 
  MAY want to indicate to the SIP devices that this mode is to be used. 
  This setting is Boolean and MAY be set to true or false. 
        
            4.6 Audio  
   
  Audio-1: Codecs. In many cases operators want to control which codecs 
  MAY be used in their network. The desired subset of codecs supported 
  by the device MUST be configurable along with the order of 
  preference.  
       
  The range for parameters of the codecs MUST be adjustable. This 
  includes the packet length (ms of audio), and the sample rate. 
  However, the negotiation of the media for individual calls is being 
  done on a per call basis.  
       
 
               draft-somefolks-sipdevice-req-00               [Page 20] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  Audio-2: DTMF method. DTMF allows different ways of indicating that a 
  key has been pressed [30]. The method for sending these events SHOULD 
  be configurable with the order of precedence.  
       
  Audio-3: Silence suppression. It SHOULD be possible to disable 
  silence suppression on the end point such that RTP audio packets are 
  sent even if silence is detected.  
       
            4.7 Local and Regional Parameters  
   
  Certain settings are dependant upon the devices regional location, 
  such as the daylight saving time  rules and the time zone.  
       
  Regional-1: Time Zone. A time zone MAY be specified for the user.  
  Where one is specified it SHOULD use the scheme used by the Olson 
  Time Zone database [31]. Examples of the database naming scheme are 
  Asia/Dubai or America/Los Angeles where the first part of the name is 
  the continent or ocean and the second part is normally the largest 
  city on that time-zone. 
   
  Regional-2: UTC Offset. An offset from Coordinated Universal Time 
  (UTC) in seconds MAY be used.         
   
  Different rules exist for when daylight saving time (DST) starts and 
  ends. For example in North America begins on the first Sunday in 
  April whereas in Western Europe is begins on the last Sunday in 
  March.  
   
  Regional-3: A DST rule MAY be used by the device.  
   
  The network addresses of SNTP time servers where the device can get a 
  centrally defined time MAY be used.  
   
  Regional-4: The time server MAY be used.  
   
  Setting the correct language is important for simple installation 
  around the globe. 
       
  Language-1: Language settings MAY be deployed. A language MAY be 
  specified for a device.   Where it is specified it SHOULD use the 
  codes defined in RFC3066 [32] to provide some predictability.  
       
  Language-2: It is RECOMMENDED that servers set the Language as 
  writable, so that the user MAY change this. This setting SHOULD NOT 
  be line related.     
       
            4.8 Inbound authentication  
   
  SIP allows a device to limit incoming signaling to those made by a 
  predefined set of authorized users from a list and/or with valid 
  passwords.      
 
               draft-somefolks-sipdevice-req-00               [Page 21] 
  SIP Telephony Device Requirements, Configuration and Data 
 
   
  In-Auth-1: A device SHOULD the setting as to whether authentication 
  (on the device) is required and what type of authentication is 
  REQUIRED: NONE or DIGEST     
   
  In-Auth-2: If inbound authentication is enabled then a list of 
  allowed users and credentials to call this device SHOULD be used by 
  the device. The credentials contain the same data as the credentials 
  for a line (i.e. URL, user, password digest and realm). This applies 
  to SIP control signaling as well as call initiation. The list shows 
  for example who is allowed to send a REFER or an INVITE with the Join 
  or Replaces header. 
   
            4.9 Voice mail settings  
   
  Various voice mail settings require the use of URL's as specified in 
  [33].  
   
  VM-1: The MWI address setting controls where the client MAY SUBSCRIBE 
  [8] to a voice mail server.  
       
  VM-2: A retrieve address MAY be used by the device so it can get any 
  voicemail messages it has.  
   
  VM-3: A deposit address MAY be used to specify where voicemail 
  messages SHOULD be left if the device is unable or unwilling to take 
  a call.  
       
            4.10 Phonebook and Call History   
   
  IP Telephony devices can store locally a phonebook and also the 
  history of recent calls. As an alternative, phonebook directory 
  servers can provide a centralized store of phone numbers/addresses 
  and potentially other information, such as provided by LDAP directory 
  servers.  
   
  Phonebook-1: SIP telephony devices MAY store telephone book entries 
  locally and/or MAY use a central LDAP directory. 
   
  A record of the last calls made and received MAY also be stored 
  locally or in a centralized location and referenced from devices.  
   
  Call Hisytory-1: SIP telephony devices MAY store locally a recent 
  (limited) call history or MAY make use of a central server for call 
  history.  
   
  If the phone maintains only one last dialed number, it SHOULD compare 
  the incoming Last-Calls header against tried and dialed and store the 
  newest entry.  
       

 
               draft-somefolks-sipdevice-req-00               [Page 22] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  Devices that are not able to differentiate call history entries 
  between "tried" and "dialed" SHOULD use "dialed".  
       
  A server MAY be used for storing the phonebook and call history.  
   
  PhoneServers-1: Zero or more servers MAY be used for storing 
  phonebook directories or call histories. If a server is defined and 
  address such as a URL MUST be used and user name and credentials MAY 
  be used for that server.  
   
  The flush timeout MAY be specified for the server     
   
  Users MAY wish to limit the number of data items that are returned to 
  their device if a query is issued against one of the directory 
  servers. 
       
            4.11 Ringer Behavior  
   
  Simple SIP devices support only one identity. These devices SHOULD 
  ignore all line related settings that do no affect the default 
  outbound line settings they receive.  
   
  The manner in which a user is alerted to an incoming call (visually, 
  audibly or possibly both) MAY be used by the device. This includes 
  the different volumes and MAY point to a file that contains the 
  melody.      
   
  Ringer sound files MAY be specified for the following types of 
  incoming calls normal, high priority, internal and external. 
  Different ringer sound files MAY also be associated with different 
  lines.   
   
            4.12 User Related Settings 
   
  A device MAY specify the user which is currently registered on the 
  device. This SHOULD be an address-of-record URL specified in a line 
  definition.  
       
  The purpose of specifying which user is currently assigned to this 
  device is to provide the device with the identity of the user whose 
  settings are defined in the user section. This is primarily    
  interesting with regards to user roaming. Devices MAY allow users to 
  sign-on to them and then request that their particular settings be 
  retrieved. Likewise a user MAY stop using a device and want to 
  disable their lines while not present. For the device to understand 
  what to do it MUST have some way of identifying users and knowing 
  which user is currently using it.  By separating the    user and 
  device properties it becomes clear what the user wishes to enable or 
  disable.    
       

 
               draft-somefolks-sipdevice-req-00               [Page 23] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  Providing an identifier in the configuration for the user gives an 
  explicit handle for the user.   For this to work the device MUST have 
  some way of identifying users and knowing which user is    currently 
  assigned to it.     
       
  One possible scenario for roaming is an administrator who has 
  definitions for several lines (e.g. one or more personal lines and 
  one for each executive for whom the administrator takes calls) that 
  they are registered for.  If the administrator goes to the copy room 
  they would sign-on to a device in that room and their user settings 
  (including their lines) would roam with them.   The    alternative to 
  this is to require the administrator to individually configure all of 
  the lines individually (which would be particularly irksome using 
  standard telephone button entry).  
       
  The management of user profiles, aggregation of user or device lines 
  and profile information from multiple management sources are 
  configuration server concerns which are out of the scope of this 
  document (see [7]).  However the ability to uniquely identify the 
  device and user within the configuration data enables easier server 
  based as well as local (i.e. on the device) configuration management 
  of the configuration data.  
   
  UserID-1:  User ID MAY be specified. If the user ID is specified, the 
  address-of-record URL MAY be specified for the line definition. 
          
            4.13 Line Related Settings 
   
  Line Identification 
                
  A line represents an address-of-record [9] identified by a URL.  
  There are many properties which MAY be associated with or SHOULD be 
  applied to the line or signaling addressed to or from the line. Lines 
  MAY be defined for a device or a user of the device. At least one 
  line MUST be defined in the configuration settings, this MAY pertain 
  to either the device itself or the user.   
       
  A line MUST provide a address or record URL which both distinguishes 
  the line and provides the URL which optionally will be registered for 
  the line. A user friendly display name SHOULD be taken from the 
  address-or-record URL for the line.   
       
  A line definition MUST specify whether the line SHOULD automatically 
  register with a registration server. It MUST be possible to specify 
  at least one set of realm, user name and authentication credentials 
  for each line. The user name and authentication credentials are used 
  upon authentication challenges [9].   
       
  A line definition MUST use call handling settings and the state of 
  the phone to determine how to handle inbound calls. Inbound calls MAY 
  be rejected, redirected, or accepted. 
 
               draft-somefolks-sipdevice-req-00               [Page 24] 
  SIP Telephony Device Requirements, Configuration and Data 
 
   
            4.14 Registration period      
   
  A line definition MAY contain a period (in seconds) which once 
  exceeded will cause the device to re-register its registration 
  server(s).  The default time is one hour.  
   
            4.15 Maximum connections      
   
  A setting defining the maximum number of simultaneous connections 
  that a device can support MUST be used by the device. Obviously the 
  end point has some maximum limit, most likely determined by the media 
  handling capability.  
   
  MaxConn-1: A SIP telephony device MAY support at least two 
  connections for three-way conference calls that are locally hosted. 
    
            4.16 Call handling 
   
  Call Handling settings define how the phone reacts to a new incoming 
  call given different situations. In some cases, an end user MAY want 
  to redirect calls to another party, rejected the call, or accepted 
  the call and alert the end user. Some settings tend to be change 
  irregularly like their voicemail forwarding address while others 
  settings such as the do not disturb state MAY change often. Private 
  networks and service provider networks MAY enable very sophisticated 
  call handling options that MAY be supported more effectively on SIP 
  servers, rather than in all SIP telephony devices. In such networks, 
  call handling options in the SIP telephony device MUST be disabled to 
  avoid feature interaction. 
   
  CallOptions-1: Local call handling options like forwarding, such as 
  to voice mail or other locations, available and busy behavior MUST 
  have the option of being disabled locally, in case these services are 
  provided by a SIP server.      
   
            4.17 Available Behavior  
       
  The Available Behavior defines how a new call is handled when the 
  phone is not actively engaged in a call or when Call Waiting is 
  enabled. Options include RING and FORWARD_ON_NO_ANSWER. A setting of 
  RING alerts the user (as defined by the Ringer Behavior in 3.2.3) for 
  a practical length of time before returning an error response to the 
  caller if not answered.  
   
  Available-1: All end points MUST use an available behavior setting. 
   
  Available-2: FORWARD_ON_NO_ANSWER SHOULD alert the user for a 
  configured amount of time (Forward on No Answer Timeout) and if not 
  answered, forward to the Forward on No Answer address.  
       
 
               draft-somefolks-sipdevice-req-00               [Page 25] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  The Forward on No Answer setting identifies the address forwarded to 
  after an alerting call exceeds the Forward On No Answer Timeout 
  period. End points MUST use this parameter if the available behavior 
  is set to FORWARD ON NO ANSWER and MAY define this parameter 
  otherwise.  
       
  The Forward on No Answer Timeout defines the length of time that a 
  user SHOULD be alerted for before the call is automatically redirect 
  to the Forward on no answer SIP URL. This parameter is specified in 
  seconds, where approximately 4 seconds is equivalent to a ring. End 
  points MUST use this parameter if the available behavior is set to 
  FORWARD ON NO ANSWER and MAY define this parameter otherwise. 
   
            4.18 Busy Behavior  
                
  The Busy Behavior defines how a new call is handled when the phone is 
  engaged in an active call and call waiting is disabled or when the 
  phone has reached the maximum number of connections.   Options 
  include BUSY and FORWARD. A BUSY setting instructs the phone to 
  respond with a 486/Busy here. A FORWARD setting redirects the caller 
  to the Forward on Busy Address.  
   
  Busy-1: All end points MUST use a busy behavior setting.  
       
  The Forward on Busy SIP URL setting identifies the address forwarded 
  to when the end point is busy. The end point is considered busy if a 
  call is active and call waiting is disabled and when the phone has 
  reached the maximum number of simultaneous connections. Since this 
  parameter is dependent on the busy behavior, end points MUST define 
  this setting if the BUSY behavior is set to FORWARD and MAY define 
  this setting otherwise. 
      
            4.19 Call Waiting Behavior    
                
  Call Waiting controls the behavior of new calls when an existing call 
  is already active and the device has not met the maximum number of 
  connections. Options include ALERT and BUSY, where ALERT will alert 
  the user as defined by the Ringing behavior and Available Behavior 
  and BUSY will follow the busy behavior logic. All end points MUST use 
  a call waiting behavior setting.  
       
  Fwd-1, Unconditional Forwarding: The Unconditional Forwarding setting 
  allows end users or administrators to forward all inbound calls to a 
  designated Unconditional Forwarding SIP URL. This is useful if one 
  wants to temporarily redirect all calls to another end point and 
  administrative access to the directory servers is unavailable.  
  Options include ENABLE and DISABLE, where ENABLE indicates that all 
  inbound calls will be redirected and DISABLE indicates that all 
  inbound calls will be treated as specified by the available, busy, 
  and call waiting behaviors. All end points MUST use unconditional 
  forwarding.  
 
               draft-somefolks-sipdevice-req-00               [Page 26] 
  SIP Telephony Device Requirements, Configuration and Data 
 
    
  The Unconditional Forwarding SIP URL identifies the address that 
  inbound calls are redirected to if Unconditional Forwarding is 
  enabled. All end points MUST use the unconditional forwarding  
  address if unconditional forwarding is enabled, otherwise they MAY 
  use it.      
   
            4.20 Do Not Disturb  
       
  The Do Not Disturb setting enables end users to quickly and easily 
  enable and disable inbound calls for a particular line. Options 
  include ENABLE and DISABLE, where ENABLE will handle a call as 
  indicated by the Do Not Disturb Method and DISABLE allows normal call 
  handling. This setting MUST be used by all end points.  
       
  This setting MAY seem redundant to other the parameters defined 
  within call handling, however, it addresses both an end user need 
  along with administrative requirements. In some configurations, an 
  end point MAY be configured to return a BUSY response to an inbound 
  call so that a user agent within the network can try another party. 
  The same results are required for Do Not Disturb.  
       
  DND-1: Do Not Disturb Method MUST be able to support multiple methods 
  of rejecting calls. Options include BUSY, FORWARD_ON_BUSY, and 
  FORWARD_ON_NO_ANSWER. A setting of BUSY will return a BUSY response 
  so that other network user agents can redirect the call as needed.  
  FORWARD_ON_BUSY will redirect the call to the FORWARD_ON_BUSY SIP URL 
  and FORWARD_ON_NO_ANSWER will for privacy reasons allow the caller to 
  believe the call is alerting before forwarding to the Forward on No 
  Answer SIP URL. 
   
      5. Configuration Data Representation 
   
  The section describes the requirements and format for an 
  implementation of the settings described in section 3. 
   
  Requirements for Configuration Data Representation  
       
  From reading section 4 it is apparent that many of the settings are 
  composite and related. As the number and complexity of the settings 
  grows it is useful from and administration point of view to be able 
  to easily relate settings.  
       
  This document recognizes that as features increase on devices, so 
  will the amount of settings. Any format proposed SHOULD be readily 
  and intuitively extensible.   
   
            5.1 Configuration Data Format - Examples 
       
  The choice of the configuration data formats are best left to the 
  discretion of the implementers and service providers. This document 
 
               draft-somefolks-sipdevice-req-00               [Page 27] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  illustrates however using XML as the file format for the 
  configuration settings primarily for the reasons stated above. XML 
  naturally maps the settings defined in section 5.  
       
  XML namespaces are a useful tool when processing documents which MAY 
  contain elements from more than one source. The default namespace for 
  any XML document using the definitions described in this document 
  MUST define the default namespace in the root node with a URL.  
  Vendors MAY add their own content within the XML document but MUST 
  provide qualified names with their own namespace.  
       
  The general format for the XML data is to have device and user 
  elements as direct children of the root node. Those elements will 
  contain all of the appropriate settings describe in section 5.   
       
  An example of an extension to the time zone setting is show below.      
       
     <settings xmlnshttp://someurl  
     xmlns:acme=http://amce.com>  
          <device>  
             <id>00:d0:1e:00:1a:0e</id>             
             <locale>  
                  <dstrule>NORTH AMERICA</dstrule>  
                  <timezone>America/Los_Angeles</timezone>  
                  <!-- vendor extension -->  
                  <acme:timezonedisplay>"PST"</acme:timezonedisplay >   
                  <timeserver>10.1.1.1</timeserver>  
                  <language>US:English</language>  
             </locale>  
          </device>          
          <user/>           
     </settings>  
       
            5.2 Format Definition  
    
  The definitions of the elements and attributes will not be included 
  in this version of the draft, given that only examples are shown 
  here. The examples follow to only illustrate some concepts of the 
  format. Section 5 defines the requirements from which the XML 
  elements and attributes will be derived.  The authors believe the 
  data format definitions and grammar for SIP telephony device 
  configuration data SHOULD be the object of separate documents.                     
                                       
            5.3 Handling of Unrecognized Element Names  
       
  The default rule [34] is that any element with an unrecognized name 
  is ignored (i.e. having an unrecognized namespace URI, or an 
  unrecognized local name within that namespace). This includes all of 
  the element content, even if it appears to use recognized names.  
       

 
               draft-somefolks-sipdevice-req-00               [Page 28] 
  SIP Telephony Device Requirements, Configuration and Data 
 
            5.4 Example XML Configuration Data 
       
  This section aims to provide some samples of the settings defined in 
  section 5, using XML [35].  A complete grammar/schema definition is 
  not provided here, since this serves as an example only.  
           
  Device settings  
   
  A.  Network Settings  
       
     <network>  
            <tcp>  
                  <port>5060</port>  
          </tcp>  
            <udp>  
                  <port>5060</port>  
          </udp>  
            <rtp>  
                  <ports>100</ports>  
          </rtp>  
            <dhcpLease>300</dhcpLease>  
            <externalIpAddress>10.1.1.1</externalIpAddress>  
             <httpOutboundProxy>  
                  <ipAddress>10.1.1.1</ipAddress>  
                  <port>80</port>  
          </httpOutboundProxy>  
             <ethnetDuplex value="full"/>       
        </network>  
          
  B. Address Completion  
       
     <addressCompletion>  
          <dialplan length="10"/>  
          <digitmap>  
                  <pattern>91XXXXXXXX</pattern>  
                  <targetAddress>sip:{digits}@provider1</targetAddress>  
                  <outboundProxy>proxy.provider1:port</outboundProxy>  
          </digitmap>  
          <digitmap>  
                  <pattern>011X*</pattern>  
                  <targetAddress>sip:internation</targetAddress>  
          </digitmap>  
     </addressCompletion>  
         
  C. Audio  
       
     <audio>  
          <codecs>  
                  <codec priority="1">G729</codec>  
                  <codec priority="3">G711</codec>  
                  <codec priority="2">aLAW</codec>   
 
               draft-somefolks-sipdevice-req-00               [Page 29] 
  SIP Telephony Device Requirements, Configuration and Data 
 
          </codecs>  
     </audio>  
       
       
  D. Line default settings  
       
     <lineDefaults>  
          <outboundProxy>10.1.1.1</outboundProxy>  
          <callHandling>  
                  <busy behavior=busy/>  
                  <callWaiting behavior=busy/>  
          </callHandling>  
     </lineDefaults>  
        
  E. Line definition (device)  
       
     <line aor-url=<Extension 123>sip:1234@Pingtel.com  
     register=provision>          
          <credential>  
                  <realm>Pingtel.com</realm>  
                  <userId>anon</userId>  
                  <passToken>password</passToken>  
          <credential>  
          <callHandling>  
                  <maxConnections>2</maxConnections>  
                  <available behavior=÷forward-no-answer÷>  
                          <seconds>32<seconds>  
                          <url>sip:admin@acme.com</url>  
                  </available>                      
          </callHandling>  
     </line>  
       
  In this example the outbound proxy and call handling settings defined 
  in the line default settings example SHOULD be used in addition to 
  the line definition. 
    
  User settings  
   
  F. Voice mail settings  
    
     <voicemail>  
          <mwi>10.1.1.1</mwi>  
          <retrieve>10.1.1.2</retrieve>  
     </voicemail>  
       
  G. Line definition (user)  
    
     <user>  
          <id><Fred Bloggs>sip:fbloggs@Pingtel.com</id>      
          <line aor-url=<Fred Bloggs>sip:fbloggs@Pingtel.com  
          register=register>      
 
               draft-somefolks-sipdevice-req-00               [Page 30] 
  SIP Telephony Device Requirements, Configuration and Data 
 
                  <credential>  
                          <realm>Pingtel.com</realm>  
                          <userId>fredb</userId>  
                          <passToken>abdc342RRe</passYoken>  
                  <credential>  
                  <credential>  
                          <realm>provider1.com</realm>  
                          <userId>fredbloggs</userId>  
                          <passToken>bdc42jjRe</passToken>  
                  <credential>         
                  <callHandling>            
                          <available behavior=busy/>              
                  </callHandling>  
          </line>     
     </user>  
        
  Credentials are supplied for two realms in this example.  In this 
  example the outbound proxy and call handling settings defined in the 
  line default settings example SHOULD be used in addition to the line 
  definition. 
      
      6. IANA Considerations 
   
   SIP Event Package Registration for Configuration  
       
  Package name: SIP Telephony Device Configuration   
        
  Type: package   
        
  Contact: [Stredicke]   
        
  Published Specification: This document.  
           
   MIME Registration for Application 
       
  The MIME Registration for application/sip-endpoint-configuration is: 
   
  MIME media type name: application   
        
  MIME subtype name: sip-endpoint-configuration  
        
  Required parameters: none.   
        
  Optional parameters: none.   
        
  Encoding considerations: See SIP [3] message header definition.  
        
  Security considerations: See the "Security Considerations" in  
  Section 8 n this document.   
        
  Interoperability considerations: none   
 
               draft-somefolks-sipdevice-req-00               [Page 31] 
  SIP Telephony Device Requirements, Configuration and Data 
 
        
  Published specification: This document.   
        
  Applications which use this media: SIP configuration server and 
  clients subscribing to these servers.  
            
  Additional information:   
        
  1. Magic number(s): N/A   
  2. File extension(s): N/A   
  3. Macintosh file type code: N/A.  
    
      7. SIP Telephony Device Security 
   
  The device configuration MAY contain sensitive information that 
  SHOULD be protected. Examples include authentication information, 
  private address books and call history entries. Because of this, it 
  is RECOMMENDED to use an encrypted transport mechanism for 
  configuration data.  Where devices use HTTP this could be TLS [36].  
  For devices which use FTP or TFTP for content delivery this can be 
  achieve using symmetric key encryption.   
       
  Access to retrieving configuration information is also an important 
  issue. Both configuration server and clients SHOULD be able to do 
  Digest authentication. A configuration server SHOULD challenge a 
  subscriber before sending configuration information           
       
      8. Acknowledgements 
   
  Ian Butcher from Pingtel and Jonathan Knight from WorldCom have 
  contributed significantly to earlier versions of parts of this 
  Internet Draft. The authors would like to thank Prof. Henning 
  Schulzrinne from Columbia University and Jay Batson from PingTel for 
  detailed comments to the draft.  Peter Baker from Polycom has also 
  provided valuable pointers to TIA/EIA IS 811 requirements to IP 
  phones that are referenced here. 
   
      9. Authors Addresses 
   
  Steven Lass 
  WorldCom 
  400 International Parkway 
  Richardson, TX  75081, USA 
  EMail: steven.lass@wcom.com 
  Phone: +1 972 729 4469 
   
  Daniel G. Petrie  
  Pingtel Corp.  
  400 W. Cummings Park  
  Suite 2200  
  Woburn, MA 01801, USA  
 
               draft-somefolks-sipdevice-req-00               [Page 32] 
  SIP Telephony Device Requirements, Configuration and Data 
 
  Phone: +1 781 938 5306  
  Email: dpetrie@pingtel.com 
   
  Henry Sinnreich 
  WorldCom 
  400 International Parkway 
  Richardson, TX  75081, USA 
  EMail: henry.sinnreich@wcom.com 
   
  Christian Stredicke  
  snom technology AG  
  Pascalstr. 10e                
  10587 Berlin, Germany 
  Phone: +49(30)39833-0          
  Email:  cs@snom.de 
   
   
     10. References
   
                     
  [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 
  Levels", BCP 14, RFC 2119, March 1997 
   
  [2] J. Rosenber et. al.:"SIP: Session Initiation Ptotocol, RFC 3261, 
  IETF, June 2002. 
   
  [3] A. Gulbrandsen et. al "A DNS RR for specifying the location of 
  services (DNS SRV)" RFC 2782, February 2000. 
   
  [4] A. Johnston et al. "SIP Service Examples", IETF, June 2002, work 
  in progress. 
   
  [5] R. Mahy: "A Message Summary and Message Waiting Indication Event 
  Package for the Session Initiation Protocol (SIP)", IETF, October 
  2002, work in progress. 
   
  [6] R. Sparks: "SIP Call Control - Transfer", IETF, July 2001, work 
  in progress. 
   
  [7] H. Schulzrinne et al: "RTP Payload for DTMF Digits, Telephony 
  Tones and Telephony Signals', RFC 2833, IETF, May 2000. 
   
  [8] J. Rosenberg and H. Schulzrinne: "An Offer/Answer Model with the 
  Session Description Protocol (SDP)", RFC 3264, IETF, June 2002. 
   
  [9] ITU-T Recommendation T.38, "Procedures for real-time Group 3 
  facsimile communication over IP networks", June 1998. 
   
  [10] A. Johnston et al.: "Session Initiation Protocol Torture Test 
  Messages". IETF, Feb. 2002, work in progress. 

 
               draft-somefolks-sipdevice-req-00               [Page 33] 
  SIP Telephony Device Requirements, Configuration and Data 
 
                                                                         
   
  [11] M. Handley et al.: "SDP: Session Initiation Protocol", RFC 2327. 
  IETF, April 1998. 
   
  [12] H. Schulzrinne et al.: " RTP: A Transport Protocol for Real-Time 
  Applications", RFC 1889, IETF, January 1996.  
   
  [13] H. Schulzrinne et al.: "RTP Profile for Audio and Video 
  Conferences with Minimal Control", RFC 1890, IETF, January 1996. 
   
  [14] The Multiparty Multimedia Session Control (mmusic) IETF working 
  Group site, http://ietf.org/html.charters/mmusic-charter.html 
   
  [15] Steven Andersen et. al.: "Internet Low Bit Rate Codec", IETF, 
  September 2002, work in progress. 
   
  [16] R. Zopf: "Real-time Transport Protocol (RTP) Payload for Comfort 
  Noise (CN) ", RFC 3389, IETF, September 2002. 
   
  [17] TIA/EIA-810-A, "Transmission Requirements for Narrowband Voice 
  over IP and Voice over PCM Digital Wireline Telephones", July 2000. 
   
  [18] TIA-EIA-IS-811, "Terminal Equipment - Peformance and 
  Interoperability Requirements for Voice-over-IP (VoIP) Feature 
  Telephones", July 2000. 
   
  [19] H. Schulzrinne et. al.: " Session Initiation Protocol (SIP) 
  Caller Preferences and Callee Capabilities", IETF, July 2002, work in 
  progress. 
   
  [20] J. Rosenberg et al.: " Best Current Practices for Third Party 
  Call Control in the Session Initiation Protocol", IETF, June 2002, 
  work in progress. 
   
  [21] J. Rosenberg: " Session Initiation Protocol (SIP) Extensions for 
  Presence", IETF, May 2002, work in progress. 
   
  [22] J. Rosenberg et al. " STUN - Simple Traversal of UDP Through 
  Network Address Translators", Internet Draft, IETF, April 2002, work 
  in progress.  
   
  [23] D. Petrie and C. Jennings: " Requirements for SIP User Agent 
  Profile Delivery Framework", IETF, June 2002. Work in progress. 
   
  [24] G.Nair, H.Schulzrinne , DHCP Option for SIP Servers, <draft-
  ietf-sip-dhcp-06.txt>, IETF; March 1, 2002, Work in progress. 
   



 
               draft-somefolks-sipdevice-req-00               [Page 34] 
  SIP Telephony Device Requirements, Configuration and Data 
 
                                                                         
  [25] M. Mealling and R. Daniel, "The naming authority pointer (NAPTR) 
  DNS resource record," Request for Comments 2915, Internet Engineering 
  Task Force, Sept. 2000. 
   
  [26] "SIP End Point Configuration Data Format" by C. Stredicke and 
  Ian Butcher. Internet Draft, IETF, February 2002, work in progress. 
   
  [27] Nichols, K., Blake, S., Baker, F. and D. Black, "Definition of 
  the Differentiated Services Field (DS Field) in the IPv4 and IPv6 
  Headers", RFC 2474, December 1998. 
   
  [28] ISO/IEC 15802-3: 1998 ANSI/IEEE Std 802.1D, 1998 Edition, 
  Information technology - Telecommunications and information exchange 
  between systems - Local and metropolitan area networks - Common 
  specifications - Part 3: Media Access Control (MAC) Bridges. 
   
  [29] IEEE Std 802.1Q-1998, IEEE Standards for Local and Metropolitan 
  Area Networks: Virtual Bridged Local Area Networks. 
   
  [30] H. Schulzrinne, S. Petrack, RTP Payload for DTMF Digits, 
  Telephony Tones and Telephony Signals, IETF, RFC 2833, May 2000. 
   
  [31] P. Eggert, "Sources for time zone and daylight saving time 
  data." Available at http://www.twinsun.com/tz/tz-link.htm 
   
  [32] H. Alvestrand "Tags for the Identification of Languages", RFC 
  3066, IETF, January 2001. 
   
  [33] R. Mahy et al.: " A Multi-party Application Framework for SIP", 
  Internet Draft, IETF, June 2002, work in progress. 
   
  [34] H. Sugano et. al.: "Common Presence and Instant Messaging (CPIM) 
  Presence Information Data Format". Internet Draft, IETF, October 
  2002, work in progress. 
   
  [35] T. Bray, J. Paoli, C. Sperberg-McQueen and E. Maler, "Extensible 
  Markup Language (XML) 1.0 (Second Edition)",   W3C Recommendation, 
  October 2000,   <http://www.w3.org/TR/2000/REC-xml-20001006>. 
   
  [36] "HTTP over TLS" by E. Rescorla, RFC 2818, IETF, May 2000. 
       
       
       
       
       
       
       
       
       

 
               draft-somefolks-sipdevice-req-00               [Page 35] 
  SIP Telephony Device Requirements, Configuration and Data 
 
                                                                         
Full Copyright Statement 
   
  Copyright (C) The Internet Society (2002).  All Rights Reserved. 
   
  This document and translations of it may be copied and furnished to    
  others, and derivative works that comment on or otherwise explain it 
  or assist in its implementation may be prepared, copied, published    
  and distributed, in whole or in part, without restriction of any 
  kind, provided that the above copyright notice and this paragraph are    
  included on all such copies and derivative works.  However, this    
  document itself may not be modified in any way, such as by removing    
  the copyright notice or references to the Internet Society or other    
  Internet organizations, except as needed for the purpose of    
  developing Internet standards in which case the procedures for    
  copyrights defined in the Internet Standards process must be    
  followed, or as required to translate it into languages other than    
  English. 
   
  The limited permissions granted above are perpetual and will not be    
  revoked by the Internet Society or its successors or assigns. 
  This document and the information contained herein is provided on an    
  "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING    
  TASK FORCE DISCLAIMS 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. 
   























 
               draft-somefolks-sipdevice-req-00               [Page 36] 


PAFTECH AB 2003-20262026-04-21 20:26:29