APIs for Test Automation and Remote Access
Welcome to another November 2018 issue of GL Communications' Newsletter providing information and insight into new API's support in GL’s Test platforms for advanced and comprehensive testing over TDM, IP, Ethernet (1Gbps/10Gbps), Wireless, Analog networks, enabling test automation and remote controlling through multiple command-line based clients. The APIs allow easy integration with QualiSystems' TestShell and Labview software framework offering complete Lab Management, Device Provisioning and Test Automation solutions for engineers.
Overview
GL’s client-server-based test platforms provide the users the capability of remote operation, automation, and multi-site connectivity through APIs and various clients such as Java, TCL, VB, Python and C#. The APIs allows for programmatic and automated control over all functions of test platform. Each server can receive multiple client connections and offer independent execution to each client. Likewise, a single client can connect to multiple servers, including servers running different protocols, permitting complex test cases.
Client provides a simple scripting language, with programming facilities such as looping, procedures, and variables. The Client application includes a packaged library file that enables communication with the Server from the client environment. The advantage of such communication enables user to control application by sending commands and receiving responses in a scripting language already familiar to many users.
The Client (Python, Java, TCL and others) runs the scripts instructing CLI Server to run the script to perform the specific test like Protocol Simulation, Monitoring, Record Playback, BERT, RFC 2544 etc. Whenever the client wants to execute a particular section in the script it sends a User Event to perform that action and in turn the CLI Server sends the result back to the client using Report Events so that the client can take appropriate actions.
MAPS™ APIs (for IP, TDM, Wireless, Analog)
GL's Message Automation & Protocol Simulation (MAPS™) is a flexible, script driven platform used to generate protocol signaling messages and various traffic that makes it an appropriate test tool for almost any testing paradigm. The call control scripts can automatically handle the generation and reception of bearer traffic over the established call.
The protocol simulation and conformance test tool support a variety of protocols such as SIP, MEGACO, MGCP, SS7, ISDN, GSM, MAP, CAS, LTE, UMTS, SS7 SIGTRAN, ISDN SIGTRAN, SIP I, GSM AoIP, Diameter and others. This message automation tool covers solutions for both protocol simulation and protocol analysis.
MAPS™ supports transmission and detection of various traffic types over IP (RTP, GTP), ATM, & TDM over established calls with the support of necessary hardware. The types of traffic supported are:
- Analog and TDM Traffic (digits, voice files, single tones, dual tones, Dynamic VF, fax, sms, and IVR)
- RTP Traffic (digits, voice files, single / dual tones, fax, video, and IVR)
- Mobile Traffic (User-plane GTP and Gateway – SMS, HTTP, Email, FTP, Video)
- Short Message Service (SMS) Test Solutions
The MAPS™ provides access to all functionalities listed below remotely using Command line Interface (CLI) and APIs through various clients such as TCL, Java, VB, and Python:
- Functional regression testing
- Long duration, high volume performance/load testing
- Protocol conformance testing
- Negative testing
- IVR traversal
- Interoperability testing
- Voice Quality testing
The APIs are divided into “High” and “Low” level function calls. High level scripts leave the protocol logic to the underlying call control script on the MAPS™ server. A Low-level call control scripts transplant that logic to the API language, giving the user full control over signaling.
For more information, user can visit MAPS™ API page.
PacketExpert™ Ethernet Tester APIs (for Windows® and Linux)
PacketExpert™ finds use in testing a wide range of networks – from testing individual links/switches, testing local Ethernet/IP networks (LAN), end-to-end testing of Wide Area Networks (WAN), testing Core/MPLS networks, validate Service Level Agreements (SLAs) and much more. It’s available in different form factors – from Rack based High density 12-port/24-port mTOP™ platform, Portable units, and Tablet-based units.
The PacketExpert™ provides access all functionalities listed below remotely using Command line Interface (CLI) and APIs through various clients such as TCL, C#, and Python.
- Wirespeed BERT
- Smart Loopback
- RFC2544 Tests (Throughput, Latency, Back-to-Back, FrameLoss)
- Packet Capture and Replay
- Packet Broker (Tap-Filter-Aggregate-Modify-Output)
- WAN Link Emulation
- Multi-stream Traffic Generation and Analysis
- ExpertTCP™ (RFC6349)
- ExpertSAM™ (ITU-T Y.1564)
PacketExpert™ can be configured as server-side application using the GL’s MAPS™ CLI Client/Server architecture. 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.
- Extensive Bert, Loopback, RFC 2544, Record Playback, WAN Emulation, PacketBroker, and ExpertSAM™ testing
- Capability of remote operation, automation and multi-site connectivity
- Scripts for MAC, VLAN, MPLS, IP and UDP layers testing
- Multiple PacketExpert™ devices can be controlled remotely from single client application.
For more information, user can visit PacketExpert™ CLI/API page.
T1 E1 T3 E3 APIs (for Windows® and Linux)
The Application Development Toolkit provides application programming interface (API) for custom T1 E1 T3 E3 software development.
GL now provides APIs for Windows® and Linux Operating Systems. The API provides device drivers for GL T1 E1 T3 E3 analyzers and high-level functions to simplify applications development in Windows® and Linux operating systems. All of the functionality of the hardware is exposed through the API. In addition, many software-based functions are available that ease even the most complex application development.
The API has an object-oriented design from the ground up and provides a very consistent, intuitive, and robust interface to assist in developing high quality communication software. The library has extensive error handling and diagnostic features to make software development easier. To make the API library feature-rich and simple to use, all the methods follow the naming and parameter passing conventions.
API for Windows and Linux provides the following functions -
- Implementing HDLC on single timeslots or multi-timeslot streams, ATM cell delineation
- Implementing Delay and BERT, record/playback on sub-timeslot, timeslot, and multi-timeslot streams
- Working with multiple cards in a single PC, you get implementation method for Frame Relay in software, Accessing Pulse Mask and Jitter measurements, Dropping / Adding VF Input and VF Output
- Configuring special cabling options like Cross Port Thru, Cross Port Transmit, Bridge, and Monitor
- Access to Error Insertion Logic, Access to Tx Frequency Deviation Logic
- Windows API library consists of the Initialization and Termination, Configuration, Mode, Codec, Port, Buffer, Register, Driver, Framer, Bit Error Rate, Timeslot, Pattern File, Stream I/O function groups
For more information, user can visit T1 E1 API page.
OC-3/12 STM-1/4 (LightSpeed 1000™ Channelized/Unchannelized)
GL's LightSpeed1000™ hardware platform (PCIe Card and USB Pod) is capable of OC-3/12 and STM-1/4 wire-speed processing on quad optical ports for functions such as wire-speed recording and wire-speed playback of Unchannelized and Channelized ATM, PoS, and RAW Traffic.
The Application Development Toolkit provides application programming interface (API) for custom LightSpeed1000™ - OC-3/12 and STM-1/4 Analysis & Emulation software development for Linux Operating System.
GL has developed Linux drivers and APIs for our OC-3/12 STM-1/4 Cards. Since our cards have unique features unavailable with other industry standard cards, customers can now build custom applications faster and cheaper. All of the functionality of the hardware is exposed through the API. In addition, many software-based functions are available that ease even the most complex application development.
Some functionalities of OC-3/12 STM-1/4 (LightSpeed 1000™ Card) cards in Linux are listed below-
- Works on Win32 and Linux with C/C++ interfaces (VS2005 and above for windows)
- Scrambling / Non-scrambled payload management in ATM / POS / Transparent modes with Internal and Recovered Clock management
- Loopback Line / Diagnostic / PL3, Rx Terminate / Monitor support, ATM Idle Cell Control, Hardware Data Filters
- Hardware and Software Based Performance Counters, SFP Information, Alarm Monitoring (OOF, LOF, LOS, AIS, RDI, APSBF)
- ATM Error Counters (BIP, REI, HEC), POS Error Counters (BIP, REI, Rx/Tx abort, Min/Max length)
- Hardware BERT, POS FCS 32-bit, 16-bit and no-FCS support, POS Hardware Appending / Stripping FCS, Overhead Byte Configuration, Section and Line Error Counts, Insert HCS Errors
For more information, user can visit LightSpeed1000™ API page.
VQuad™ and VQT (Windows® and Linux APIs)
The VQuad™ with Dual Universal Telephone Adapter High Density (Dual UTA HD), or VQuad™ Probe HD supports multiple interfaces for connecting to any communication device on a network. The VQuad™ with any of the above hardware allows to test variety of networks, including Wireless (Bluetooth®, Wi-fi, 3G, 4G, LTE, PTT), VoIP, Analog, and TDM, practically allowing any end-point interfaces to be tested for voice, data, and video quality.
The VQuad™ Command Line Interface (CLI) supports remote accessibility and thus facilitates controlling individual VQuad™ nodes located at various destinations. Also included is an API (SDK) for remote controlling the individual VQuad™ nodes from within any application. VQuad™ provides full support for CLI on both Windows® and Linux environment. The VQuad™ Remote Access (Client) allows VQuad™ operations to be remotely controlled by one (or several) VQuad™ clients over a LAN, WAN, or Internet. The supporting commands include all Call Control functions as well as traffic generation/reception functions.
The VQuad™ functions that are generally available through APIs are listed below –
- Connect/disconnect the client applications with a VQuad™ Server and GL Listener.
- Perform all general device configurations
- Send and receive files on the configured devices
- Load auto traffic configuration files and scripts
- Perform call control functions (place call, receive call, disconnect)
- Perform all traffic actions (send/detect tones/digits/files, send/record voice)
- Perform voice quality, delay, noise, and echo measurements
- Retrieve the all results and statistics
- Monitor status of all remote VQuad™ nodes
GL has developed Windows® and Linux APIs for VQT as well. The VQT API environment provides two-way traffic to the VQT server, ability to control the VQT server remotely and provides for instant feedback of VQT client actions.
The VQT functions that are generally available through APIs are listed below –
- Connect/disconnect the client applications with a VQT Server
- Automatically perform VQT with PESQ/POLQA algorithms
- Start/Stop VQT Auto-mode operations
- Capture individual VQT events to file in real-time
- Retrieve the VQT Statistics
- Load VQT auto measurement configuration files
For more details, user can visit VQuad™ and VQT API page.