Transaction Language 1 (short for TL1) is a protocol widely used in telecommunications . It is a common human-machine language for manufacturers of technology, widely used to manage the optical infrastructure ( SONET ) and broadband access in North America .
TL1 is used in input and output messages that are transmitted between OSS and network elements (SEs). In areas such as monitoring, memory management, and access and testing, TL1 messages are defined and used to perform specific functions between OSS and SE . TL1 is described in Telcordia Technologies (formerly Bellcore ) Generic Requirements document GR-831-CORE .
Content
History
TL1 was developed by Bellcore in 1984 for Regional Bell Operating Companies (RBOCs) as the standard human-machine language for managing network elements . It is based on the Z.300 human-machine language standards group. TL1 was developed as a standard protocol readable by both machines and people to replace a variety of ASCII- based protocols used by different manufacturers of network elements. The language is extensible and is able to include all the specific teams of manufacturers.
Telcordia OSS such as NMA (Network Monitoring and Analysis) uses TL1 as a network element management protocol ( EMS ). This forced network element manufacturers to implement TL1 support in their devices.
Language Description
Syntax
Team Name and Modifiers
TL1 is a text command that consists of a set of fields, separated by colons, and ends with a semicolon.
General command format
VERB: TID: AID: CTAG: GENBLOCK: OPTIONS
Each command must have: verb (command name), semicolon and colon.
VERB is an abbreviation of the name of the command being executed. In general, these are commands that request or modify data. For example, the date and time query command: RTRV-DAT
TID (Target Identifier) - target identifier. Optional for most teams. Before executing the command, some devices can check the correspondence between the TID indicated in the command and the SID (Source Identifier). If the TID and SID match, then the command will be executed, otherwise rejected.
AID (Access Identifier) - access identifier. Specifies the object for which the command will be executed. AID format depends on the selected object.
- An ampersand (&) is used to indicate two objects. For example, to specify slot 1 / port 3 and slot 1 / port 7 use the format: 1-3 & -7.
- To indicate a range, double ampersand (&&) is used. For example, to specify ports 3-7 of slot 1, use the format: 1-3 && - 7
CTAG - (correlation tag) - correlation tag . Optional for most teams. This field is used to find a match between the command and the response. The CTAG specified in the command is returned in the response. If CTAG is left blank, CTAG will be 0 in the response header.
GENBLOCK (general block) - a general block. Optional for commands in which the OPTIONS field is not populated. For commands with a filled OPTIONS field, the common block must be null.
OPTIONS - command parameters. Parameters used to execute the command.
Key Elements of a TL1 Message
| Element | Symbol | Role | Explanation |
|---|---|---|---|
| Semicolon | ; | Terminator | A semicolon indicates the end of a TL1 message. |
| Colon | : | separator | A colon is used to separate the "fields" of data in a TL1 message. |
| Comma | , | divider and placeholder | Commas are used to separate message arguments and to indicate where the arguments are omitted. |
For example, arguments A to E must be separated by a comma -: A, B, C, D, E;
Arguments can simply be excluded from the end -: A, B;
Spaces in arguments require the use of commas as placeholders -:, B ,,, E;
Conventions
Conventions in TL1 Answers
BNF syntax is used to describe responses to TL1 commands, as defined in Tltcordia GR-831-CORE. The following table defines the format of the notation used in responses to input commands.
| Symbol | Description |
|---|---|
| ^ | Represents a space |
| * | Means that the previous block of parameters can be repeated 0 or more times |
| + | Means that the previous block of parameters should be repeated 1 or more times |
| / * | Start ASCII comment text in free form |
| * / | Free ASCII comment text end |
| ( | Beginning of an additional block |
| ) | End of optional block |
| <cr> | Represents a carriage return character |
| <lf> | Represents a newline character |
TL1 Messages
The TL1 language consists of message sets. There are 4 types of messages:
- An input message is a command sent by a user or an OSS system.
- An output or response message is a message sent by an SE (network element) in response to an input message.
- A confirmation message is an acknowledgment of an input message TL1, it is sent if the response message is delayed for more than 2 seconds.
- An independent message is an asynchronous message sent by a network element (usually notifications or crashes).
TL1 message structure
TL1 messages have a fixed structure, and all commands must conform to it. However, the teams themselves are extensible and new teams can be added by SE manufacturers.
Here are some message components:
- Object Identifier (TID) and Source Identifier (SID) - TID / SID is a unique name assigned to each SE. TID is used to forward the SE message; SID is used to determine the source of the independent message.
- Access identifier β An AID identifies an object within a network element.
- Correlation tag and Autonomous correlation tag - CTAG / ATAG numbers used for message correlation.
TL1 input message
Structure :
| TL1 input message | |||||||
| Team code | Preparatory unit | Payload Block | |||||
| Team name | attribute1 | attribute2 | Tid | Aid | CTAG | Common block | Data block |
| ENT | USER | Secu | Myne | sridev | 101 | password | |
An example :
ENT-USER-SECU: MyNE: sridev: 101 :: password;TL1 Output Message
Structure :
| Output Message TL1 | |||||||
| Answer Header | Response id | Response block | End pointers | ||||
| SID | date | Time | M | CTAG | Operation Completion Code | ||
| Myne | 04-08-14 | 09:12:04 | M | 101 | COMPLD | "UID = sridev: CID = CRAFT, UAP = 1:" | ; |
An example :
ENT-USER-SECU: MyNE: sridev: 101 :: password;TL1 Confirmation Message
Structure :
| TL1 acknowledgment message | |||
| Admission code | CTAG | Sign of the end | |
| Ok | 101 | > | |
An example :
| Ok 101 |
| > |
Independent Message TL1
Structure :
| Independent Message TL1 | |||||||
| the headline of the message | Identifier | Data | Signs of the end | ||||
| SID | date | Time | Alarm Code | ATAG | Team name | ||
| Myne | 04-08-14 | 09:12:04 | A | 101 | REPT EVT SESSION | ||
An example :
| MyNE 04-08-14 09:12:04 |
| A 101 REPT EVT SESSION |
| "Root: NO," |
| ; |