GL Communications Inc.
 
 
Home >  VoIP Analysis and Simulation > PacketExpert™

PacketExpert™ APIs for Test Automation and Remote Access
Command Line Interface (CLI)



MAPS™ CLI server interfaces with PacketExpert™ hardware

PacketExpert™ 1G Software Ver 9.2.8 | Download Now!
PacketExpert™ 10G Software Ver 9.1.31 | Download Now!
PacketExpert™ 10GX Software Ver 9.1.31 | Download Now!


Overview

With additional licensing, PacketExpert™ supports Command line Interface (CLI)to access all the functionalities remotely such as Bert, Loopback, RFC 2544, Record Playback, IPNetSim™, ExpertSAM™, PacketBroker, and Multi Stream Traffic Generator and Analyzer using TCL, Python, C# client APIs and MAPS™ CLI Client/Server architecture.

Required licenses across PacketExpert 1G, 10G, 1G/10G platforms for CLI support are -

  • CXE100 - CLI Server for PXE100 basic and optional software
  • CXG100 - CLI Server for PXG100 basic and optional software
  • CXN100 - CLI Server for PXN100 basic and optional software

PacketExpert™ can be configured as server-side application using the GL’s MAPS™ Client-Server architecture, to provide the capability of remote operation, automation, and multi-site connectivity, using any client-side scripting tools such as the Python, C#, and TCL (Tool Command Language). On the client side, the packaged library file is provided which allows the client interface to communicate with the MAPS™ CLI Server to perform PacketExpert™ specific functionalities.

The client scripting library enables communication with the MAPS™ CLI Server using TCP/IP socket from a client environment. The MAPS™ CLI server interfaces with the PacketExpert™ hardware through the USB. The MAPS™ CLI Server developed specifically for PacketExpert™ runs (*.gls) scripts that can control the PacketExpert™ hardware. The advantage of such communication enables user to control PacketExpert™ by sending commands and receiving responses in a scripting language such as TCL, Python, C# that is already familiar with many users.

  • Capability of remote operation, automation and multi-site connectivity using TCL/Python/C# client and MAPS™ CLI server.
  • Scripts for MAC, VLAN, MPLS, IP and UDP layers testing
  • Multiple PacketExpert™ can be controlled remotely from single client application via MAPS™ CLI server.
  • Scripts for BertLoopbackRFC 2544Record PlaybackIPLinkSim™, PacketBroker, WAN Link Emulation, Multi-stream Traffic Generation and Analysis, and ExpertSAM™ testing

Working Principle of MAPS™ CLI Client/Server Architecture

MAPS™ CLI Client/Server platform supports various client libraries in different languages, so that users can make use of these different libraries to talk to the MAPS™ server, and achieve automation using their language of choice. However, these are relatively low-level libraries, which gives users a very fine grain control, but also requires users to put in a bit more effort to program with it.

For PacketExpert™ platform, a set of relatively High-Level APIs have been developed on top of the MAPS™ Client library, which greatly reduces the time to develop sample applications and achieve automation. These APIs are developed in the respective languages and are easy to use and intuitive. Eg: C# APIs are provided by means of API classes for each application. Similarly, Python APIs are provided through API scripts that implement API classes for different applications. Also supplied are sample applications, that users can use to work with APIs. Using these high-level APIs and sample applications, users can start developing automated testing in a very short period.



PacketExpert™ MAPS™ CLI Working Principle

