EMS Integration Toolkit

User Guide & Documentation

Version 1.1 | January 2025

Back to App

1. Overview

The EMS Integration Toolkit is a collection of browser-based utilities designed for Telecom and Network OSS engineers. These tools help with common tasks encountered when integrating Element Management Systems (EMS) with Operations Support Systems (OSS).

TL1 Parser/Builder

Parse and construct TL1 (Transaction Language 1) commands used in legacy telecom systems.

Alarm Mapper

Create mappings between EMS alarm codes and OSS-friendly formats with severity levels.

Payload Transformer

Convert data between JSON, XML, CSV, and YAML formats instantly.

SNMP OID Browser

Decode SNMP OIDs, parse SNMP walk output, and browse common MIBs.

NETCONF/XML Tools

Validate XML, test XPath expressions, and format NETCONF configurations.

E2E Integration Generator

Design complete integration solutions with auto-generated code, diagrams, and deployment artifacts.

Privacy First

All processing happens locally in your browser. Your data never leaves your device and is not stored on any server.

2. Getting Started

Accessing the Toolkit

  1. Open your web browser and navigate to https://emstools.web.app
  2. Sign in with your Google account
  3. Select the tool you need from the navigation tabs

System Requirements

Navigation

The toolkit uses a tab-based navigation system. Click on any tab at the top of the screen to switch between tools. Your work in each tool is preserved while switching tabs.

3. TL1 Parser/Builder

What is TL1?

Transaction Language 1 (TL1) is a widely-used management protocol in telecommunications. It provides a standardized command structure for managing network elements.

TL1 Command Structure

COMMAND-CODE:TID:AID:CTAG::PARAMETER1=VALUE1,PARAMETER2=VALUE2;
Component Description Example
Command Code The operation to perform RTRV-ALM-ALL
TID Target Identifier (network element) NETWORKELEM1
AID Access Identifier (specific resource) SLOT-1-1
CTAG Correlation Tag (unique identifier) 123
Parameters Additional command parameters TYPE=ALL

Using the Parser

  1. Select the "TL1 Parser/Builder" tab
  2. Choose "Parse TL1" mode
  3. Paste your TL1 command into the input field
  4. Click "Parse Command"
  5. View the parsed components in the results panel

Example Input

RTRV-ALM-ALL:NETWORKELEM1:SLOT-1-1:123::TYPE=CRITICAL,SRVEFF=SA;

Parsed Output

{
  "command": "RTRV-ALM-ALL",
  "tid": "NETWORKELEM1",
  "aid": "SLOT-1-1",
  "ctag": "123",
  "parameters": {
    "TYPE": "CRITICAL",
    "SRVEFF": "SA"
  }
}

Using the Builder

  1. Select "Build TL1" mode
  2. Fill in the command components (Command, TID, AID, CTAG)
  3. Add parameters using the "Add Parameter" button
  4. Click "Build Command"
  5. Copy the generated TL1 command

Tip

Common TL1 commands: RTRV (retrieve), ENT (enter/create), ED (edit), DLT (delete), ACT (activate)

4. Alarm Mapper

Purpose

The Alarm Mapper helps you create and manage mappings between EMS-specific alarm codes and standardized OSS alarm descriptions. This is essential for alarm correlation and unified monitoring.

Creating a Mapping

  1. Select the "Alarm Mapper" tab
  2. Enter the EMS alarm code (e.g., ALM_001)
  3. Enter the OSS description (e.g., Link Down)
  4. Select the severity level:
    • Critical - Service affecting, immediate action required
    • Major - Significant impact, urgent attention needed
    • Minor - Limited impact, scheduled attention
    • Warning - Potential issue, monitoring required
    • Info - Informational, no action needed
  5. Click "Add Mapping"

Mapping Table

All mappings are displayed in a table format showing:

Export/Import

Exporting Mappings

  1. Click the "Export" button
  2. Choose format: JSON or CSV
  3. The file will download automatically

Importing Mappings

  1. Click the "Import" button
  2. Select a JSON or CSV file
  3. Mappings will be added to your existing list

CSV Format

emsCode,ossDescription,severity
ALM_001,Link Down,critical
ALM_002,High CPU Usage,major
ALM_003,Config Changed,info

JSON Format

[
  {
    "emsCode": "ALM_001",
    "ossDescription": "Link Down",
    "severity": "critical"
  },
  {
    "emsCode": "ALM_002",
    "ossDescription": "High CPU Usage",
    "severity": "major"
  }
]

Note

Mappings are stored in your browser's local storage. Export regularly to avoid data loss when clearing browser data.

5. Payload Transformer

Supported Formats

Format Description Use Case
JSON JavaScript Object Notation REST APIs, modern systems
XML Extensible Markup Language SOAP, NETCONF, legacy systems
CSV Comma-Separated Values Spreadsheets, data import/export
YAML YAML Ain't Markup Language Configuration files, Ansible

How to Transform

  1. Select the "Payload Transformer" tab
  2. Choose the source format from the dropdown
  3. Paste your data in the input area
  4. Select the target format
  5. Click "Transform"
  6. Copy or download the result

Example: JSON to XML

Input (JSON):

{
  "alarm": {
    "id": "12345",
    "severity": "critical",
    "source": "router-01"
  }
}

Output (XML):

<?xml version="1.0" encoding="UTF-8"?>
<alarm>
  <id>12345</id>
  <severity>critical</severity>
  <source>router-01</source>
</alarm>

Working with CSV

When converting to/from CSV:

Tip

Use "Format/Prettify" button to clean up minified or messy data before transforming.

