Independent Submission                                  D. Zisiadis, Ed.
Request for Comments: 6137                              S. Kopsidas, Ed.
Category: Experimental                                    M. Tsavli, Ed.
ISSN: 2070-1721                                                    CERTH
                                                        G. Cessieux, Ed.
                                                                    CNRS
                                                           February 2011


             The Network Trouble Ticket Data Model (NTTDM)

Abstract

   Handling multiple sets of network trouble tickets (TTs) originating
   from different participants' inter-connected network environments
   poses a series of challenges for the involved institutions.  A Grid
   is a good example of such a multi-domain project.  Each of the
   participants follows different procedures for handling trouble in its
   domain, according to the local technical and linguistic profile.  The
   TT systems of the participants collect, represent, and disseminate TT
   information in different formats.

   As a result, management of the daily workload by a central Network
   Operation Centre (NOC) is a challenge on its own.  Normalization of
   TTs to a common format at the central NOC can ease presentation,
   storing, and handling of the TTs.  In the present document, we
   provide a model for automating the collection and normalization of
   the TT received by multiple networks forming the Grid.  Each of the
   participants is using its home TT system within its domain for
   handling trouble incidents, whereas the central NOC is gathering the
   tickets in the normalized format for repository and handling.  XML is
   used as the common representation language.  The model was defined
   and used as part of the networking support activity of the EGEE
   (Enabling Grids for E-sciencE) project.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for examination, experimental implementation, and
   evaluation.

   This document defines an Experimental Protocol for the Internet
   community.  This is a contribution to the RFC Series, independently
   of any other RFC stream.  The RFC Editor has chosen to publish this
   document at its discretion and makes no statement about its value for
   implementation or deployment.  Documents approved for publication by
   the RFC Editor are not a candidate for any level of Internet
   Standard; see Section 2 of RFC 5741.



Zisiadis, et al.              Experimental                      [Page 1]


RFC 6137                          NTTDM                    February 2011


   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6137.

Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.

Table of Contents

   1. Introduction ....................................................4
      1.1. Terminology ................................................5
      1.2. Notations ..................................................6
      1.3. About the Network Trouble Ticket Data Model ................6
      1.4. About the Network Trouble Ticket Implementation ............7
      1.5. Future Plans ...............................................7
   2. NTTDM Types and Definitions .....................................7
      2.1. Types and Definitions for the TYPE Attribute ...............8
           2.1.1. Defined .............................................8
           2.1.2. Free ................................................8
           2.1.3. Multiple ............................................8
           2.1.4. List ................................................8
      2.2. Types and Definitions for the VALID FORMAT Attributes ......9
           2.2.1. Predefined String ...................................9
                  2.2.1.1. Definitions of the Predefined Values ......10
           2.2.2. String .............................................13
           2.2.3. Datetime ...........................................13
   3. NTTDM ..........................................................14
      3.1. NTTDM Components ..........................................14
           3.1.1. NTTDM Attributes ...................................14
      3.2. NTTDM Aggregate Classes ...................................15
           3.2.1. NTTDM-Document Class ...............................15
           3.2.2. Ticket Class .......................................15
           3.2.3. Ticket Origin Information ..........................17
                  3.2.3.1. PARTNER_ID ................................17
                  3.2.3.2. ORIGINAL_ID ...............................17
           3.2.4. Ticket Information .................................17
                  3.2.4.1. TT_ID .....................................17
                  3.2.4.2. TT_TITLE ..................................18
                  3.2.4.3. TT_TYPE ...................................18



Zisiadis, et al.              Experimental                      [Page 2]


RFC 6137                          NTTDM                    February 2011


                  3.2.4.4. TT_PRIORITY ...............................18
                  3.2.4.5. TT_STATUS .................................19
                  3.2.4.6. TT_SOURCE .................................19
                  3.2.4.7. TT_OPEN_DATETIME ..........................19
                  3.2.4.8. TT_CLOSE_DATETIME .........................20
           3.2.5. Trouble Details ....................................20
                  3.2.5.1. TT_SHORT_DESCRIPTION ......................20
                  3.2.5.2. TT_LONG_DESCRIPTION .......................20
                  3.2.5.3. TYPE ......................................21
                  3.2.5.4. TT_IMPACT_ASSESSMENT ......................21
                  3.2.5.5. START_DATETIME ............................21
                  3.2.5.6. DETECT_DATETIME ...........................22
                  3.2.5.7. REPORT_DATETIME ...........................22
                  3.2.5.8. END_DATETIME ..............................22
                  3.2.5.9. TT_LAST_UPDATE_TIME .......................23
                  3.2.5.10. TIME_WINDOW_START ........................23
                  3.2.5.11. TIME_WINDOW_END ..........................23
                  3.2.5.12. WORK_PLAN_START_DATETIME .................24
                  3.2.5.13. WORK_PLAN_END_DATETIME ...................24
           3.2.6. Related Data .......................................24
                  3.2.6.1. RELATED_EXTERNAL_TICKETS ..................24
                  3.2.6.2. ADDITIONAL_DATA ...........................25
                  3.2.6.3. RELATED_ACTIVITY ..........................25
                  3.2.6.4. HISTORY ...................................25
           3.2.7. Localization and Impact ............................26
                  3.2.7.1. AFFECTED_COMMUNITY ........................26
                  3.2.7.2. AFFECTED_SERVICE ..........................26
                  3.2.7.3. LOCATION ..................................26
                  3.2.7.4. NETWORK_NODE ..............................27
                  3.2.7.5. NETWORK_LINK_CIRCUIT ......................27
                  3.2.7.6. END_LINE_LOCATION_A .......................27
                  3.2.7.7. END_LINE_LOCATION_B .......................28
           3.2.8. Contact Information ................................28
                  3.2.8.1. OPEN_ENGINEER .............................28
                  3.2.8.2. CONTACT_ENGINEERS .........................28
                  3.2.8.3. CLOSE_ENGINEER ............................29
           3.2.9. Security ...........................................29
                  3.2.9.1. HASH ......................................29
      3.3. NTTDM Representation ......................................29
   4. Internationalization Issues ....................................31
   5. Example ........................................................31
      5.1. Link Failure ..............................................31
   6. Sample Implementation: XML Schema ..............................32
   7. Security Considerations ........................................43
   8. IANA Considerations ............................................44
   9. Contributors ...................................................44
   10. Acknowledgements ..............................................45




Zisiadis, et al.              Experimental                      [Page 3]


RFC 6137                          NTTDM                    February 2011


   11. References ....................................................45
      11.1. Normative References .....................................45
      11.2. Informative References ...................................45

1.  Introduction

   Problem-impact assessment, reporting, identification, and handling,
   as well as dissemination of trouble information and delegation of
   authority, are some of the main tasks that have to be implemented by
   the members of a Grid in order to successfully manage the network and
   maintain operational efficiency of the services offered to their
   users.

   Different TT systems are used by each network domain, delivering TTs
   in alternate formats, while the TT load is growing proportionally
   with network size and serviced users.

   We hereby define a data model for TT normalization -- the Network
   Trouble Ticket Data Model (NTTDM) -- initially targeted for network
   providers serving EGEE [8].  The model is designed in accordance with
   RFC 1297 [11] and meets requirements of the multiple TT systems used.

   The NTTDM

   o  is both effective and comprehensive, as it compensates for the
      core activities of the Network Operation Centres (NOCs).  It is
      also dynamic, allowing additional options to be included in the
      future, according to demand.

   o  provides an XML representation for conveying incident information
      across administrative domains between parties that have an
      operational responsibility of remediation or a "watch-and-warn"
      policy over a defined constituency.

   o  encodes information about hosts, networks, and the services
      running on these systems; attack methodology and associated
      forensic evidence; impact of the activity; and limited approaches
      for documenting workflow.

   o  aims to simplify TT exchange within the boundaries of a Grid and
      to enhance the functional cooperation of every NOC and of the Grid
      Operation Centre (GOC).  Community adoption of the NTTDM enhances
      trouble resolution within the Grid framework and imparts network
      status cognizance by modeling collaboration and information
      exchange among operators.






Zisiadis, et al.              Experimental                      [Page 4]


RFC 6137                          NTTDM                    February 2011


   o  provides a common format that allows GOCs as well as all
      participating NOCs to store, exchange, manage, and analyze TTs
      (assessment of TT impact).

   o  provides increased automation in handling a TT, since the network
      operators have a common view of the incident.

   The model was designed and used as part of the networking support
   activity of the EGEE project; one of the subtasks of this support
   activity was to enhance the ENOC (EGEE Network Operation Centre) [9]
   procedures for better overall network coordination of the Grid.

