GL Announces APIs for Protocol Simulation and Conformance Testing
Welcome to another July, 2016 issue of GL Communications' Newsletter providing information and insight into new API's support for custom development of versatile Protocol Simulation and Conformance Test Tool referred to as Message Automation & Protocol Simulation (MAPS™) platform.
Overview
GL's Message Automation & Protocol Simulation (MAPS™) is a flexible, script driven platform used to generate protocol signaling messages and bearer traffic. Each variant of MAPS™ is delivered with a set of scripts which offer a working, out-of-the-box state machine to get users up and running right away. These scripts (and the messages they send) are also fully customizable so that users can develop their own complex test cases and implement custom/proprietary usage of the protocol. All variants of MAPS™ use the same software architecture and proprietary scripting language, meaning once a user is comfortable and familiar with one version of MAPS™, his knowledge is readily transferable to every other version.
This script-based flexibility makes MAPS™ an appropriate test tool for almost any testing paradigm, including:
- Functional regression testing
- Long duration, high volume performance/load testing
- Protocol conformance testing
- Negative testing
- IVR traversal
- Interoperability testing
- Voice Quality testing
The call control scripts can also automatically handle the generation and reception of bearer traffic over the established call. 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
For more information, user can visit Traffic Simulation page.
MAPS™ also includes support for wide range of codec rates – user can visit Voice Codecs webpage for more details.
New API Features
The new API allows for programmatic and automated control over all MAPS™ platforms. Each MAPS™ server can receive multiple client connections and offer independent execution to each client. Likewise, each client is able to connect to multiple MAPS™ servers, including servers running different protocols, permitting complex cross-protocol test cases.
Python and Java API
In addition to existing Tcl and VBS APIs, GL is now offering Python and Java APIs for most variants of MAPS™. The new API is written using an object-oriented coding paradigm, designed to give the user simple and intuitive containers for their messages, calls and regressions. The new API is 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. Meaning, for example when receiving a SIP INVITE, the High Level call control script will immediately and automatically respond with a 100 Trying and 180 Ringing, when it eventually sends the 200 OK and it will retransmit in accordance with the RFC.
A Low Level call control scripts transplant that logic to the API language, giving the user full control over signaling. This necessarily leads to more complex API scripts but it gives the user complete control over the state machine.
Full Message Decode in API
The new API, both High and Low, can now extract complete decode of all messages in a call along with the timestamp of when that message was transmitted or received:
INVITE -> 12:20:48.717
INVITE sip:0001@192.168.30.212 SIP/2.0
Via: SIP/2.0/UDP 192.168.30.159:5060;branch=z9hG4bK_4_2494928976-5417-2604
Max-Forwards: 70
Allow: INVITE,BYE,CANCEL,ACK,INFO,OPTIONS,SUBSCRIBE,NOTIFY,REFER,REGISTER
From: 348 <sip:0001@192.168.30.159>;tag=FromTag_1_2494928976-5414-2604
To: 345 <sip:0001@192.168.30.212>
Call-ID: GL-MAPS_3_2494928976-5416-2604@192.168.30.159
CSeq: 1 INVITE
Contact: 348 <sip:0001@192.168.30.159>
Content-Type: application/sdp
Content-Length: 246
This text can be parsed and reacted to using API language regex libraries or any other means the user wishes. Among many other uses, this now allows the user to parse and react to custom/proprietary fields which he otherwise might not be able to. The ability to extract timestamps for every message also makes it trivial to track message response delays.
Voice Quality Testing
A new optional license for MAPS™ RTP Core now offers integrated, packet-based Voice Quality analysis, example:
CMOS = 4.195313
LMOS = 4.195313
CR_FACTOR = 93
LR_FACTOR = 93
TX_PACKETS = 114
RX_PACKETS = 508
LOST_PACKETS = 0
DISCARDED_PACKETS = 0
OUT_OF_SEQ_PACKETS = 0
DUPLICATE_PACKETS = 0
AVG_JITTER = 0.012000
(Note that this new feature is available in the GUI as well)
The MAPS™ API is also now fully integrated with GL's VQT software which delivers PESQ/POLQA scores (i.e. waveform analysis, rather than packet analysis).