The following explains the functional modules involved in the MAPS™ CLI Test System.

  • Client user (TCL, Python, C#) run client scripts which executes the command that instructs the MAPS™ CLI Server.
  • MAPS™ Client interface interprets the User Events from Client user to MAPS™ CLI Server and vice versa.
  • MAPS™ CLI Server runs the CLI script to perform the PacketExpert™ tests like BERT, RFC 2544 etc.

MAPS™ CLI Functional Modules

This application consists of 3 functional modules. All these modules interact with each other to perform as a single entity. (Note: “User” refers to client TCL, Python, C#)

  • Client Environment – client environment acts as a user interface, which includes predefined scripts, that can be used by user to access various PacketExpert functionalities. Client API uses the library file to communicate with the server and translate the high-level API into low level APIs. It can be any scripting tool (automation tool) like C#, Python, and TCL, which provides simple scripting language with programming facilities such as looping/procedures/variables/For and While loops, making task execution simpler.

    The Client script contains built-in commands which instruct MAPS™ CLI Server to Start/Stop Testbed, Start/Stop Scripts, Apply User Events, Apply Global Variables, Load Profiles, Passing values to the variables, and similarly others.
  • MAPS Client Interface (IFC) – acts as an interface between MAPS™ CLI Server and its client TCL, C#, Python. The Client application includes a packaged library that enables communication with the MAPS™ Server from the client environment. MAPS Client IFC provides added benefits of a fully capable flow control engine with built commands.
    • It interprets the client Commands and forms the appropriate command as understood by MAPS™ CLI Server and vice versa.
    • It also stores the MAPS™ CLI Server responses into Script Information Storage in a variable which can be accessed by the client script.
    • Stores the information from MAPS™ Server in a variable which can be accessed by the client script
    • Client fetches the report using the get command
  • MAPS™ CLI Server –MAPS™ CLI Server is a scripting based frame work which controls the PacketExpert hardware using proprietary MAPS™ scripts which has list of instructions to perform actions such as,
    • Storing/retrieving configuration to/from hardware,
    • Start/stop BERT/RFC 2544 etc.,
    • Timer related instruction,
    • Conditional statements,
    • Control statements.

A Typical Test System for RFC2544 Testing

As depicted in the figure below, PacketExpert Test System (eg: for RFC 2544), consists of the following –

  • TestShell is communicating via the .NET/CLI client
  • PacketExpert™ system, i.e, the host PC on which the PacketExpertCSAPI.dll or CLI is running, and the PacketExpert™ hardware, connected to the PC through the USB interface.

RFC2544 Test System

TCL Client and Scripting

TCL Client application includes a command-line interface (TClsh85.exe) into which client users may key in commands or load commands from previously saved files.
TCL provides a simple scripting language, with programming facilities such as looping, procedures, and variables. The TCL Client application includes a MapsTclIfc.dll file, a packaged library that enables communication with the Server from a TCL environment.

MAPS™ TCL Client Interface (MAPS Client IFC) application includes a MapsClientIfc.dll file, a packaged library that enables communication with the MAPS™ Server from a TCL environment. The advantage of such communication enables user to control MAPS™ by sending commands and receiving responses in a scripting language already familiar with many users.

A sample TCL script (User_Bert.tcl) can be downloaded from here.


Command-Line based TCL Client

PacketExpert™ Integration with TestShell using TCL Client

TCL provides a simple scripting language, with programming facilities such as looping, procedures, and variables. The TCL Client application includes a MapsTclIfc.dll file, a packaged library that enables communication with the Server from a TCL environment.

PacketExpert™ TCL Client Interface (MAPS Client IFC) application includes a MapsClientIfc.dll file, a packaged library that enables communication with the MAPS™ Server from a TCL environment. The advantage of such communication enables user to control MAPS™ by sending commands and receiving responses in a scripting language already familiar with many users.

A typical application is with QualiSystems' TestShell as the centerpiece for achieving network wide automation for testing telecom services and telecom network equipment. TestShell software framework offers complete Lab Management, Device Provisioning and Test Automation solutions for engineers.


PacketExpert™ Integration with TestShell

TestShell has a TCL Client built in, with scripting, drag and drop interface. This makes the system compatible with GL's PacketExpert™ software. TestShell / TCL Client runs TCL scripts which executes commands, that instructs the MAPS™ CLI Server to run a particular script to perform specified tests – BERT, RFC2544, Loopback, and others.


TestShell Integration using CLI—Execution of RFC2544 Tests

MAPS CLI Server

MAPS™ CLI Server is an executable which inherits all features of MAPS™ without GUI. It listens to a TCP message socket to receive and execute commands from client and sends the responses back to client.

GL’s proprietary MAPS™ CLI Server scripts (*.gls files) developed specifically for PacketExpert™ implements various PacketExpert™ functionalities like BERT, RFC 2544, and others. It includes XML files which contain the configuration information required for the test such as MAC Addresses, IP Addresses, BERT parameters, RFC 2544 parameters, and others, which are created using a Profile Editor. MAPS™ CLI Server interfaces internally with low level PacketExpert™ APIs to access PacketExpert™ hardware and to perform tasks.


Components of MAPS™ CLI Server for PacketExpert™

CLI Server script execution is Event Driven, i.e., Server detects the Events such as InsertStatus, InterfaceStatus, IsRunning, LoadProfileStatus, RFC2544Init, RFC2544TestConfig, TestDirection and others.

A sample CLI Server script (PEX_Init.gls) and (PEX_BERT_Main.gls) can be downloaded here.

MAPS™ CLI Server for PacketExpert™

Python Client and Scripting

Python client consists of python API scripts, that provide High Level APIs, using which all the PacketExpert functionalities are accessible to the users. These APIs in turn use a low level library to communicate with the PacketExpert MAPS server.

MAPS™ CLI Server for PacketExpert™

The Python interface developed for PacketExpert™ allows users to control all features of PacketExpert™ through Python APIs. The Python interface is implemented based on a client-server model. The server is the MAPS™ CLI server, which interfaces with the PacketExpert™ hardware through the USB. The client consists of a Python API dll and Python API scripts, which allows user to control the MAPS™ CLI server, issue commands and get back results.

The MAPS Python Interface (MAPS Client IFC) application includes a PythonMapsCliIfc.pyd file, a packaged library that enables communication with the MAPS™ CLI Server from a Python environment. The advantage of such communication enables user to control MAPS™ by sending commands and receiving responses using the familiar programming language.

MAPS Client IFC provides added benefits of a fully capable flow control engine with built commands.



Executing the Client script in “Python Shell” console

C# Client and Scripting

The C# interface developed for PacketExpert™ allows users to control all features of PacketExpert™ through C# APIs. The C# interface is implemented based on a client-server model. The C# client connects to the MAPS™ CLI server using TCP/IP sockets. MAPS™ CLI Server interfaces with PacketExpert™ low level API controlling the hardware. There will be different MAPS™ scripts to implement different applications like BERT, RFC 2544 etc.,

The client consists of a C# API dll, which allows user to control the MAPS™ CLI server, issue commands and get back results.


C# Client Components

The MAPS C# Interface (MAPS Client IFC) application includes a MAPSCSAPI.dll file, a packaged library that enables communication with the MAPS™ CLI Server from a C# environment. MAPS Client IFC provides added benefits of a fully capable flow control engine with built commands.

C# Client invokes APIs which executes the command, that instructs the MAPS™ CLI Server to run the particular script which performs the particular PacketExpert™ tests like BERT, RFC 2544 etc.


MAPS™ CLI Server consists of the following components:

  • Scripts – GL’s proprietary scripts (.gls files) that actually implement the various PacketExpert™ functionalities like BERT, RFC 2544 etc. The C# client invokes these scripts to run the tests and get back the results.
  • XML config files – These are xml files (called as “Profiles”) containing the configuration information for the test. Eg: MAC Addresses, IP Addresses, BERT parameters, RFC 2544 parameters, and other parameters.
  • PacketExpert™ API – These are internal low-level APIs used by the MAPS™ scripts to control PacketExpert™ hardware.

PacketExpert™ Integration with LabVIEW/TestStand using C# Client

LabVIEW framework offers complete Lab Management, Device Provisioning and Test Automation solutions for engineers. LabVIEW is a popular framework for test automation and is used worldwide to integrate different vendor equipment and automate the use of the same.

Using PacketExpert™ APIs, it is very easy to integrate PacketExpert™ into LabVIEW. Since LabVIEW supports various languages like C# or Python, the PacketExpert™ C# API dll or Python classes can be directly imported into LabVIEW and used in the Graphical environment that LabVIEW provides to control PacketExpert™ devices and automate testing.


PacketExpert™ Integration with LabVIEW

With LabVIEW, it is easy to create flexible test scripts that control multiple hardware, customize test system with graphical programming, included analysis, drag and drop interface. This makes the system compatible with GL's PacketExpert™ software. Eg: Importing the C# Client API dll into LabVIEW instantly provides ability to run any PacketExpert test application like – BERT, RFC2544, Loopback and others.


Buyer's Guide

Please Note: The 'Pxx' in the Item No. refers to the hardware platform on which the software will be running. Therefore, 'Pxx' can either be PXE (1G) or PXG (10G) or PXN (10GX) depending upon the hardware.

 
 
Home Page Sitemap Global Presence Email