1.1.  Terminology

   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 NTTDM uses specific keywords to describe the various data
   components.  These keywords are:

      Defined, Free, Multiple, List, Predefined String, String,
      Datetime, Solved, Cancelled, Inactive, Superseded, Opened/Closed,
      Operational, Informational, Administrative, and Test.

   These keywords as used in this document are to be interpreted as
   described in Section 2.

   Acronyms:

      TT:    Trouble Ticket

      NTTDM: Network Trouble Ticket Data Model

      DB:    Database

      EGEE:  Enabling Grid for E-sciencE

      ENOC:  EGEE NOC

      NOC:   Network Operation Centre

      GOC:   Grid Operation Centre

      NREN:  National Research and Educational Network

      QoS:   Quality of Service




Zisiadis, et al.              Experimental                      [Page 5]


RFC 6137                          NTTDM                    February 2011


      UML:   Unified Modeling Language

      XML:   Extensible Markup Language

1.2.  Notations

   The NTTDM is specified in two ways: as an abstract data model and as
   an XML Schema.  Section 3 provides a Unified Modeling Language (UML)
   [10] model describing the individual classes and their relationship
   with each other.  The semantics of each class are discussed and their
   attributes explained.  In Section 6, this UML model is converted into
   an XML Schema [2] [3] [4] [5].  A specific namespace [6] is also
   defined.

   The term "XML document" refers to any instance of an XML Document.
   The term "NTTDM document" refers to specific elements and attributes
   of the NTTDM Schema.  Finally, the terms "class" and "element" are
   used interchangeably to reference either a given UML class in the
   data model or its corresponding Schema implementation.

1.3.  About the Network Trouble Ticket Data Model

   The NTTDM is a data representation that provides a framework for
   normalizing and sharing information among network operators and the
   GOC regarding troubles within the Grid boundaries.  There has been a
   lot of thought processing during the design of the data model:

   o  The data model serves as a common storage and exchange format.

   o  Every NOC still uses its home TT system for network management
      within its area of control.

   o  As there is no universally adopted definition for a trouble, in
      the NTTDM definition, the term is used with a comprehensive
      meaning to cover all NOCs.

   o  Handling every possible definition of a trouble incident would
      call for an extremely expanded and complex data model.  Therefore,
      the NTTDM's purpose is to serve as the basis for normalizing and
      exchanging TTs.  It is flexible and expressive in order to ensure
      that specific NOC requirements are met.  Specific NOC information
      is kept outside the NTTDM, and external databases can be used to
      feed it.








Zisiadis, et al.              Experimental                      [Page 6]


RFC 6137                          NTTDM                    February 2011


   o  The domain of managing the information is not fully standardized
      and must rely on free-form textual descriptions.  The NTTDM
      attempts to strike a balance between supporting this free-form
      content, while still allowing automated processing of incident
      information.

   The NTTDM is only one of several feasible TT data representations.
   The goal of this design was to be as effective and comprehensive as
   these other representations and to account for the management of a
   general Grid environment.  The already used TT formats influenced the
   design of the NTTDM.

1.4.  About the Network Trouble Ticket Implementation

   Here we describe an example of a typical use case.

   The Grid project EGEE manages its infrastructure as a network overlay
   over the European National Research and Educational Networks (NRENs)
   and wants to be able to warn EGEE sites of the unavailability of the
   network.  Thanks to collaboration with its network provider, the EGEE
   NOC receives a high volume of TTs (800 tickets/month, 2500
   emails/month) from 20 NRENs and should always be able to cope with
   such a heavy load.  Thanks to the NTTDM, the EGEE NOC can automate
   the TT workflow:

   o  The TT is filtered, sorted, and stored in a local database (DB).

   o  The TT's impact on the Grid is assessed.

   o  The TT is pushed to an ENOC dashboard application and other tools
      (EGEE TT system, statistics, etc.).

1.5.  Future Plans

   Since this is an Experimental document, operational experience will
   be used to expand the subsections of Section 3.2.3, "Ticket Origin
   Information", below.  The current specification is already used
   within EGEE.  Other Grids are free to use it and report comments to
   the authors.  After enough experimentation, we would like to advance
   it to the Standards Track.

2.  NTTDM Types and Definitions

   The various data elements of the TT data model are typed.  This
   section discusses these data types.  When possible, native Schema
   data types were adopted, but for more complicated formats, regular
   expressions or external standards were used.




Zisiadis, et al.              Experimental                      [Page 7]


RFC 6137                          NTTDM                    February 2011


2.1.  Types and Definitions for the TYPE Attribute

   These types are used to describe the TYPE attribute.

2.1.1.  Defined

   The Defined data type means that the data model provides a means to
   compute this value from the rest of the fields.

   The Defined data type is implemented as "Defined" in the Schema.

2.1.2.  Free

   The Free data type means that the value can be freely chosen.

   All Free strings SHOULD have as an attribute the language used.

   The Free data type is implemented as "Free" in the Schema.

2.1.3.  Multiple

   The Multiple data type consists of one value among multiple fixed
   values.

   The Multiple data type is implemented as "Multiple" in the Schema.

2.1.4.  List

   "List" means many values among multiple fixed values.  The List data
   type is implemented as "List" in the Schema.





















Zisiadis, et al.              Experimental                      [Page 8]


RFC 6137                          NTTDM                    February 2011


2.2.  Types and Definitions for the VALID FORMAT Attributes

2.2.1.  Predefined String

   A Predefined String means the different values are predefined in the
   data model.

   Each field that requires a Predefined String contains a specific
   value.  Figure 1 shows the allowed values for such fields.

   +------------------------+-----------------------------------+
   |         FIELD NAME     |              VALUES               |
   +------------------------+-----------------------------------+
   |          TT_TYPE       |    Operational, Informational,    |
   |                        |       Administrative, Test        |
   +------------------------+-----------------------------------+
   |            TYPE        |      Scheduled, Unscheduled       |
   +------------------------+-----------------------------------+
   |        TT_PRIORITY     |         Low, Medium, High         |
   +------------------------+-----------------------------------+
   |  TT_SHORT_DESCRIPTION  |  Core Line Fault, Access Line     |
   |                        |  Fault, Degraded Service, Router  |
   |                        |  Hardware Fault, Router Software  |
   |                        | Fault, Routing Problem, Undefined |
   |                        |   Problem, Network Congestion,    |
   |                        | Client Upgrade, IPv6, QoS, VoIP,  |
   |                        |               Other               |
   +------------------------+-----------------------------------+
   | TT_IMPACT_ASSESSMENT   |  No impact, Reduced redundancy,   |
   |                        | Minor performance impact, Severe  |
   |                        |      performance impact,          |
   |                        |   No connectivity, On backup,     |
   |                        |       At risk, Unknown            |
   +------------------------+-----------------------------------+
   |        TT_STATUS       | Opened, Updated, Closed, Solved,  |
   |                        |  Inactive, Cancelled, Reopened,   |
   |                        |  Superseded, Opened/Closed        |
   +------------------------+-----------------------------------+
   |       TT_SOURCE        |  Users, Monitoring, Other NOC     |
   +------------------------+-----------------------------------+

                Figure 1.  Allowed Predefined String Values

   The Predefined String data type is implemented as "xs:string" in the
   Schema with a sequence of enumerations for the allowed values.






Zisiadis, et al.              Experimental                      [Page 9]


RFC 6137                          NTTDM                    February 2011


2.2.1.1.  Definitions of the Predefined Values

   TT_TYPE

   o  Operational: for network incident and maintenance only.

   o  Informational: information about the TT system or the exchange
      interface (maintenance, upgrade).

   o  Administrative: information about the access to the TT system
      (credentials) or the exchange interface.

   o  Test: to test the TT system or the exchange interface, etc.

   TYPE

   o  Scheduled: the incident was scheduled to happen.

   o  Unscheduled: the incident was unscheduled.

   TT_PRIORITY

   o  Low: the TT priority is low.

   o  Medium: the TT priority is medium.

   o  High: the TT priority is high.

   TT_SHORT_DESCRIPTION

   o  Core Line Fault: malfunction of a high-bandwidth core line.

   o  Access Line Fault: malfunction of a medium-bandwidth access line.

   o  Degraded Service.

   o  Router Hardware Fault: malfunction of the router hardware.

   o  Router Software Fault: malfunction of the router software.

   o  Routing Problem: incident regarding the routing service.

   o  Undefined Problem: nature of the problem not identified.

   o  Network Congestion: problem due to traffic at the network
      (blocked).

   o  Client Upgrade: incidents regarding client/services upgrade.



Zisiadis, et al.              Experimental                     [Page 10]