6. SNMP OID Browser

Features

OID Decoder

  1. Select "Decode OID" mode
  2. Enter an OID (e.g., 1.3.6.1.2.1.1.1.0)
  3. Click "Decode"
  4. View the breakdown of each OID component

Example OID Breakdown

1.3.6.1.2.1.1.1.0 = sysDescr.0

Breakdown:
1      = iso
1.3    = org
1.3.6  = dod
1.3.6.1 = internet
1.3.6.1.2 = mgmt
1.3.6.1.2.1 = mib-2
1.3.6.1.2.1.1 = system
1.3.6.1.2.1.1.1 = sysDescr

Common OID Prefixes

OID Name Description
1.3.6.1.2.1.1 system System information
1.3.6.1.2.1.2 interfaces Interface statistics
1.3.6.1.2.1.4 ip IP protocol statistics
1.3.6.1.4.1 enterprises Vendor-specific MIBs

SNMP Walk Parser

  1. Select "Parse Walk" mode
  2. Paste your SNMP walk output
  3. Click "Parse"
  4. View the structured table of OIDs and values

Example Walk Input

SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.1
SNMPv2-MIB::sysUpTime.0 = Timeticks: (123456789) 14 days, 6:56:07.89
SNMPv2-MIB::sysContact.0 = STRING: admin@example.com
SNMPv2-MIB::sysName.0 = STRING: router-01
SNMPv2-MIB::sysLocation.0 = STRING: Data Center 1

MIB Browser

Browse the standard MIB tree to find OIDs. Click on any node to expand and see child objects.

7. NETCONF/XML Tools

Features

XML Validator

  1. Select "Validate XML" mode
  2. Paste your XML content
  3. Click "Validate"
  4. View validation results and any errors with line numbers

XPath Tester

  1. Select "XPath Tester" mode
  2. Paste your XML in the document area
  3. Enter an XPath expression (e.g., //interface/name)
  4. Click "Test XPath"
  5. View matching nodes

Common XPath Examples

XPath Selects
//element All elements with that name
/root/child Child elements under root
//element[@attr='value'] Elements with specific attribute
//element/text() Text content of elements
//element[1] First matching element

NETCONF Example

<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="101">
  <get-config>
    <source>
      <running/>
    </source>
    <filter type="subtree">
      <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
        <interface>
          <name/>
          <enabled/>
        </interface>
      </interfaces>
    </filter>
  </get-config>
</rpc>

Tip

When working with namespaced XML (common in NETCONF), you may need to use local-name() in XPath: //*[local-name()='interface']

8. E2E Integration Generator

Overview

The E2E Integration Solution Generator is a comprehensive wizard that guides you through designing complete integration solutions. It automatically generates architecture diagrams, code artifacts, and deployment configurations based on your requirements.

Four-Phase Approach

Phase Description Output
1. Requirements Define project, source, destination, mappings, and rules Captured specifications
2. Design Auto-generated solution architecture Flow diagrams, architecture diagrams
3. Development Generated code and configurations Code, database schemas, infrastructure configs
4. Execution Deployment and testing artifacts Scripts, test suites, documentation

Phase 1: Requirements

Capture all integration requirements through six sub-sections:

1.1 Project Details

1.2 Source System

1.3 Destination System

Same configuration options as Source System for the target endpoint.

1.4 Data Mapping

At least one field mapping is required.

1.5 Business Rules (Optional)

Warning

If no business rules are defined, a warning will be shown recommending you add validation or transformation rules.

1.6 Technical Requirements

Warning

If no security requirements are selected, a warning will be shown recommending you enable encryption, authentication, or data masking.

Phase 2: Design

After clicking "Generate Design", the system creates:

Solution Flow Diagram

A Mermaid.js flowchart showing the data flow from source through transformation to destination, including error handling paths.

Architecture Diagram

A component diagram showing the integration architecture with all layers and connections.

Component Breakdown

Table listing all components with their purpose, technology, and status.

Dataflow Specification

Step-by-step specification of data transformations and validations.

Tip

You can copy Mermaid diagram code to use in documentation tools like Notion, Confluence, or GitHub markdown.

Phase 3: Development Artifacts

Generated code artifacts based on your selected tech stack:

Core Integration Code

Job Orchestration

Database Scripts

Infrastructure as Code

Monitoring Configuration

Phase 4: Execution Framework

Final deployment and testing artifacts:

Execution Scripts

Test Suite

Deployment Guide

Complete markdown documentation with prerequisites, step-by-step deployment instructions, and troubleshooting guide.

Export Options

Validation & Error Handling

The generator includes built-in validation:

Validation Type Message
Project Name empty Error Project Name is required
Source Schema empty Error Source Schema is required
Destination Schema empty Error Destination Schema is required
No field mappings Error At least one field mapping is required
No business rules Warning Consider adding validation or transformation rules
No security options Warning Consider enabling encryption or authentication

Auto-Trim Feature

All text input fields automatically trim leading and trailing whitespace when you leave the field, ensuring clean data for code generation.

9. Tips & Best Practices

General Tips

Troubleshooting

Issue Solution
TL1 parsing fails Ensure command ends with semicolon (;) and uses correct separators (:)
XML validation error Check for unclosed tags, special characters (&, <, >) need escaping
JSON parsing fails Validate quotes (use double quotes), check for trailing commas
Mappings not saving Check if browser allows localStorage; try a different browser
OID not recognized The OID may be vendor-specific; check vendor MIB documentation

Browser Compatibility

For best experience, use the latest version of:

Need Help?

For questions or feedback, visit our other tools: QR Code Generator | Image Resizer