Internet DRAFT - draft-mukundan-sipping-dpnss

draft-mukundan-sipping-dpnss







Internet Engineering Task Force                              R. Mukundan
                                                           V. Seshasayee
                                                      Wipro Technologies
                                                            K. Morneault
                                                           Cisco Systems
                                                              R. Shiroor
                                                    Sasken Communication
                                                  Narsimuloo Mangalpally
                                                         Nortel Networks
                                                           S. Naganathan
                                                 Hughes Software Systems
Expires in December 2003                                       June 2003




                  MIME media types for DPNSS Objects
                <draft-mukundan-sipping-dpnss-02.txt>


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 describes Multipart Internet Mail Extensions (MIME)
   type for application/Digital Private Network Signaling System (DPNSS)
   objects for use in Session Initiation Protocol (SIP) applications,
   according to the rules defined in RFC 2048. These types can be used
   to identify Digital Private Network Signaling System 1 (DPNSS 1)
   objects within a SIP message such as INVITE or INFO, as might be
   implemented when using SIP in an environment where part of the call
   involves interworking to DPNSS 1 based Private Networks. RFC 3204
   addresses a similar need for Integrated Service Digital Network
   User Part (ISUP) and Q Signaling (QSIG).
Mukundan, et al.                                                [Page 1]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003

1.  Introduction
    
   DPNSS 1 [2], henceforth referred to as just DPNSS, is an industry
   standard private-Network Node Interface (NNI) - specified by Office
   of Telecommunication's (Oftel) Network Interoperability Consultative
   Committee (NICC) document, ND1301:2001/03 [2] (previously definined
   by British Telecom Network Requirements (BTNR) 188 [11]). It is
   defined between a Private Branch Exchange (PBX) and an Access
   Network (AN). DPNSS extends facilities normally only available
   between extensions on a single PBX to all extensions on PBXs that
   are connected together in a private network.

   There are configurations in which DPNSS encoded signaling information
   needs to be transported between SIP [3] entities as part of the
   payload of SIP messages, where the preservation of DPNSS data is
   necessary for the proper operation of DPNSS based, private network
   features. DPNSS call signalling and end-to-end signalling messages'
   semantic is similar to that of SIP - there by rendering the
   SIP-T [12] architecture as an appropriate mechanism of DPNSS message
   object carriage in SIP.

   There exists equivalent, currently deployed, mechanisms that allow
   carriage of DPNSS data transparently over an ISUP network in a SS7
   environment or over an H.323 network in a IP based environment where
   part of the call involves interworking to DPNSS based Private
   Networks.

   The Figure 1 below depicts a typical setup where application/DPNSS
   media type could be used.

                                 +---+
 +-----+         +---------+    /     \    +---------+         +-----+
 |     |         |         |   /       \   |         |         |     |
 |DPNSS|--DPNSS--|DPNSS-SIP|--+   SIP   +--|DPNSS-SIP|--DPNSS--|DPNSS|
 | PBX | (E1/T1) |  Gateway|  |   N/w   |  | Gateway |         | PBX |
 +-----+         +---------+   \       /   +---------+         +-----+
                                +-----+
  Figure 1: Typical Network Configuration for application/DPNSS in SIP
       
   There could also be 'mixed' configurations, where DPNSS data may have
   to be transparently passed between DPNSS based private networks over
   intervening SIP *and* ISUP networks - where the DPNSS data
   encapsulated in the ISUP message could be transferred over SIP
   network using the application/DPNSS media type defined in this
   document.

   This document is specific to the transport of DPNSS data between SIP
   entities and would not apply to the transportation of DPNSS messages
   in other applications. This media type is intended for DPNSS
   application information that is used within the context of a SIP
   session, and not as a general purpose transport of Switched Circuit
   Network (SCN) signaling.

   

Mukundan, et al.                                                [Page 2]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003

   The definition of media type for DPNSS application information does
   not address fully how the non-SIP and SIP entities exchanging
   messages determine or negotiate compatibility. It is assumed that
   this is addressed by alternative means such as the configuration of
   the interworking functions. This document also does not address
   aspects of interworking messages and parameters between DPNSS and SIP
   networks.

   This is intended to be an IETF approved MIME type, and to be defined
   through an RFC.