RFC 6137                          NTTDM                    February 2011


   o  IPv6: incident regarding the IPv6 network.

   o  QoS: incident regarding the Quality of Service (QoS) of the
      network.

   o  VoIP: incident regarding Voice over IP (VoIP).

   o  Other: non-listed incident.

   TT_IMPACT_ASSESSMENT

   o  No impact: the incident does not cause any impacts.

   o  Reduced redundancy: the incident reduces network redundancy.

   o  Minor performance impact: the incident causes a minor performance
      impact.

   o  Severe performance impact: the incident causes a severe
      performance impact.

   o  No connectivity: the incident causes connectivity failure.

   o  On backup: the incident causes a malfunction of backup services.

   o  At risk: the incident should not have any impact but could
      possibly cause some trouble.

   o  Unknown: the nature of the impact is not identified.

   TT_STATUS

   o  Opened: the ticket is opened.

   o  Closed: the ticket is closed.

   o  Updated: the ticket's contents have been updated.

   o  Cancelled: the ticket has been opened twice; one of the tickets is
      cancelled, and a relationship between them is defined via the
      RELATED_ACTIVITY field.

   o  Solved: the incident is solved, but the team prefers to
      monitor/check for future issues.

   o  Opened/Closed: the ticket was opened only to report an incident
      that has already been solved.




Zisiadis, et al.              Experimental                     [Page 11]


RFC 6137                          NTTDM                    February 2011


   o  Inactive: the ticket is under the responsibility of an external
      domain and is no longer under the reporting domain's control.

   o  Reopened: the ticket was closed by error, or the problem was
      erroneously declared to be solved.  Data in the History field are
      very important in this case.

   o  Superseded: the ticket has been superseded by another one (for
      example, a bigger problem that had resulted in many tickets was
      later merged into a single incident/ticket).  The RELATED_ACTIVITY
      field SHOULD include the master ticket reference.

   Allowed transitions for TT_STATUS are only those indicated in
   Figure 2.  Possible final states are indicated with (X).





































Zisiadis, et al.              Experimental                     [Page 12]


RFC 6137                          NTTDM                    February 2011


                           +------------------+
                           | Opened/Closed (X)|
                           +------------------+
                                    |
                                    |
                                    V
                             +--------------+
     /-----------------------|  Reopened    |<-------------------\
     |                       |              |----------\         |
     |                       +--------------+          |         |
     |                             ^                   |         |
     |                             |                   |         |
     |                             V                   |         |
     |                     +-------------------+       |         |
     |                     | Superseded    (X) |       |         |
     |                     | or Inactive   (X) |       |         |
     |  /----------------->| or Cancelled  (X) |<---\  |         |
     |  |                  +-------------------+    |  |         |
     |  |                          ^                |  |         |
     |  |                          |                |  V         |
     |  |            +--------+    |            +--------+       |
     |  |  /---------| Opened |----/            | Solved |-----\ |
     |  |  |         |        |---------------->|        |     | |
     |  |  |         +--------+                 +--------+     | |
     |  |  |             |                          ^          | |
     V  |  V             |                          |          | |
   +---------+           |                          |          | |
   |         |----------(|)-------------------------/          V V
   | Updated |           |                              +------------+
   |         |----------(|)---------------------------->|            |
   +---------+           |                              | Closed (X) |
                         \----------------------------->|            |
                                                        +------------+

                  Figure 2.  TT_STATUS Transition Diagram

2.2.2.  String

   The String value is defined by the user of the model.  The String
   data type is implemented as "xs:string" in the Schema.

2.2.3.  Datetime

   Date-time strings are represented by the Datetime data type.  Each
   date-time string identifies a particular instant in time; ranges are
   not supported.





Zisiadis, et al.              Experimental                     [Page 13]


RFC 6137                          NTTDM                    February 2011


   Date-time strings are formatted according to a subset of
   ISO 8601:2000 as documented in RFC 3339.

   The Datetime data type is implemented as "xs:dateTime" in the Schema.

3.  NTTDM

   In this section, the individual components of the NTTDM will be
   discussed in detail.  This class provides a standardized
   representation for commonly exchanged Field Name data.

3.1.  NTTDM Components

3.1.1.  NTTDM Attributes

   The Field Name class has four attributes.  Each attribute provides
   information about a Field Name instance.  The attributes that
   characterize one instance constitute all the information required to
   form the data model.

   DESCRIPTION

      This field contains a short description of the Field Name.

   TYPE

      The TYPE attribute contains information about the type of the
      Field Name it depends on.  The values that it may contain are:

      Defined, Free, Multiple, and List.

   VALID FORMAT

      This attribute contains information about the format of each
      field.  The values that it may contain are:

      Predefined String, String, and Datetime.

   MANDATORY

      This attribute indicates whether the information of each field is
      required or optional.  If the information is required, the
      MANDATORY field contains the word "YES".  If the information is
      optional, the MANDATORY field contains the word "NO".







Zisiadis, et al.              Experimental                     [Page 14]


RFC 6137                          NTTDM                    February 2011


3.2.  NTTDM Aggregate Classes

3.2.1.  NTTDM-Document Class

   The NTTDM-Document class is the top-level class in the NTTDM.  All
   NTTDM documents are an instance of this class.

              +---------------+
              | NTTDM-Document|
              +---------------+
              | version       |<>--{1..*}--[ Ticket     ]
              | lang          |
              +---------------+

                      Figure 3.  NTTDM-Document Class

   The aggregate class that constitutes an NTTDM-Document is:

   Ticket

      One or more.  The information related to a single ticket.

   The NTTDM-Document class has two attributes:

   version

      STRING.  The value of this attribute MUST be "1.00".

   lang

      Required.

3.2.2.  Ticket Class

   Every ticket is represented by an instance of the Ticket class.  This
   class provides a standardized representation for commonly exchanged
   TT data.














Zisiadis, et al.              Experimental                     [Page 15]


RFC 6137                          NTTDM                    February 2011


        +---------+
        | Ticket  |
        +---------+
        |  lang   |<>----------[ Partner_ID               ]
        |         |<>----------[ Original_ID              ]
        |         |<>----------[ TT_ID                    ]
        |         |<>----------[ TT_Title                 ]
        |         |<>----------[ TT_Type                  ]
        |         |<>--{0..1}--[ TT_Priority              ]
        |         |<>----------[ TT_Status                ]
        |         |<>--{0..1}--[ TT_Source                ]
        |         |<>----------[ TT_Open_Datetime         ]
        |         |<>----------[ TT_Close_Datetime        ]
        |         |<>----------[ TT_Short_Description     ]
        |         |<>----------[ TT_Long_Description      ]
        |         |<>----------[ Type                     ]
        |         |<>----------[ TT_Impact_Assessment     ]
        |         |<>----------[ Start_Datetime           ]
        |         |<>--{0..1}--[ Detect_Datetime          ]
        |         |<>--{0..1}--[ Report_Datetime          ]
        |         |<>----------[ End_Datetime             ]
        |         |<>----------[ TT_Last_Update_Time      ]
        |         |<>--{0..1}--[ Time_Window_Start        ]
        |         |<>--{0..1}--[ Time_Window_End          ]
        |         |<>--{0..1}--[ Work_Plan_Start_Datetime ]
        |         |<>--{0..1}--[ Work_Plan_End_Datetime   ]
        |         |<>--{0..1}--[ Related_External_Tickets ]
        |         |<>--{0..1}--[ Additional_Data          ]
        |         |<>--{0..1}--[ Related_Activity         ]
        |         |<>----------[ History                  ]
        |         |<>--{0..1}--[ Affected_Community       ]
        |         |<>--{0..1}--[ Affected_Service         ]
        |         |<>----------[ Location                 ]
        |         |<>--{0..1}--[ Network_Node             ]
        |         |<>--{0..1}--[ Network_Link_Circuit     ]
        |         |<>--{0..1}--[ End_Line_Location_A      ]
        |         |<>--{0..1}--[ End_Line_Location_B      ]
        |         |<>--{0..1}--[ Open_Engineer            ]
        |         |<>--{0..1}--[ Contact_Engineers        ]
        |         |<>--{0..1}--[ Close_Engineer           ]
        |         |<>--{0..1}--[ Hash                     ]
        +---------+

                        Figure 4.  The Ticket Class

   lang

      Required.



Zisiadis, et al.              Experimental                     [Page 16]


RFC 6137                          NTTDM                    February 2011


   The Field Names are the Aggregate Classes that constitute the NTTDM,
   and each of them is an element that is characterized by a quadruple
   (DESCRIPTION, TYPE, VALID FORMAT, MANDATORY).

3.2.3.  Ticket Origin Information

3.2.3.1.  PARTNER_ID

      +--------------+
      | PARTNER_ID   |
      +--------------+
      | DESCRIPTION  |   The unique ID of the TT source partner.
      | TYPE         |   Multiple.
      | VALID FORMAT |   String.
      | MANDATORY    |   Yes.
      +--------------+

                        Figure 5.  Partner_ID Class

3.2.3.2.  ORIGINAL_ID

      +--------------+
      | ORIGINAL_ID  |
      +--------------+
      | DESCRIPTION  |   The TT ID that was assigned by the party.
      | TYPE         |   Free.
      | VALID FORMAT |   String.
      | MANDATORY    |   Yes.
      +--------------+

                       Figure 6.  Original_ID Class

