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]