2. The application/DPNSS media type

   DPNSS messages are composed of arbitrarily occurring (in terms of the
   octets' position in the message), heterogeneously encoded
   International Reference Alphabet (IRA; previously known as
   International Alphabet No.5 or IA5) [10] binary octets. Further, the
   IRA binary encoded octets could either be 1B2I-IRA or 3B4I-IRA
   encoded (refer to Oftel's ND1301:2001/03, Section 4, Annex 2,
   Issue 7, Sub-section 5 for the definition of 1B2I/3B4I-IA5 encoding)
   - all formatted as per the syntax defined in Oftel's ND1301:2001/03,
   that is transparent to SIP processing. Hence, the best way to encode
   application/DPNSS as a MIME object is to use binary encoding. This is
   in conformance with the restrictions imposed on the use of binary
   data for MIME (RFC 2045 [5]). Note that, the rules mentioned in the
   RFC 2045 apply to Internet mail messages and not to SIP messages.

   DPNSS layer 3 messages, as defined by ND1301:2001/03, do not have a
   message length field. The application/DPNSS mime encoded data shall
   be prepended (before DPNSS Message Group/Type message header) with a
   single binary coded octet message length field that represents the
   decimal value of the message length. Hence, though a DPNSS layer 3
   message as defined by ND1301:2001/03, can only be a maximum of 45
   octets, the binary encoded MIME representation of application/DPNSS
   can be a maximum of 46 octets. The message length field value shall
   indicate the actual length of DPNSS layer 3 message being MIME
   encoded - hence, it's decimal value can range from 1 to 45 based on
   the DPNSS layer 3 message length.

   Though the number of bytes of DPNSS data received can be computed
   (for example, by doing a byte count of the MIME body content) by the
   DPNSS layer 3 application at the receiver end, the (apparently
   redundant) message length field will aid easy implementation of
   processing the DPNSS data at the receiver end.

   A typical implementation would remove the message length octet before
   passing on the DPNSS data to the DPNSS layer 3 application; the
   message length can be passed on to the DPNSS layer 3 application
   using a primitive of local significance.

   Refer section 4 - 'Illustrative example' for additional details.




Mukundan, et al.                                                [Page 3]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003

2.1 Message Buffering Option
  
   ND1301:2001/03, specifies the DPNSS layer 3 message length to be a
   maximum of 45 octets. This max limit on the layer 3 message length is
   arrived at based on the max limit set on the Information field of the
   UI(C) (Unnumbered Information-Complete), DPNSS layer 2 frame.
   However, for communication between two peer DPNSS layer 3
   applications over an intervening SIP network, it would be desirable
   to buffer multiple DPNSS 'incomplete' ('incomplete' as defined in
   ND1303:2001/03) messages


   (e.g., buffer multiple EEM-Is; EEM-Is are DPNSS layer 3 End-to-End
   incomplete messages) at the sender's end and transfer it as a single
   DPNSS 'complete' ('complete' as defined in ND1301:2001/03) or
   'incomplete' message (e.g., as a single EEM-C or EEM-I; an EEM-C is a
   DPNSS layer 3 End-to-End complete message) in the MIME body.

   It is up to the sending and receiving DPNSS layer 3 application to
   handle the 'oversized' DPNSS layer 3 messages - for e.g., the
   receiving DPNSS layer 3 application could fragment the 'oversized'
   DPNSS 'complete' message to it's constituent 'incomplete' messages at
   the start of message processing.

   It is assumed that the availability of support for this buffering
   option would be known beforehand by way of configuration (e.g.,
   BUFFERING = YES/NO provisioned for a DPNSS network or interface) or
   other alternative means. 
  
   This simple buffering method would improve the real-time performance
   for DPNSS layer 3 message processing and reduces the number of SIP
   messages required (and consequently the signaling traffic and
   associated overheads).  For example, it would be more efficient to
   send one DPNSS layer 3 EEM-C of 221 octets as a MIME object in one
   SIP message instead of sending five DPNSS layer 3 EEM-Is of 45 Octets
   each as MIME object in 5 SIP messages. Note that, as is evident from
   this example, only the Indication fields are concatenated and the
   same message type octet is used for the new oversized Indication
   field - leaving the overall syntax of the messages unaffected, except
   for the overall size.
  
   Hence, with the Message Buffering option, the binary encoded MIME
   representation of application/DPNSS can be a maximum of 255 octets.
   The message length field value shall indicate the actual length of
   buffered DPNSS layer 3 message being MIME encoded - hence, it's
   decimal value can range from 1 to 255 based on the buffered DPNSS
   layer 3 message length.








Mukundan, et al.                                                [Page 4]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003

   
   The buffering shall be applicable only to 'incomplete' segmented
   DPNSS layer 3 messages. For example, multiple EEM-Is can be buffered
   and sent as one EEM-C or as one EEM-I (if the length of the buffered
   EEM-Is were to exceed 255 octets); buffering shall not be applied to
   multiple EEM-Cs or fragments of EEM-Is and/or EEM-Cs. Also, buffering
   shall not affect the syntax of the DPNSS layer 3 messages (e.g., only
   the Selection Field and Indication Field can be concatenated to form 
   an oversized Selection or Indication Field) except for it's overall
   size.

   The buffering option shall not be applicable to 'incomplete' messages
   that are not a result of segmentation of messages - i.e., the
   buffering option shall not be applicable to messages such as ISRM-Is,
   SSRM-Is or EEM-Is that are a result of overlap signaling procedures
   or other such non-segmentation equivalent procedures. An exception to
   this is when the DPNSS <-> SIP gateway is executing a DPNSS transit
   function - in which case, it must buffer the EEM-Is based on a PBX
   specfic timer, irrespective of the buffering option. As indicated in
   ND1301:2001/03, segmentation of DPNSS layer 3 messages occurs, when
   the message Protocol Data Unit (PDU) boundary exeeds 45 octets -
   buffering shall only be applicable to such messages, resulting from
   segmentation.

   Implementation of the buffering mechanism for the incomplete
   segmented messages can be based on a PBX specific "segmentation
   timer" similar to the PBX specific transit timer used for
   concatenating multiple EEM-Is at a transit PBX.

   Though, buffering is specified as an option (rather than as a
   mandatory requirement for carriage of DPNSS objects in SIP), it is
   strongly recommended that this option be implemented and used, for
   the obvious network usage efficiency it offers. However, as there
   already are DPNSS gateway implementations that does not employ
   buffering options whilst interworking to H.323 or SS7 networks,
   retaining buffering as an option allows for a smoother migration path
   vis-a-vis mandating it.
 
2.2 DPNSS <-> SIP Gateway as a Transit PBX function

   In order to ensure the proper functioning of the various end-node
   procedures and timers despite the delay that an intervening IP based
   SIP network might potentially introduce, the DPNSS <-> SIP gateway
   shall be conformant to the DPNSS transit functionality as specified
   by ND1301:2001/03.
   
   For example, the DPNSS <-> SIP gateway shall buffer all the EEM-Is
   before passing it on over the SIP network irrespective of the
   buffering option described in the previous section - based on a 
   PBX specific incoming EEM-I time-out timer at the DPNSS <-> SIP 
   gateway. Similarly, the gateway shall respond with a CIM on 
   receipt of a CRM apart from passing the CRM on the SIP side as a
   MIME object.


Mukundan, et al.                                                [Page 5]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003


2.3 Single DPNSS call per SIP dialogue

   Support of multiple DPNSS calls in series and/or in parallel over a
   semi-permanent SIP dialogue, is not considered in this specification.
   This document deals with supporing just one DPNSS call per SIP
   dialogue.

3. The DPNSS Media Type

   This media type is defined by the following information:

   Media type name: application
   Media subtype name: DPNSS
   Required parameters: none
   Optional parameters: version
   Encoding scheme: binary
   Security considerations: See section 5.

3.1 The Version Parameter

   The use of the 'version' parameter allows identification of different
   versions (indicative of the issue of ND1301:2001/03 - previously
   BTNR 188 publication) of DPNSS protocol specification. This allows
   for correct interoperation amongst DPNSS PBXs supporting different
   issues of the DPNSS protocol.

   Though the DPNSS protocol is 'specification-wise' perfectly 
   (backward/forward) compatible with the different issue versions, the
   introduction of an explict version parameter would help in better
   'protocol de-bugging', whilst interconnecting PBXs compliant to
   different issues of ND1301:2001/03 [2] or BTNR [11].
 


   Table 1 below is a list of protocol issues supported by the
   'application/DPNSS' media type.

                   Table 1: DPNSS Protocol issues
 
      version                          protocol
      -------      ------------------------------------------------
       1.00         DPNSS protocol issue 1 (BTNR 188, May 1983)
       2.00         DPNSS protocol issue 2 (BTNR 188, February 1984)
       3.00         DPNSS protocol issue 3 (BTNR 188, September 1984)
       4.00         DPNSS protocol issue 4 (BTNR 188, March 1986)
       5.00         DPNSS protocol issue 5 (BTNR 188, December 1989)
       6.00         DPNSS protocol issue 6 (BTNR 188, January 1995)
       7.00         DPNSS protocol issue 7 (ND1301:2001/03, March 2001)






Mukundan, et al.                                                [Page 6]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003 

   To support new issues of DPNSS protocol specification, that may be
   published in the future, the 'version' field shall be a decimal value
   and shall have one-to-one correspondence with the ND1301:2001/03 or
   BTNR DPNSS protocol specification issue number. For example, if a new
   DPNSS protocol specification issue 8 were to be released in June
   2004, then the 'version' value will be 8.00; if the one released next
   were to have the issue number 8.1, then the 'version' value will be
   8.10; the one with sub-issue number 8.11 (in case there were to be
   sub-issues as well in the future) will have 'version' value of 8.11
   and so on.

3.2 The Content-Disposition Header

   The DPNSS Media type shall use the Content-Disposition header defined
   in RFC 3204 [9]. The Content-Disposition header [7] may be included
   to describe how the encapsulated DPNSS is to be processed, and in
   particular what the handling should be if the received Content-Type
   is not recognized. The default disposition-type for a DPNSS message
   body is "signal". This type indicates that the body part contains
   signaling information associated with the session, but does not
   describe the session.

   Supplementing the description of the Content-Disposition header in
   [7], as well as any characterization of the Content-Disposition
   header in the SIP standard, is the following BNF describing
   disposition-types and disposition-params that may be used in the
   header of DPNSS MIME bodies. This is reproduced here from RFC 3204
   as-is.

      Content-Disposition   =  "Content-Disposition" ":"
                           disposition-type *( ";" disposition-param )
      disposition-type      =  "signal" |  disp-extension-token
      disposition-param     =  "handling" "="
                           ( "optional" | "required" | other-handling )
                           |   generic-param
      other-handling        =  token
      disp-extension-token  =  token
   
The following is how a typical header would look:
 
      Content-Type: application/DPNSS; version=6.00
      Content-Disposition: signal; handling=optional

   The handling parameter, handling-parm, describes how the SIP User
   Agent Server (UAS) process should react if it receives a message body

   whose content type or disposition type it does not understand. If the
   parameter has the value "optional", the UAS MUST ignore the message
   body; if it has the value "required", the UAS MUST return 415
   (Unsupported Media Type). If the handling parameter is missing, the
   value "required" is to be assumed.

4. Illustrative example


Mukundan, et al.                                                [Page 7]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003

   SIP message format requires a Request line followed by Header lines
   followed by a CRLF separator followed by the message body. To
   illustrate the use of the 'application/DPNSS' media type, below is an
   INVITE message which has the originating SDP information and an
   encapsulated DPNSS Initial Service Request Message (ISRM).

   Note that the two payloads are demarcated by the boundary parameter
   (specified in RFC 2046 [6]) which in the example has the value
   "unique-mime-boundary".

         INVITE sip:91805538301@k1.wipro.com SIP/2.0
         Via: SIP/2.0/UDP ec.wipro.com
         From: sip:91808520408@ec.wipro.com
         To: sip:91805538301@k1.wipro.com
         Call-ID: EC43234589182765500455555@ec.wipro.com
         CSeq: 4567 INVITE
         Contact: <sip:dummy@wipro.com>
         Content-Length: 384
         Content-Type: multipart/mixed; boundary=unique-mime-boundary
         MIME-Version: 1.0

         --unique-mime-boundary
         Content-Type: application/SDP; charset=ISO-10646

         v=0
         o=dummy 2890844526 2890842807 IN IP4  166.218.71.81
         s=SDP seminar
         c=IN IP4 MG121.wipro.com
         t= 2873397496  2873404696
         m=audio 9092 RTP/AVP 0 3 4

         --unique-mime-boundary
         Content-Type: application/DPNSS; version=1;
         Content-Disposition: signal; handling=optional

         24 00 10 2A 31 23 2A 35 30 2A 38 37 32 38 38 35 
         38 23 35 39 30 32 33 36 30 
         --unique-mime-boundary

   In this example:

     Message length = 24 
     Message type = 00 (ISRM)
     Service Indication Code (SIC) = 10 (64 kbs A-law Speech)
     Calling Line Category (CLC) = 1 (Ordinary)
     Originating Line Identity (OLI) = 872 8858
     Destination Address = 590 2360 

   Typically, DPNSS layer 3 messages are represented using formal IA5 
   notation; hence, the DPNSS layer 3 message used in the example can be
   represented (leaving out the message type and SIC field) as:
   
                       *1#*50*8728858#5902360


Mukundan, et al.                                                [Page 8]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003

   Note: Since binary encoding is used in the MIME body for the DPNSS
   payload, each byte is encoded as a byte, and not as a two-character
   hex or decimal representation. In the example above, decimal
   representation of integer values are used to represent the message
   length, message type and the SIC fields; rest of the fields are
   represented as 1B2A-IA5 because a literal (binary) encoding of those
   bytes would have been confusing and unreadable.

5. Security considerations

   Information contained in the DPNSS MIME body may include sensitive
   customer information, potentially requiring use of encryption.

   Security mechanisms are provided in RFC 3261 (SIP - Session
   Initiation Protocol) and should be used as appropriate for both the
   SIP message and the encapsulated DPNSS body.

6. IANA considerations

   This document registers the "application/DPNSS" MIME media type.

   Registrations for the 'version' symbols used within the DPNSS MIME
   type must specify a definitive specification reference, identifying
   a particular issue of the specification, to which the new symbol
   shall refer.

   Note that where a specification is fully peer-to-peer backwards
   compatible with a previous issue (i.e., the compatibility mechanism
   is supported by both), then there is no need for separate symbols to
   be registered. The symbol for the original specification should be
   used to identify backwards-compatible upgrades of that specification
   as well.

7. Acknowledgements
 
  We would like to thank Prakasha M.R. (prakashar@huawei.com) for 
  conceiving the need for DPNSS MIME type definition in SIP; and the 
  following folks for providing useful comments/insights on the SIPPING
  list: John Elwell, Mark Watson, Mark Ashwort, Jonathan Rosenberg, Adam
  Roach & Jon Peterson.
   
8. References

8.1 Normative References


   [1] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
       9, RFC 2026, October 1996.

   [2] Oftel's ND1301:2001/03, DPNSS [188], Digital Private Signalling
       System No 1 (DPNSS 1).




Mukundan, et al.                                                [Page 9]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003

   [3] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J.
       Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP: session
       initiation protocol", RFC 3261, Internet Engineering Task Force,
       June 2002.

   [4] Freed, N., Klensin, J. and J. Postel, "Multipart Internet Mail
       Extensions (MIME) Part Four: Registration Procedures", BCP 13,
       RFC 2048, November 1996.

   [5] Freed, N. and N. Borenstein, "Multipart Internet Mail Extensions
       (MIME) Part One: Format of Internet Message Bodies", RFC 2045,
       November 1996.

   [6] Freed, N. and N. Borenstein, "Multipart Internet Mail Extensions
       (MIME) Part Two: Media Types", RFC 2046, November 1996.

   [7] Troost, R., Dorner, S. and K. Moore, "Communicating Presentation
       Information in Internet Messages: The Content-Disposition Header
       Field", RFC 2183, August 1997.

   [8] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
       Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

   [9] E. Zimmerer, J. Peterson, A. Vemuri, L. Ong, F. Audet, M. Watson
       and M. Zonoun, "MIME media types for ISUP and QSIG Objects",
       RFC 3204, December 2001.

8.2 Informative References

  [10] ITU-T T.50 (09/1992): International Reference Alphabet (IRA), 
       Information Technology - 7-Bit Coded Character Set for 
       Information Exchange.

  [11] BTNR (British Telecom Network Requirements) 188 Issue 6 Digital
       Private Network Signaling System 1.

  [12] A. Vemuri, J. Peterson, "Session Initiation Protocol for
       Telephones (SIP-T): Context and Architectures", RFC 3372,
       September 2002.

9. Authors Addresses
 
      Ranjith Mukundan             Phone: +91-80-51195893
      Wipro Technologies           Email: ranjith.mukundan@wipro.com
      72, Electronics City,
      Hosur Main Road,
      Bangalore 560100
      India
   
      Venkatesh Seshasayee         Phone: +91-80-8520408 x2109
      Wipro Technologies           Email: venkatesh.seshasayee@wipro.com
      72, Electronics City,
      Hosur Main Road,
      Bangalore 560100
      India
Mukundan, et al.                                               [Page 10]

Internet Draft     draft-mukundan-sipping-dpnss-02.txt         June 2003 
 
      Ken Morneault                Phone: +1-703-484-3323
      Cisco Systems Inc.           EMail: kmorneau@cisco.com
      13615 Dulles Technology Drive
      Herndon, VA. 20171
      USA

      Ravi Shiroor                 Phone: +91-80-5355501 x2065
      Sasken Comm. Tech. Ltd.      EMail: ravis@sasken.com
      139/25, Amar Jyothi Layout,
      Bangalore 560040
      India

      Narsimuloo Mangalpally       Phone: +1-613-967-5034
      Nortel Networks              EMail: narsim@nortelnetworks.com
      250 Sidney Street
      Belleville, Ontario K8P 3Z3
      Canada
  
      Sudarshan Naganathan         Phone: +91-80-2286390 x7065
      Hughes Software Systems      EMail: nsudarshan@hss.hns.com 
      146, Infantry Road
      Bangalore 560001
      India
































Mukundan, et al.                                               [Page 11]