3.2.4.  Ticket Information

3.2.4.1.  TT_ID

      +--------------+
      | TT_ID        |
      +--------------+
      | DESCRIPTION  |   The unique ID of the TT.
      | TYPE         |   As defined below.
      | VALID FORMAT |   String.
      | MANDATORY    |   Yes.
      +--------------+

                          Figure 7.  TT_ID Class





Zisiadis, et al.              Experimental                     [Page 17]


RFC 6137                          NTTDM                    February 2011


   TYPE is constructed as "PARTNER_ID"_"ORIGINAL_ID".  PARTNER_ID and
   ORIGINAL_ID therefore MUST NOT contain an underscore character.

3.2.4.2.  TT_TITLE

      +---------------+
      | TT_TITLE      |
      +---------------+
      | DESCRIPTION   |   The title of the TT.
      | TYPE          |   Defined.
      | VALID FORMAT  |   String.
      | MANDATORY     |   Yes.
      +---------------+

                         Figure 8.  TT_Title Class

3.2.4.3.  TT_TYPE

      +---------------+
      | TT_TYPE       |
      +---------------+
      | DESCRIPTION   |   The type of the TT.
      | TYPE          |   Multiple.
      | VALID FORMAT  |   Predefined String.
      | MANDATORY     |   Yes.
      +---------------+

                         Figure 9.  TT_Type Class

3.2.4.4.  TT_PRIORITY

      +--------------+
      | TT_PRIORITY  |
      +--------------+
      | DESCRIPTION  |   The TT priority.
      | TYPE         |   Multiple.
      | VALID FORMAT |   Predefined String.
      | MANDATORY    |   No.
      +--------------+

                       Figure 10.  TT_Priority Class










Zisiadis, et al.              Experimental                     [Page 18]


RFC 6137                          NTTDM                    February 2011


3.2.4.5.  TT_STATUS

      +--------------+
      | TT_STATUS    |
      +--------------+
      | DESCRIPTION  |   The TT status.
      | TYPE         |   Multiple.
      | VALID FORMAT |   Predefined String.
      | MANDATORY    |   Yes.
      +--------------+

                        Figure 11.  TT_Status Class

3.2.4.6.  TT_SOURCE

      +--------------+
      | TT_SOURCE    |
      +--------------+
      | DESCRIPTION  |   The source of the ticket.
      | TYPE         |   Multiple.
      | VALID FORMAT |   Predefined String.
      | MANDATORY    |   No.
      +--------------+

                        Figure 12.  TT_Source Class

3.2.4.7.  TT_OPEN_DATETIME

      +------------------+
      | TT_OPEN_DATETIME |
      +------------------+
      | DESCRIPTION      |   The date and time when the TT was opened.
      | TYPE             |   Multiple.
      | VALID FORMAT     |   Datetime.
      | MANDATORY        |   Yes.
      +------------------+

                    Figure 13.  TT_Open_Datetime Class













Zisiadis, et al.              Experimental                     [Page 19]


RFC 6137                          NTTDM                    February 2011


3.2.4.8.  TT_CLOSE_DATETIME

      +-------------------+
      | TT_CLOSE_DATETIME |
      +-------------------+
      | DESCRIPTION       |   The date and time when the TT was closed.
      | TYPE              |   Multiple.
      | VALID FORMAT      |   Datetime.
      | MANDATORY         |   Yes.
      +-------------------+

                    Figure 14.  TT_Close_Datetime Class

3.2.5.  Trouble Details

3.2.5.1.  TT_SHORT_DESCRIPTION

      +----------------------+
      | TT_SHORT_DESCRIPTION |
      +----------------------+
      | DESCRIPTION          |   The short description of the trouble.
      | TYPE                 |   Multiple.
      | VALID FORMAT         |   Predefined String.
      | MANDATORY            |   Yes.
      +----------------------+

                  Figure 15.  TT_Short_Description Class

3.2.5.2.  TT_LONG_DESCRIPTION

      +---------------------+
      | TT_LONG_DESCRIPTION |
      +---------------------+
      | DESCRIPTION         |   The detailed description of the
      |                     |   incident/maintenance reported in the TT.
      | TYPE                |   Free.
      | VALID FORMAT        |   String.
      | MANDATORY           |   No.
      +---------------------+

                   Figure 16.  TT_Long_Description Class










Zisiadis, et al.              Experimental                     [Page 20]


RFC 6137                          NTTDM                    February 2011


3.2.5.3.  TYPE

      +--------------+
      | TYPE         |
      +--------------+
      | DESCRIPTION  |   The type of the trouble.
      | TYPE         |   Multiple.
      | VALID FORMAT |   Predefined String.
      | MANDATORY    |   Yes.
      +--------------+

                          Figure 17.  Type Class

3.2.5.4.  TT_IMPACT_ASSESSMENT

     +----------------------+
     | TT_IMPACT_ASSESSMENT |
     +----------------------+
     | DESCRIPTION          |   The impact of the incident/maintenance.
     | TYPE                 |   Multiple.
     | VALID FORMAT         |   Predefined String.
     | MANDATORY            |   Yes.
     +----------------------+

                  Figure 18.  TT_Impact_Assessment Class

3.2.5.5.  START_DATETIME

      +----------------+
      | START_DATETIME |
      +----------------+
      | DESCRIPTION    |   The date and time that the
      |                |   incident/maintenance started.
      | TYPE           |   Multiple.
      | VALID FORMAT   |   Datetime.
      | MANDATORY      |   Yes.
      +----------------+

                     Figure 19.  Start_Datetime Class












Zisiadis, et al.              Experimental                     [Page 21]


RFC 6137                          NTTDM                    February 2011


3.2.5.6.  DETECT_DATETIME

      +-------------------+
      | DETECT_DATETIME   |
      +-------------------+
      | DESCRIPTION       |   The date and time when the incident
      |                   |   was detected.
      | TYPE              |   Multiple.
      | VALID FORMAT      |   Datetime.
      | MANDATORY         |   No.
      +-------------------+

                     Figure 20.  Detect_Datetime Class

3.2.5.7.  REPORT_DATETIME

     +-----------------+
     | REPORT_DATETIME |
     +-----------------+
     | DESCRIPTION     |   The date and time when the incident
     |                 |   was reported.
     | TYPE            |   Multiple.
     | VALID FORMAT    |   Datetime.
     | MANDATORY       |   No.
     +-----------------+

                     Figure 21.  Report_Datetime Class

3.2.5.8.  END_DATETIME

     +--------------+
     | END_DATETIME |
     +--------------+
     | DESCRIPTION  |   The date and time when the incident/maintenance
     |              |   ended.
     | TYPE         |   Multiple.
     | VALID FORMAT |   Datetime.
     | MANDATORY    |   Yes.
     +--------------+

                      Figure 22.  End_Datetime Class










Zisiadis, et al.              Experimental                     [Page 22]


RFC 6137                          NTTDM                    February 2011


3.2.5.9.  TT_LAST_UPDATE_TIME

      +---------------------+
      | TT_LAST_UPDATE_TIME |
      +---------------------+
      | DESCRIPTION         |   The last date and time when the TT was
      |                     |   updated.
      | TYPE                |   Multiple.
      | VALID FORMAT        |   Datetime.
      | MANDATORY           |   Yes.
      +---------------------+

                   Figure 23.  TT_Last_Update_Time Class

3.2.5.10.  TIME_WINDOW_START

      +-------------------+
      | TIME_WINDOW_START |
      +-------------------+
      | DESCRIPTION       |   The window start time in which planned
      |                   |   maintenance may occur.
      | TYPE              |   Multiple.
      | VALID FORMAT      |   Datetime.
      | MANDATORY         |   No, unless TYPE is "Scheduled".
      +-------------------+

                    Figure 24.  Time_Window_Start Class

3.2.5.11.  TIME_WINDOW_END

      +-----------------+
      | TIME_WINDOW_END |
      +-----------------+
      | DESCRIPTION     |   The window end time in which planned
      |                 |   maintenance may occur.
      | TYPE            |   Multiple.
      | VALID FORMAT    |   Datetime.
      | MANDATORY       |   No, unless TYPE is "Scheduled".
      +-----------------+

                     Figure 25.  Time_Window_End Class










Zisiadis, et al.              Experimental                     [Page 23]


RFC 6137                          NTTDM                    February 2011


3.2.5.12.  WORK_PLAN_START_DATETIME

      +--------------------------+
      | WORK_PLAN_START_DATETIME |
      +--------------------------+
      | DESCRIPTION              |   Work planned (expected): start time
      |                          |   in case of maintenance.
      | TYPE                     |   Multiple.
      | VALID FORMAT             |   Datetime.
      | MANDATORY                |   No.
      +--------------------------+

                Figure 26.  Work_Plan_Start_Datetime Class

