# Transaction Language 1

Transaction Language 1 (TL1) is a widely used management protocol in telecommunications. It is a cross-vendor, cross-technology man-machine language, and is widely used to manage optical (SONET) and broadband access infrastructure in North America. TL1 is used in the input and output messages that pass between Operations Support Systems (OSSs) and Network Elements (NEs). Operations domains such as surveillance, memory administration, and access and testing define and use TL1 messages to accomplish specific functions between the OS and the NE. TL1 is defined in Telcordia Technologies (formerly Bellcore) Generic Requirements document GR-831-CORE.

## History

TL1 was developed by Bellcore in 1984 as a standard man-machine language to manage network elements for the Regional Bell Operating Companies (RBOCs). It is based on Z.300 series man machine language standards. TL1 was designed as a standard protocol readable by machines as well as humans to replace the diverse ASCII based protocols used by different Network Element (NE) vendors. It is extensible to incorporate vendor specific commands.
Telcordia OSSs such as NMA (Network Monitoring and Analysis) used TL1 as the element management (EMS) protocol. This drove network element vendors to implement TL1 in their devices.

## Language overview
### TL1 Messages

The TL1 language consists of a set of messages. There are 4 kinds of messages:
* Input message - This is the command sent by the user or the OSS.
* Output/Response message - This is reply sent by the NE(Network Element) in response to an input message.
* Acknowledgment message - This is an acknowledgment of the receipt of a TL1 input message and is sent if the response message will be delayed by more than 2 seconds.
* Autonomous message - These are asynchronous messages (usually events or alarms) sent by the NE.

### TL1 message structure

TL1 messages follow a fixed structure, and all commands must conform to it. However, the commands themselves are extensible and new commands can be added by NE vendors.
These are some of the message components:
* Target identifier (TID) & Source identifier (SID) - TID/SID is a unique name assigned to each NE. TID is used to route the message to an NE, SID is used to identify the source of an autonomous message.
* Access identifier (AID) - AID identifies an entity within an NE.
* Correlation tag (CTAG) & Autonomous correlation tag (ATAG) - CTAG/ATAG are numbers used to correlate messages.

#### TL1 input message

Example:
* ENT-USER-SECU:MyNE:sridev:101::password;
Structure:
TL1 input message :
| Command code | Command code | Command code | Staging block | Staging block | Staging block | Staging block | Payload block |
| Verb | modifier1 | modifier2 | TID | AID | CTAG | General block | Data block |
| ENT | USER | SECU | MyNE | sridev | 101 | | password |

#### TL1 output message

Example:
* MyNE 04-08-14 09:12:04
* M 101 COMPLD
* "UID=sridev:CID=CRAFT,UAP=1:"
Structure:
TL1 output message :
| Response Header | Response Header | Response Header | Response Id | Response Id | Response Id | Response block | Terminators |
| SID | Date | Time | M | CTAG | Completion code | | |
| MyNE | 04-08-14 | 09:12:04 | M | 101 | COMPLD | "UID=sridev:CID=CRAFT,UAP=1:" | ; |

#### TL1 acknowledgment message

Example:
* OK 100
Structure:
TL1 acknowledgment message :
| Acknowledgment code | CTAG | Terminator |
| OK | 101 | < |

#### TL1 autonomous message

Example:
* MyNE 04-08-14 09:12:04
* A 101 REPT EVT SESSION
* "root:NO,"
Structure:
TL1 autonomous message :
| Auto Header | Auto Header | Auto Header | Auto Id | Auto Id | Auto Id | Auto block | Terminators |
| SID | Date | Time | Alarm code | ATAG | Verb | | |
| MyNE | 04-08-14 | 09:12:04 | A | 101 | REPT EVT SESSION | | |

### TL1 Surveillance and Maintenance Messages

TL1 also has application messages for NE and transport surveillance functions. The messages and functions cover a wide variety of NE types, user needs, and supplier innovations.
Telcordia GR-833, TL1 Surveillance and Maintenance Messages contains the generic functions and messages that pertain to the following generic types of NEs:
* Digital Loop Carrier (DLC)
** Central Office Terminal (COT)
** Integrated Digital Loop Carrier (IDLC)
** Remote Digital Terminal (RDT).
* Digital Terminal and Cross-Connect Equipment
** Automated Digital Terminal System (ADTS)
** Digital Cross-Connect System (DCS)
** Hybrid Add/Drop Multiplexer/Digital Cross-Connect System (ADM/DCS)
** Optical Add/Drop Multiplexer (OADM)
** Reconfigurable Optical Add/Drop Multiplexer (ROADM)
** Low Bit-Rate Voice (LBRV) Terminal.
* Digital Multiplexing and Line Terminating Equipment
** Multiplexer (MUX)
** Add/Drop Multiplexer (ADM)
** Line Terminating Equipment (LTE)
** Repeater (REP)
** Automatic Protection Switching (APS) Equipment.
* Digital Switching Systems
** Circuit Switching (CS) System
** Packet Switching (PS) System (including Access Concentrators).
* ISDN Switching Systems
* SONET Transport Systems
* FITL Transport Systems
** Passive Optical Network (PON).
* Metro Ethernet Systems
* Common Channel Signaling (CCS) Systems
** Signal Transfer Point (STP)
** Service Control Point (SCP)
** Service Switching Point (SSP).
* Supervisory Systems (SSs)
* Environment Monitors (EMs)
* Timing Signal Generator (TSG)
An NE address consists of two types of parameters, routing and access. The maintenance functions can be grouped into the following six categories:
* Alarm Surveillance (AS) − Messages of events or conditions (e.g., carrier group alarms, threshold violations).
* Performance Monitoring (PM) − Generated performance data (e.g., number of errored seconds, number of slips).
* Failure Identification (FI) − Mechanisms within the NE to detect and isolate equipment and facility troubles.
* Recovery and Control (RC) − Maintenance purposes. This includes Maintenance State Control, Loopbacks, External Device Control, Initialization, Emergency Reconfiguration, and Process Inhibit and Termination.
* Maintenance Measurement (MM) − to be used for overall assessment of the NE maintenance process.
* Memory Backup (MB) − To/from non-volatile memory within the NE.
GR-833 provides detailed descriptions of commands and responses in the TL1 format.