3.2.5.13.  WORK_PLAN_END_DATETIME

      +------------------------+
      | WORK_PLAN_END_DATETIME |
      +------------------------+
      | DESCRIPTION            |   Work planned (expected): end time
      |                        |   in case of maintenance.
      | TYPE                   |   Multiple.
      | VALID FORMAT           |   Datetime.
      | MANDATORY              |   No.
      +------------------------+

                 Figure 27.  Work_Plan_End_Datetime Class

   The period delimited by WORK_PLAN_START_DATETIME and
   WORK_PLAN_END_DATETIME MUST be included in the period delimited by
   TIME_WINDOW_START and TIME_WINDOW_END, and duplicated with {START,
   END}_DATETIME, even in case of maintenance.

3.2.6.  Related Data

3.2.6.1.  RELATED_EXTERNAL_TICKETS

   +--------------------------+
   | RELATED_EXTERNAL_TICKETS |
   +--------------------------+
   | DESCRIPTION              |  The NOC entity related to the incident.
   | TYPE                     |  List.
   | VALID FORMAT             |  String.
   | MANDATORY                |  No.
   +--------------------------+

                Figure 28.  Related_External_Tickets Class




Zisiadis, et al.              Experimental                     [Page 24]


RFC 6137                          NTTDM                    February 2011


3.2.6.2.  ADDITIONAL_DATA

      +-----------------+
      | ADDITIONAL_DATA |
      +-----------------+
      | DESCRIPTION     |   Additional information.
      | TYPE            |   Free.
      | VALID FORMAT    |   String.
      | MANDATORY       |   No.
      +-----------------+

                     Figure 29.  Additional_Data Class

3.2.6.3.  RELATED_ACTIVITY

      +------------------+
      | RELATED_ACTIVITY |
      +------------------+
      | DESCRIPTION      |   The TT IDs of the related incidents.
      | TYPE             |   Multiple.
      | VALID FORMAT     |   String.
      | MANDATORY        |   No.
      +------------------+

                    Figure 30.  Related_Activity Class

3.2.6.4.  HISTORY

      +--------------+
      | HISTORY      |
      +--------------+
      | DESCRIPTION  |   The necessary actions/events log.
      | TYPE         |   Free.
      | VALID FORMAT |   String.
      | MANDATORY    |   Yes.
      +--------------+

                         Figure 31.  History Class

      Note: This field MUST NOT be empty when the VALID FORMAT attribute
      of the TT_STATUS field is anything other than "OPENED" or
      "OPENED/CLOSED".









Zisiadis, et al.              Experimental                     [Page 25]


RFC 6137                          NTTDM                    February 2011


3.2.7.  Localization and Impact

3.2.7.1.  AFFECTED_COMMUNITY

      +--------------------+
      | AFFECTED_COMMUNITY |
      +--------------------+
      | DESCRIPTION        |   Information about the community that was
      |                    |   affected by the incident.
      | TYPE               |   Free.
      | VALID FORMAT       |   String.
      | MANDATORY          |   No.
      +--------------------+

                   Figure 32.  Affected_Community Class

3.2.7.2.  AFFECTED_SERVICE

      +------------------+
      | AFFECTED_SERVICE |
      +------------------+
      | DESCRIPTION      |   The service that was affected by the
      |                  |   incident.
      | TYPE             |   Multiple.
      | VALID FORMAT     |   String.
      | MANDATORY        |   No.
      +------------------+

                    Figure 33.  Affected_Service Class

3.2.7.3.  LOCATION

      +--------------+
      | LOCATION     |
      +--------------+
      | DESCRIPTION  |   The location (Point of Presence (POP) site,
      |              |   city, etc.) of the incident/maintenance.
      | TYPE         |   Multiple.
      | VALID FORMAT |   String.
      | MANDATORY    |   Yes.
      +--------------+

                        Figure 34.  Location Class








Zisiadis, et al.              Experimental                     [Page 26]


RFC 6137                          NTTDM                    February 2011


3.2.7.4.  NETWORK_NODE

      +--------------+
      | NETWORK_NODE |
      +--------------+
      | DESCRIPTION  |   The NOC network node related to the incident.
      | TYPE         |   List.
      | VALID FORMAT |   String.
      | MANDATORY    |   No.
      +--------------+

                      Figure 35.  Network_Node Class

3.2.7.5.  NETWORK_LINK_CIRCUIT

      +----------------------+
      | NETWORK_LINK_CIRCUIT |
      +----------------------+
      | DESCRIPTION          |   The name of the network line related
      |                      |   to the incident.
      | TYPE                 |   List.
      | VALID FORMAT         |   String.
      | MANDATORY            |   No.
      +----------------------+

                  Figure 36.  Network_Link_Circuit Class

3.2.7.6.  END_LINE_LOCATION_A

      +---------------------+
      | END_LINE_LOCATION_A |
      +---------------------+
      | DESCRIPTION         |   A-end of the link.
      | TYPE                |   Multiple.
      | VALID FORMAT        |   String.
      | MANDATORY           |   No.
      +---------------------+

                   Figure 37.  End_Line_Location_A Class












Zisiadis, et al.              Experimental                     [Page 27]


RFC 6137                          NTTDM                    February 2011


3.2.7.7.  END_LINE_LOCATION_B

      +---------------------+
      | END_LINE_LOCATION_B |
      +---------------------+
      | DESCRIPTION         |   B-end of the link.
      | TYPE                |   Multiple.
      | VALID FORMAT        |   String.
      | MANDATORY           |   No.
      +---------------------+

                   Figure 38.  End_Line_Location_B Class

3.2.8.  Contact Information

3.2.8.1.  OPEN_ENGINEER

      +---------------+
      | OPEN_ENGINEER |
      +---------------+
      | DESCRIPTION   |   The engineer that opened the ticket.
      | TYPE          |   Multiple.
      | VALID FORMAT  |   String.
      | MANDATORY     |   No.
      +---------------+

                      Figure 39.  Open_Engineer Class

3.2.8.2.  CONTACT_ENGINEERS

      +-------------------+
      | CONTACT_ENGINEERS |
      +-------------------+
      | DESCRIPTION       |   The engineers responsible for the incident
      |                   |   settlement.
      | TYPE              |   List.
      | VALID FORMAT      |   String.
      | MANDATORY         |   No.
      +-------------------+

                    Figure 40.  Contact_Engineers Class










Zisiadis, et al.              Experimental                     [Page 28]


RFC 6137                          NTTDM                    February 2011


3.2.8.3.  CLOSE_ENGINEER

      +----------------+
      | CLOSE_ENGINEER |
      +----------------+
      | DESCRIPTION    |   The engineer that closed the ticket.
      | TYPE           |   Multiple.
      | VALID FORMAT   |   String.
      | MANDATORY      |   No.
      +----------------+

                     Figure 41.  Close_Engineer Class

3.2.9.  Security

3.2.9.1.  HASH

      +-------------+
      | HASH        |
      +-------------+
      | DESCRIPTION |   Encrypted message hash.
      | TYPE        |   Defined.
      | VALID FORMAT|   String.
      | MANDATORY   |   No.
      +-------------+

                          Figure 42.  Hash Class

3.3.  NTTDM Representation

   The collected and processed TTs received from multiple
   telecommunications networks are adjusted in a normalized NTTDM.
   Figure 43 shows the representation of this normalized data model.
   The "DESCRIPTION" attribute is implied.

















Zisiadis, et al.              Experimental                     [Page 29]


RFC 6137                          NTTDM                    February 2011


   +------------------------+--------+------------------+---------+
   | FIELD NAME             | TYPE   |VALID FORMAT      |MANDATORY|
   +------------------------+--------+------------------+---------+
   |PARTNER_ID              |MULTIPLE|STRING            |YES      |
   |ORIGINAL_ID             |FREE    |STRING            |YES      |
   |TT_ID                   |DEFINED |STRING            |YES      |
   |TT_TITLE                |DEFINED |STRING            |YES      |
   |TT_TYPE                 |MULTIPLE|PREDEFINED STRING |YES      |
   |TT_PRIORITY             |MULTIPLE|PREDEFINED STRING |NO       |
   |TT_STATUS               |MULTIPLE|PREDEFINED STRING |YES      |
   |TT_SOURCE               |MULTIPLE|PREDEFINED STRING |NO       |
   |TT_OPEN_DATETIME        |MULTIPLE|DATETIME          |YES      |
   |TT_CLOSE_DATETIME       |MULTIPLE|DATETIME          |YES      |
   |TT_SHORT_DESCRIPTION    |MULTIPLE|PREDEFINED STRING |YES      |
   |TT_LONG_DESCRIPTION     |FREE    |STRING            |NO       |
   |TYPE                    |MULTIPLE|PREDEFINED STRING |YES      |
   |TT_IMPACT_ASSESSMENT    |MULTIPLE|PREDEFINED STRING |YES      |
   |START_DATETIME          |MULTIPLE|DATETIME          |YES      |
   |DETECT_DATETIME         |MULTIPLE|DATETIME          |NO       |
   |REPORT_DATETIME         |MULTIPLE|DATETIME          |NO       |
   |END_DATETIME            |MULTIPLE|DATETIME          |YES      |
   |TT_LAST_UPDATE_TIME     |MULTIPLE|DATETIME          |YES      |
   |TIME_WINDOW_START       |MULTIPLE|DATETIME          |NO       |
   |TIME_WINDOW_END         |MULTIPLE|DATETIME          |NO       |
   |WORK_PLAN_START_DATETIME|MULTIPLE|DATETIME          |NO       |
   |WORK_PLAN_END_DATETIME  |MULTIPLE|DATETIME          |NO       |
   |RELATED_EXTERNAL_TICKETS|LIST    |STRING            |NO       |
   |ADDITIONAL_DATA         |FREE    |STRING            |NO       |
   |RELATED_ACTIVITY        |MULTIPLE|STRING            |NO       |
   |HISTORY                 |FREE    |STRING            |YES      |
   |AFFECTED_COMMUNITY      |FREE    |STRING            |NO       |
   |AFFECTED_SERVICE        |MULTIPLE|STRING            |NO       |
   |LOCATION                |MULTIPLE|STRING            |YES      |
   |NETWORK_NODE            |LIST    |STRING            |NO       |
   |NETWORK_LINK_CIRCUIT    |LIST    |STRING            |NO       |
   |END_LINE_LOCATION_A     |MULTIPLE|STRING            |NO       |
   |END_LINE_LOCATION_B     |MULTIPLE|STRING            |NO       |
   |OPEN_ENGINEER           |MULTIPLE|STRING            |NO       |
   |CONTACT_ENGINEERS       |LIST    |STRING            |NO       |
   |CLOSE_ENGINEER          |MULTIPLE|STRING            |NO       |
   |HASH                    |DEFINED |STRING            |NO       |
   +------------------------+--------+------------------+---------+

                     Figure 43.  The Field Name Class







Zisiadis, et al.              Experimental                     [Page 30]


RFC 6137                          NTTDM                    February 2011


4.  Internationalization Issues

   Internationalization and localization are of specific concern to the
   NTTDM, since it is only through collaboration, often across language
   barriers, that certain incidents can be resolved.  The NTTDM supports
   this goal by depending on XML constructs, and through explicit design
   choices in the data model.

   The main advantage of the model is that it provides a normalized data
   type that is implemented fully in the English language and can be
   used conveniently.  It also supports free-formed text that can be
   written in any language.  In the future, it will provide translation
   services for all such free-formed text.

5.  Example

5.1.  Link Failure

   In this section, an example of network TTs exchanged using the
   proposed format is provided.  This is an actual GRNet ticket
   normalized according to the NTTDM.  Fields that were not included in
   the ticket are left blank.

   <?xml version="1.0" encoding="UTF-8"?>
   <!-- This example describes a link failure that was detected -->

   <NTTDM-Document version="1.00" lang="el"
                   xmlns="urn:ietf:params:xml:ns:nttdm-1.0">
   <Ticket>
    <Original_ID>5985</Original_ID>
    <Partner_ID>01</Partner_ID>
    <TT_ID>01_5985</TT_ID>
    <TT_Title>Forth Link Failure</TT_Title>
    <TT_Type>Operational</TT_Type>
    <TT_Status>Closed</TT_Status>
    <TT_Open_Datetime>2008-12-16T10:01:15+02:00</TT_Open_Datetime>
    <TT_Short_Description>Core Line Fault</TT_Short_Description>
    <TT_Long_Description>Forth Link Failure</TT_Long_Description>
    <Type>Unscheduled</Type>
    <TT_Impact_Assessment>No connectivity</TT_Impact_Assessment>
    <Start_Datetime>2008-12-16T09:55:00+02:00</Start_Datetime>
    <TT_Last_Update_Time>2008-12-16T15:00:34+02:00</TT_Last_Update_Time>
    <Location>HERAKLION</Location>
    <History>Optical transmitter was changed</History>
    <TT_Close_Datetime>2008-12-16T15:05:00+02:00</TT_Close_Datetime>
    <End_Datetime>2008-12-16T15:01:21+02:00</End_Datetime>





Zisiadis, et al.              Experimental                     [Page 31]


RFC 6137                          NTTDM                    February 2011


    <Network_Node>
     <Node>FORTH</Node>
    </Network_Node>
    <Network_Link_Circuit>
     <Link_Circuit>FORTH-2</Link_Circuit>
    </Network_Link_Circuit>
    <Open_Engineer>Dimitris Zisiadis</Open_Engineer>
    <Close_Engineer>Guillaume Cessieux</Close_Engineer>
    <Contact_Engineers>
     <Engineer>Spyros Kopsidas</Engineer>
     <Engineer>Chrysostomos Tziouvaras</Engineer>
    </Contact_Engineers>
    <TT_Priority>High</TT_Priority>
   </Ticket>
   </NTTDM-Document>

6.  Sample Implementation: XML Schema

   This section provides a sample XML Schema of the NTTDM.

   <?xml version="1.0" encoding="UTF-8" ?>
   <xs:schema xmlns="urn:ietf:params:xml:ns:nttdm-0.1"
    xmlns:nttdm="urn:ietf:params:xml:ns:nttdm-1.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="urn:ietf:params:xml:ns:nttdm-1.0"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">
    <xs:annotation>
     <xs:documentation
         >Trouble Ticket Data Model v-1.0</xs:documentation>
    </xs:annotation>

    <!--
    ===============================================================
    == NTTDM-Document Class                                      ==
    ===============================================================
    -->
    <xs:element name="NTTDM-Document">
     <xs:complexType>
      <xs:sequence>
       <xs:element ref="nttdm:Ticket" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="version" type="xs:string" fixed="1.00"/>
      <xs:attribute name="lang" type="xs:language" use="required"/>
     </xs:complexType>
    </xs:element>





Zisiadis, et al.              Experimental                     [Page 32]


RFC 6137                          NTTDM                    February 2011


    <!--
    ===============================================================
    ==  Ticket Class                                             ==
    ===============================================================
    -->
    <xs:element name="Ticket">
      <xs:complexType>
       <xs:all>
        <xs:element ref="nttdm:Partner_ID"/>
        <xs:element ref="nttdm:Original_ID"/>
        <xs:element ref="nttdm:TT_ID"/>
        <xs:element ref="nttdm:TT_Title"/>
        <xs:element ref="nttdm:TT_Type"/>
        <xs:element ref="nttdm:TT_Priority" minOccurs="0"/>
        <xs:element ref="nttdm:TT_Status"/>
        <xs:element ref="nttdm:TT_Source" minOccurs="0"/>
        <xs:element ref="nttdm:TT_Open_Datetime"/>
        <xs:element ref="nttdm:TT_Close_Datetime"/>
        <xs:element ref="nttdm:TT_Short_Description"/>
        <xs:element ref="nttdm:TT_Long_Description"/>
        <xs:element ref="nttdm:Type"/>
        <xs:element ref="nttdm:TT_Impact_Assessment"/>
        <xs:element ref="nttdm:Start_Datetime"/>
        <xs:element ref="nttdm:Detect_Datetime" minOccurs="0"/>
        <xs:element ref="nttdm:Report_Datetime" minOccurs="0"/>
        <xs:element ref="nttdm:End_Datetime"/>
        <xs:element ref="nttdm:TT_Last_Update_Time"/>
        <xs:element ref="nttdm:Time_Window_Start" minOccurs="0"/>
        <xs:element ref="nttdm:Time_Window_End" minOccurs="0"/>
        <xs:element ref="nttdm:Work_Plan_Start_Datetime" minOccurs="0"/>
        <xs:element ref="nttdm:Work_Plan_End_Datetime" minOccurs="0"/>
        <xs:element ref="nttdm:Related_External_Tickets" minOccurs="0"/>
        <xs:element ref="nttdm:Additional_Data" minOccurs="0"/>
        <xs:element ref="nttdm:Related_Activity" minOccurs="0"/>
        <xs:element ref="nttdm:History"/>
        <xs:element ref="nttdm:Affected_Community" minOccurs="0"/>
        <xs:element ref="nttdm:Affected_Service" minOccurs="0"/>
        <xs:element ref="nttdm:Location"/>
        <xs:element ref="nttdm:Network_Node" minOccurs="0"/>
        <xs:element ref="nttdm:Network_Link_Circuit" minOccurs="0"/>
        <xs:element ref="nttdm:End_Line_Location_B" minOccurs="0"/>
        <xs:element ref="nttdm:Open_Engineer" minOccurs="0"/>
        <xs:element ref="nttdm:Contact_Engineers" minOccurs="0"/>
        <xs:element ref="nttdm:Close_Engineer" minOccurs="0"/>
        <xs:element ref="nttdm:Hash" minOccurs="0"/>
        <xs:element ref="nttdm:End_Line_Location_A" minOccurs="0"/>
       </xs:all>




Zisiadis, et al.              Experimental                     [Page 33]


RFC 6137                          NTTDM                    February 2011


      <xs:attribute name="lang" type="xs:language"/>
     </xs:complexType>
    </xs:element>

    <!--
    ===============================================================
    ==  Partner_ID Class                                         ==
    ===============================================================
    -->
    <xs:element name="Partner_ID" type="nttdm:string_no_underscore"/>

    <!--
    ===============================================================
    ==  Original_ID Class                                        ==
    ===============================================================
    -->
    <xs:element name="Original_ID" type="nttdm:string_no_underscore"/>

    <!--
    ===============================================================
    ==  TT_ID Class                                              ==
    ===============================================================
    -->
    <xs:element name="TT_ID" type="xs:string"/>

    <!--
    ===============================================================
    ==  TT_Title Class                                           ==
    ===============================================================
    -->
    <xs:element name="TT_Title" type="xs:string"/>

    <!--
    ===============================================================
    ==  TT_Type Class                                            ==
    ===============================================================
    -->
    <xs:element name="TT_Type" type="nttdm:eTT_Type"/>

    <!--
    ===============================================================
    ==  TT_Priority Class                                        ==
    ===============================================================
    -->
    <xs:element name="TT_Priority" type="nttdm:eTT_Priority"/>






Zisiadis, et al.              Experimental                     [Page 34]


RFC 6137                          NTTDM                    February 2011


    <!--
    ===============================================================
    ==  TT_Status Class                                          ==
    ===============================================================
    -->
    <xs:element name="TT_Status" type="nttdm:eTT_Status"/>

    <!--
    ===============================================================
    ==  TT_Source Class                                          ==
    ===============================================================
    -->
    <xs:element name="TT_Source" type="nttdm:eTT_Source"/>

    <!--
    ===============================================================
    ==  TT_Open_Datetime Class                                   ==
    ===============================================================
    -->
    <xs:element name="TT_Open_Datetime" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  TT_Close_Datetime Class                                  ==
    ===============================================================
    -->
    <xs:element name="TT_Close_Datetime" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  TT_Short_Description Class                               ==
    ===============================================================
    -->
    <xs:element name="TT_Short_Description"
                type="nttdm:eTT_Short_Description"/>

    <!--
    ===============================================================
    ==  TT_Long_Description Class                                ==
    ===============================================================
    -->
    <xs:element name="TT_Long_Description" type="xs:string"/>









Zisiadis, et al.              Experimental                     [Page 35]


RFC 6137                          NTTDM                    February 2011


    <!--
    ===============================================================
    ==  Type Class                                               ==
    ===============================================================
    -->
    <xs:element name="Type" type="nttdm:eType"/>

    <!--
    ===============================================================
    ==  TT_Impact_Assessment Class                               ==
    ===============================================================
    -->
    <xs:element name="TT_Impact_Assessment"
             type="nttdm:eTT_Impact_Assessment"/>

    <!--
    ===============================================================
    ==  Start_Datetime Class                                     ==
    ===============================================================
    -->
    <xs:element name="Start_Datetime" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  Detect_Datetime Class                                    ==
    ===============================================================
    -->
    <xs:element name="Detect_Datetime" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  Report_Datetime Class                                    ==
    ===============================================================
    -->
    <xs:element name="Report_Datetime" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  End_Datetime Class                                       ==
    ===============================================================
    -->
    <xs:element name="End_Datetime" type="xs:dateTime"/>









Zisiadis, et al.              Experimental                     [Page 36]


RFC 6137                          NTTDM                    February 2011


    <!--
    ===============================================================
    ==  TT_Last_Update_Time Class                                ==
    ===============================================================
    -->
    <xs:element name="TT_Last_Update_Time" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  Time_Window_Start Class                                  ==
    ===============================================================
    -->
    <xs:element name="Time_Window_Start" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  Time_Window_End Class                                    ==
    ===============================================================
    -->
    <xs:element name="Time_Window_End" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  Work_Plan_Start_Datetime Class                           ==
    ===============================================================
    -->
    <xs:element name="Work_Plan_Start_Datetime" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  Work_Plan_End_Datetime Class                             ==
    ===============================================================
    -->
    <xs:element name="Work_Plan_End_Datetime" type="xs:dateTime"/>

    <!--
    ===============================================================
    ==  Related_External_Tickets Class                           ==
    ===============================================================
    -->
    <xs:element name="Related_External_Tickets"
                type="nttdm:eRelated_External_Tickets"/>









Zisiadis, et al.              Experimental                     [Page 37]


RFC 6137                          NTTDM                    February 2011


    <!--
    ===============================================================
    ==  Additional_Data Class                                    ==
    ===============================================================
    -->
    <xs:element name="Additional_Data" type="xs:string"/>

    <!--
    ===============================================================
    ==  Related_Activity Class                                   ==
    ===============================================================
    -->
    <xs:element name="Related_Activity"
                type="nttdm:eRelated_Activity"/>

    <!--
    ===============================================================
    ==  History Class                                            ==
    ===============================================================
    -->
    <xs:element name="History" type="xs:string"/>

    <!--
    ===============================================================
    ==  Affected_Community Class                                 ==
    ===============================================================
    -->
    <xs:element name="Affected_Community" type="xs:string"/>

    <!--
    ===============================================================
    ==  Affected_Service Class                                   ==
    ===============================================================
    -->
    <xs:element name="Affected_Service" type="xs:string"/>

    <!--
    ===============================================================
    ==  Location Class                                           ==
    ===============================================================
    -->
    <xs:element name="Location" type="xs:string"/>









Zisiadis, et al.              Experimental                     [Page 38]


RFC 6137                          NTTDM                    February 2011


    <!--
    ===============================================================
    ==  Network_Node Class                                       ==
    ===============================================================
    -->
    <xs:element name="Network_Node" type="nttdm:eNodes"/>

    <!--
    ===============================================================
    ==  Network_Link_Circuit Class                               ==
    ===============================================================
    -->
    <xs:element name="Network_Link_Circuit"
                type="nttdm:eNetwork_Link_Circuit"/>

    <!--
    ===============================================================
    ==  End_Line_Location_A Class                                ==
    ===============================================================
    -->
    <xs:element name="End_Line_Location_A" type="xs:string"/>

    <!--
    ===============================================================
    ==  End_Line_Location_B Class                                ==
    ===============================================================
    -->
    <xs:element name="End_Line_Location_B" type="xs:string"/>

    <!--
    ===============================================================
    ==  Open_Engineer Class                                      ==
    ===============================================================
    -->
    <xs:element name="Open_Engineer" type="xs:string"/>

    <!--
    ===============================================================
    ==  Contact_Engineers Class                                  ==
    ===============================================================
    -->
    <xs:element name="Contact_Engineers" type="nttdm:eEngineers"/>









Zisiadis, et al.              Experimental                     [Page 39]


RFC 6137                          NTTDM                    February 2011


    <!--
    ===============================================================
    ==  Close_Engineer Class                                     ==
    ===============================================================
    -->
    <xs:element name="Close_Engineer" type="xs:string"/>

    <!--
    ===============================================================
    ==  Hash Class                                               ==
    ===============================================================
    -->
    <xs:element name="Hash" type="xs:string"/>

    <!--
    ===============================================================
    ==  Custom types definition                                  ==
    ===============================================================
    -->
    <xs:simpleType name="string_no_underscore">
     <xs:restriction base="xs:string">
      <xs:pattern value="[^_]*"/>
     </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="eRelated_External_Tickets">
     <xs:sequence>
      <xs:element name="TTid" type="xs:string" minOccurs="0"
                  maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>

    <xs:complexType name="eRelated_Activity">
     <xs:sequence>
      <xs:element name="TT" type="xs:string" minOccurs="0"
                  maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>

    <xs:complexType name="eNodes">
     <xs:sequence>
      <xs:element name="Node" type="xs:string" minOccurs="0"
                  maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>






Zisiadis, et al.              Experimental                     [Page 40]


RFC 6137                          NTTDM                    February 2011


    <xs:complexType name="eNetwork_Link_Circuit">
     <xs:sequence>
      <xs:element name="Link_Circuit" type="xs:string"
                   minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>

    <xs:complexType name="eEngineers">
     <xs:sequence>
      <xs:element name="Engineer" type="xs:string" minOccurs="0"
                  maxOccurs="unbounded"/>
     </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="eTT_Type">
     <xs:restriction base="xs:string">
      <xs:enumeration value="Operational"/>
      <xs:enumeration value="Informational"/>
      <xs:enumeration value="Administrative"/>
      <xs:enumeration value="Test"/>
     </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="eType">
     <xs:restriction base="xs:string">
      <xs:enumeration value="Scheduled"/>
      <xs:enumeration value="Unscheduled"/>
     </xs:restriction>
    </xs:simpleType>

   <xs:simpleType name="eTT_Priority">
     <xs:restriction base="xs:string">
      <xs:enumeration value="Low"/>
      <xs:enumeration value="Medium"/>
      <xs:enumeration value="High"/>
     </xs:restriction>
    </xs:simpleType>














Zisiadis, et al.              Experimental                     [Page 41]


RFC 6137                          NTTDM                    February 2011


    <xs:simpleType name="eTT_Short_Description">
     <xs:restriction base="xs:string">
      <xs:enumeration value="Core Line Fault"/>
      <xs:enumeration value="Access Line Fault"/>
      <xs:enumeration value="Degraded Service"/>
      <xs:enumeration value="Router Hardware Fault"/>
      <xs:enumeration value="Router Software Fault"/>
      <xs:enumeration value="Routing Problem"/>
      <xs:enumeration value="Undefined Problem"/>
      <xs:enumeration value="Network Congestion"/>
      <xs:enumeration value="Client Upgrade"/>
      <xs:enumeration value="IPv6"/>
      <xs:enumeration value="QoS"/>
      <xs:enumeration value="VoIP"/>
      <xs:enumeration value="Other"/>
     </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="eTT_Impact_Assessment">
     <xs:restriction base="xs:string">
      <xs:enumeration value="No impact"/>
      <xs:enumeration value="Reduced redundancy"/>
      <xs:enumeration value="Minor performance impact"/>
      <xs:enumeration value="Severe performance impact"/>
      <xs:enumeration value="No connectivity"/>
      <xs:enumeration value="On backup"/>
      <xs:enumeration value="At risk"/>
      <xs:enumeration value="Unknown"/>
     </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="eTT_Status">
     <xs:restriction base="xs:string">
      <xs:enumeration value="Opened"/>
      <xs:enumeration value="Updated"/>
      <xs:enumeration value="Closed"/>
      <xs:enumeration value="Solved"/>
      <xs:enumeration value="Opened/Closed"/>
      <xs:enumeration value="Inactive"/>
      <xs:enumeration value="Cancelled"/>
      <xs:enumeration value="Reopened"/>
      <xs:enumeration value="Superseded"/>
     </xs:restriction>
    </xs:simpleType>







Zisiadis, et al.              Experimental                     [Page 42]


RFC 6137                          NTTDM                    February 2011


    <xs:simpleType name="eTT_Source">
     <xs:restriction base="xs:string">
      <xs:enumeration value="Users"/>
      <xs:enumeration value="Monitoring"/>
      <xs:enumeration value="Other NOC"/>
     </xs:restriction>
    </xs:simpleType>
   </xs:schema>

7.  Security Considerations

   The NTTDM data model defines a data model and the relevant XML Schema
   for trouble ticket normalization; as such, the NTTDM itself does not
   raise any security concerns.  However, some security issues SHOULD be
   considered as network TTs could carry sensitive information (IP
   addresses, contact details, authentication details, commercial
   providers involved, etc.) about flagship institutions (military,
   health centre...).

   The security considerations MAY involve measures during the exchange
   as well as during processing of the information.

   The HASH field is intended to provide an integrity insurance
   attribute within the exchanged tickets; however, it alone does not
   ensure integrity.

   Confidentiality MAY be ensured by encrypting whole tickets or only
   some parts of them.  This could permit meaningful tickets to be
   disclosed, while only sensitive information would be protected.

   Peer entity authentication SHOULD be provided in order to establish a
   session with data origin authentication, regardless of the form in
   which the TTs are exchanged -- being delivered either through email,
   web forms, or through a Simple Object Access Protocol (SOAP) service.
   SOAP is considered the better choice; the model itself, though, does
   not specify the communications requirements.

   The underlying communications service MUST provide guarantees to
   properly address integrity, confidentiality, and peer entity
   authentication.  The selection of the enforcing mechanisms is not in
   the scope of this document, and the choice is up to the implementers.

   For data processing security, each participating organization MAY use
   its own privacy policy, as part of its own data processing system.
   This approach avoids any interoperability issues and does not pose
   any extra burden for the adoption of the current scheme into the
   operational procedures of the NOCs.  Unauthorized and inappropriate
   usage MUST be avoided.



Zisiadis, et al.              Experimental                     [Page 43]


RFC 6137                          NTTDM                    February 2011


8.  IANA Considerations

   This document uses URNs to describe an XML namespace and Schema
   conforming to a registry mechanism described in [7].

   Registration for the NTTDM namespace:

   o  URI: urn:ietf:params:xml:ns:nttdm-1.0

   o  Registrant Contact: See the first author listed in the "Authors'
      Addresses" section of this document.

   o  XML: None.  Namespace URIs do not represent an XML specification.

   Registration for the NTTDM XML Schema:

   o  URI: urn:ietf:params:xml:schema:nttdm-1.0

   o  Registrant Contact: See the first author listed in the "Authors'
      Addresses" section of this document.

   o  XML: See the XML Schema in Section 6 of this document.

9.  Contributors

   Leandros Tassiulas
   Centre for Research and Technology Hellas
   6th km Thermi-Thessaloniki, 57001
   Hellas

   EMail: leandros@uth.gr


   Chrysostomos Tziouvaras
   Greek Research and Technology Network
   56, Mesogion Av. 11527, Athens
   Hellas

   EMail: tziou@grnet.gr


   Xavier Jeannin
   National Centre for Scientific Research
   Network Unit - UREC
   France

   EMail: Xavier.Jeannin@urec.cnrs.fr




Zisiadis, et al.              Experimental                     [Page 44]


RFC 6137                          NTTDM                    February 2011


10.  Acknowledgements

   The following groups and individuals contributed substantially to
   this document and are gratefully acknowledged:

   - Toby Rodwell and Emma Apted (DANTE)

   - Claudio Allocchio, Gloria Vuagnin, and Claudia Battista (GARR)

   - Karin Schauerhammer and Robert Stoy (DFN)

11.  References

11.1.  Normative References

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

   [2]   World Wide Web Consortium, "Extensible Markup Language
         (XML) 1.0 (Fifth Edition)", W3C Recommendation, 26 November
         2008, <http://www.w3.org/TR/2008/REC-xml-20081126>.

   [3]   World Wide Web Consortium, "XML Schema Part 0: Primer Second
         Edition", W3C Recommendation, 28 October 2004,
         <http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/>.

   [4]   World Wide Web Consortium, "XML Schema Part 1: Structures
         Second Edition", W3C Recommendation, 28 October 2004,
         <http://www.w3.org/TR/xmlschema-1/>.

   [5]   World Wide Web Consortium, "XML Schema Part 2: Datatypes Second
         Edition", W3C Recommendation, 28 October 2004,
         <http://www.w3.org/TR/xmlschema-2/>.

   [6]   World Wide Web Consortium, "Namespaces in XML 1.0 (Third
         Edition)", W3C Recommendation, 8 December 2009,
         <http://www.w3.org/TR/2009/REC-xml-names-20091208/>.

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

11.2.  Informative References

   [8]   Enabling Grids for E-sciencE, http://www.eu-egee.org/.

   [9]   Enabling Grids for E-sciencE, "ENOC, EGEE Network Operation
         Centre", http://technical.eu-egee.org/index.php?id=353.




Zisiadis, et al.              Experimental                     [Page 45]


RFC 6137                          NTTDM                    February 2011


   [10]  Rumbaugh, J., Jacobson, I., and G. Booch, "The Unified Modeling
         Language Reference Manual," ISBN 020130998X, Addison-Wesley,
         1998.

   [11]  Johnson, D., "NOC Internal Integrated Trouble Ticket System
         Functional Specification Wishlist ("NOC TT REQUIREMENTS")",
         RFC 1297, January 1992.

Authors' Addresses

   Dimitris Zisiadis (editor)
   Centre for Research and Technology Hellas
   6th km Thermi-Thessaloniki, 57001
   Hellas

   EMail: dzisiadis@iti.gr


   Spyros Kopsidas (editor)
   Centre for Research and Technology Hellas
   6th km Thermi-Thessaloniki, 57001
   Hellas

   EMail: spyros@uth.gr


   Matina Tsavli (editor)
   Centre for Research and Technology Hellas
   6th km Thermi-Thessaloniki, 57001
   Hellas

   EMail: sttsavli@uth.gr


   Guillaume Cessieux (editor)
   Computer Centre of National Institute for
   Nuclear Physics and Particle Physics (IN2P3-CC)
   France

   EMail: Guillaume.Cessieux@cc.in2p3.fr











Zisiadis, et al.              Experimental                     [Page 46]

mirror server hosted at Truenetwork, Russian Federation.