The information below details the variables that are available for export to MSSQL/MySQL/JavaScript.
With each new MCS release there is the possibility of new variables. To ensure the latest variables are available be sure to have the latest MCS installed.
Global variables are availble for all test types.
Name | Units | Data Type | Description | SQL | JS |
IP | varchar(128 bit) | The IP address of the client | '%IP%' | $IP$ | |
Time | varchar(256 bit) | The date/time as a GMT String | '%TIME%' | n/a | |
Time Int | bigint(20) | The date/time as a number (eg: 20180725140500 for 14:05 on 25-Jul-2018) | %TIMEINT% | n/a | |
Time ms | ms | bigint(20) | The time in milliseconds from 1970 (eg: 1668193538367 for Fri Nov 11 2022 19:05:38 UTC 00:00). | %TIMEMS% | n/a |
Date/Time | varchar(256 bit) | The date/time that adheres to the SQL DATETIME standard. | '%DATETIME%' | $DATETIME$ | |
Session ID | varchar(256 bit) | The session ID is a custom identifier used to help identify results | '%SID%' | $SID$ | |
DNS Name | varchar(256 bit) | Client's DNS Name | '%DNSNAME%' | n/a | |
Test To | varchar(32 bit) | Server test-to address as seen by the client | '%TESTTO%' | n/a | |
Country Code | varchar(3 bit) | Country code | '%CC%' | n/a | |
ISP | varchar(128 bit) | Client’s ISP name | '%ISP%' | n/a | |
Detail Link | varchar(256 bit) | The URL for the detail report | '%DETAILLINK%' | $DETAILLINK$ | |
Test ID | int | The ID number for a particular group of tests (not unique) | %TESTID% | n/a | |
Record ID | int | Record ID # for an individual test (not unique) | %RECORDID% | $MSSID$ | |
Connection Type | varchar(16 bit) | The type of connection the test was run on (WiFi/Ethernet) | '%CONTYPE%' | $CONNTYPE$ | |
Proxy State | varchar(1) | If a proxy was detected or not | '%VIAPROXY%' | $PROXY$ |
JavaScript Example
To use the JavaScript variables above a new param tag has to be added to the m_applet_params variable in the HTML of the test page. An example of this can be seen below.
The value of the param tag is simply a JavaScript variable call. Create this method and the variables will be passed to it on test completion.
var m_applet_params = '<applet width="600" height="400">\
<param name="testspecid" value="-2">\
<param name="js" value="processResults($IP$,$DATETIME$,$SID$,$DETAILLINK$,$MSSID$,$CONNTYPE$,$PROXY$)">\
<param name="config" value="default">\
</applet>';
SQL Example
To use the SQL variables above create an SQL profile as shown below.
The SQL statment shown below must match the SQL table. The column types are shown above.
[speed] INSERT INTO global (recordid, testid, timeint, time, datetime, sid, ip, isp, dns, testto, cc, detaillink, contype, proxy) VALUES (%RECORDID%, %TESTID%, %TIMEINT%, %TIME%, '%DATETIME%', '%SID%', '%IP%', '%ISP%', '%DNSNAME%', '%TESTTO%', '%CC%', '%DETAILLINK%', '%CONTYPE%', '%VIAPROXY%');
Quality variables are availble for tests performed to or from an Access Device Satellite.
Name | Units | Data Type | Description | SQL | JS |
Download Speed | bps | Integer (64 bit) | Download speed in bits per second | %ACT.DSPEED% | |
Upload Speed | bps | Integer (64 bit) | Upload speed in bits per second | %ACT.USPEED% | |
Download Bandwidth | Kbps | Integer (32 bit) | Download Bandwidth in bits per second | %ACT.DPCTKBPS% | |
Upload Bandwidth | Kbps | Integer (32 bit) | Upload Bandwidth in bits per second | %ACT.UPCTKBPS% | |
Download Percentile | % | Integer (8 bit) | %ACT.DPCTILE% | ||
Upload Percentile | % | Integer (8 bit) | %ACT.UPCTILE% | ||
QOS | % | Integer (8 bit) | Download Quality/Consistency of Service | %ACT.QOS% | |
Upload QOS | % | Integer (8 bit) | Upload Quality/Consistency of Service | %ACT.UQOS% | |
Min RTT | ms | Integer (8 bit) | The minimum round trip time | %ACT.RTT% | |
Max RTT | % | Integer (8 bit) | The maximum round trip time | %ACT.RTTMAX% | |
Average RTT | % | Integer (8 bit) | The average round trip time | %ACT.RTTAVG% | |
Max Pause | ms | Integer (8 bit) | The max delay for the connection test | %ACT.MAXPAUSE% | |
Up Max Pause | Ms | Integer (8 bit) | Upload Max Pause | %ACT.UMAXPAUSE% | |
Max Route Speed | bps | Integer (64 bit) | The maximum achievable speed for the route based on the minimm round trp time | %ACT.MAXROUTESPEED% | |
Up Max Route Speed | bps | Integer (64 bit) | The maximum achievable speed for the route based on the minimm round trp time | %ACT.UMAXROUTESPEED% | |
Effective Speed | bps | Integer (64 bit) | The maximum effective speed | %ACT.MAXLINESPEED% | |
Up Effective Speed | Ms | Integer (64 bit) | Upload Maximum Effective Speed | %ACT.UMAXLINESPEED% | |
Max TCP Connections | Float | The maximum amount of TCP connections given the result of the test | %ACT.CONCURRENTTCP% | ||
MUp ax TCP Connections | Decimal (32 bit) | Max TCP Connections | %ACT.UCONCURRENTTCP% | ||
TCP forced Idle | % | Float | TCP Forced Idle | %ACT.TCPFORCEDIDLE% | |
Up TCP Forced Idle | % | Float | Upload TCP Forced Idle | %ACT.UTCPFORCEDIDLE% | |
TCP MTU | Integer (8 bit) | Maximum Transmission Unit | %ACT.TCPMTU% | ||
Packets not in order | Integer (16 bit) | The number of packets that didn't arrive in order | %ACT.TCPRXPOOO% | ||
Bytes not in order | Integer (16 bit) | The number of bytes that didn't arrive in order | %ACT.TCPRXBOOO% | ||
Packets not in window | Integer (16 bit) | Packets that arrived outside of the window | %ACT.TCPRXPOW% | ||
Bytes not in window | Integer (16 bit) | Bytest that arrived outside of the window | %ACT.TCPRXBOW% | ||
Duplicated packets | Integer (16 bit) | Packets that were duplicated | %ACT.TCPRXDOP% | ||
Duplicated bytes | Integer (16 bit) | Bytes that were duplicated | %ACT.TCPRXDOB% | ||
Part duplicated packets | Integer (16 bit) | Packets that were partially duplicated | %ACT.TCPRXPDP% | ||
Part duplicated bytes | Integer (16 bit) | Bytes that were partially duplicated | %ACT.TCPRXPDB% | ||
CRC Packet Errors | Integer (16 bit) | CRC Packet Errors | %ACT.TCPRXCRCERR% | ||
Bad Packet Offset | Integer (16 bit) | Bad packet offsets | %ACT.TCPRXBOFF% | ||
Packets too short | Integer (16 bit) | Packets too short | %ACT.TCPRXTS% | ||
Window probes received | Integer (16 bit) | Window probes received | %ACT.TCPRXPROBE% | ||
Zero window updates sent | Integer (16 bit) | Zero window updates sent | %ACT.TCPRXWINZEROUP% | ||
Bytes lost | Integer (16 bit) | Bytes lost | %ACT.TCPBYTESLOST% | ||
Retransmit Timeouts | Integer (16 bit) | Retransmit Timeouts | %ACT.TCPTXRTXTMO% | ||
Fast Retransmits | Integer (16 bit) | Fast Retransmits | %ACT.TCPTXRTXFAST% | ||
Packets Retransmitted | Integer (16 bit) | Packets Retransmitted | %ACT.TCPTXPRETX% | ||
Bytes Retransmitted | Integer (16 bit) | Bytes Retransmitted | %ACT.TCPTXBRETX% | ||
Send Window Closed | Integer (16 bit) | Send Window Closed | %ACT.TCPTXSNDWINCLOSE% | ||
Pure Window Update | Integer (16 bit) | Pure Window Update | %ACT.TCPTXRCVWINUPD% | ||
Ack Too Much | Integer (16 bit) | Acknowledgements for unset packets | %ACT.TCPTXRCVACKTOOMUCH% | ||
Duplicate Acknowledgements | Integer (16 bit) | Duplicate Acknowledgements | %ACT.TCPTXRCVDUPACK% | ||
Send Probe | Integer (16 bit) | Window Probes Sent | %ACT.TCPTXSNDPROBE% | ||
Persist Timeouts | Integer (16 bit) | Persist Timeouts | %ACT.TCPTXPERSISTTIMEO% | ||
XL Frames | Integer (32 bit) | XL Frames | %ACT.ETHRXFTL% | ||
NA Frames | Integer (32 bit) | NA Frames | %ACT.ETHRXNOAL% | ||
Short Frames | Integer (32 bit) | Short Frames | %ACT.ETHRXSF% | ||
CRC Errors | Integer (32 bit) | CRC Errors | %ACT.ETHRXCRCERR% | ||
Overruns | Integer (32 bit) | Overruns | %ACT.ETHRXOVR% | ||
Cut Frames | Integer (32 bit) | Cut Frames | %ACT.ETHRXTRUNC% | ||
Download Test Type | Text | Download Test Type | %ACT.DTESTTYPE% | ||
Upload Test Type | Text | Upload Test Type | %ACT.UTESTTYPE% | ||
Network Downtime | Sec | Integer (32 bit) | Network Downtime | %ACT.NETDOWNSEC% | |
Network Uptime | Sec | Integer (32 bit) | Network Uptime | %ACT.NETUPSEC% | |
PC Network Downtime | % | Decimal (32 bit) | PC Network Downtime | %ACT.NETDOWNPC% | |
HTTP 3xx | Sec | Integer (32 bit) | HTTP 3xx | %ACT.HTTP3XXSEC% | |
HTTP 4xx | Sec | Integer (32 bit) | HTTP 4xx | %ACT.HTTP4XXSEC% | |
HTTP 5xx | Sec | Integer (32 bit) | HTTP 5xx | %ACT.HTTP5XXSEC% | |
HTTP ?xx | Sec | Integer (32 bit) | HTTP ?xx | %ACT.HTTPQXXSEC% | |
Firmware Version | Text | Firmware Version | %ACT.VERSION% | ||
CPU Up Time | Sec | Integer (64 bit) | CPU Up Time | %ACT.RUNTIME% | |
FreeQ | Integer (32 bit) | FreeQ | %ACT.FREEQ% | ||
Interface | Text | Ethernet Interface Type (100FD, 100HD etc) | %ACT.INTERFACE% |
SQL Example
To use the SQL variables above create an SQL profile as shown below.
The SQL statment shown below must match the SQL table. The column types are shown above.
[act] INSERT INTO quality (recordid, testid, dspeed, uspeed, qos, rtt, rttmax, rttavg, maxpause, maxroutespeed, maxlinespeed, concurrenttcp, tcpmtu, tcpforcedidle, pooo, booo, pow, bow, dop, dob, pdp, pdb, crcerr, boff, ts, probe, winzeroup, byteslost, rtxtmo, rtxfast, pretx, bretx, sendclose, rcvwinup, acktoomuch, duppack, sndprobe, presisttmo, interface, uqos, umaxpause, umaxlinespeed, uconcurrenttcp, utcpforcedidle, ftl, noal, sf, ethrxcrcerr, ovr, trunc, dtesttype, utesttype, netdown, netup, downpc, http3, http4, http5, httpq, version, runtime, freeq) VALUES (%RECORDID%, %TESTID%, %ACT.DSPEED%, %ACT.USPEED%, %ACT.QOS%, %ACT.RTT%, %ACT.RTTMAX%, %ACT.RTTAVG%, %ACT.MAXPAUSE%, %ACT.MAXROUTESPEED%, %ACT.MAXLINESPEED%, %ACT.CONCURRENTTCP%, %ACT.TCPMTU%, %ACT.TCPFORCEDIDLE%, %ACT.TCPRXPOOO%, %ACT.TCPRXBOOO%, %ACT.TCPRXPOW%, %ACT.TCPRXBOW%, %ACT.TCPRXDOP%, %ACT.TCPRXDOB%, %ACT.TCPRXPDP%, %ACT.TCPRXPDB%, %ACT.TCPRXCRCERR%, %ACT.TCPRXBOFF%, %ACT.TCPRXTS%, %ACT.TCPRXPROBE%, %ACT.TCPRXWINZEROUP%, %ACT.TCPBYTESLOST%, %ACT.TCPTXRTXTMO%, %ACT.TCPTXRTXFAST%, %ACT.TCPTXPRETX%, %ACT.TCPTXBRETX%, %ACT.TCPTXSNDWINCLOSE%, %ACT.TCPTXRCVWINUPD%, %ACT.TCPTXRCVACKTOOMUCH%, %ACT.TCPTXRCVDUPACK%, %ACT.TCPTXSNDPROBE%, %ACT.TCPTXPERSISTTIMEO%, '%ACT.INTERFACE%', %ACT.UQOS%, %ACT.UMAXPAUSE%, %ACT.UMAXLINESPEED%, %ACT.UCONCURRENTTCP%, %ACT.UTCPFORCEDIDLE%, %ACT.ETHRXFTL%, %ACT.ETHRXNOAL%, %ACT.ETHRXSF%, %ACT.ETHRXCRCERR%, %ACT.ETHRXOVR%, %ACT.ETHRXTRUNC%, '%ACT.DTESTTYPE%', '%ACT.UTESTTYPE%', %ACT.NETDOWNSEC%, %ACT.NETUPSEC%, %ACT.NETDOWNPC%, %ACT.HTTP3XXSEC%, %ACT.HTTP4XXSEC%, %ACT.HTTP5XXSEC%, %ACT.HTTPQXXSEC%, '%ACT.VERSION%', %ACT.RUNTIME%, %ACT.FREEQ%);
Below is the CREATE TABLE statement for MySQL.
CREATE TABLE accessct (recordid bigint, testid bigint, dspeed bigint, uspeed bigint, qos int, rtt int, rttmax int, rttavg int, maxpause int, maxroutespeed bigint, maxlinespeed bigint, concurrenttcp float, tcpmtu int, tcpforcedidle float, pooo int, booo int, pow int, bow int, dop int, dob int, pdp int, pdb int, crcerr int, boff int, ts int, probe int, winzeroup int, byteslost int, rtxtmo int, rtxfast int, pretx int, bretx int, sendclose int, rcvwinup int, acktoomuch int, duppack int, sndprobe int, presisttmo int, interface varchar(128), uqos int, umaxpause int, umaxlinespeed bigint, uconcurrenttcp float, utcpforcedidle float, ftl int, noal int, sf int, ethrxcrcerr int, ovr int, trunc int, dtesttype varchar(6), utesttype varchar(6), netdown int, netup int, downpc int, http3 int, http4 int, http5 int, httpq int, version varchar(128), runtime int, freeq int, PRIMARY KEY (recordid));
Below are variables that are available for the speed test.
Name | Units | Data Type | Description | SQL | JS |
Download Speed | bps | Int (64 bit) | Download Speed | %SPEED.DSPEED% | $SPEED.DSPEED$ |
Upload Speed | bps | Int (64 bit) | Upload Speed | %SPEED.USPEED% | $SPEED.USPEED$ |
Download QoS | % | Float | Download Quality of Service | %SPEED.QOS% | $SPEED.QOS$ |
Upload QoS | % | Float | Upload Quality of Service | %SPEED.UQOS% | $SPEED.UQOS$ |
RTT Min | ms | Int (16 bit) | Minimum Round Trip Time | %SPEED.RTT% | $SPEED.RTT$ |
RTT Max | ms | Int (16 bit) | Maximum Round Trip Time | %SPEED.RTTMAX% | $SPEED.RTTMAX$ |
RTT Avg | ms | Int (16 bit) | Average Round Trip Time | %SPEED.RTTAVG% | $SPEED.RTTAVG$ |
RTT Consistency | % | Int (16 bit) | Consistency, as a percentage, of the round trip times | %SPEED.RTTCONSISTENCY% | $SPEED.RTTCONSISTENCY$ |
Max Pause | ms | Int (8 bit) | Maximum Pause | %SPEED.MAXPAUSE% | $SPEED.MAXPAUSE$ |
Avg Pause | ms | Int (8 bit) | Average Pause | %SPEED.AVGPAUSE% | $SPEED.AVGPAUSE$ |
Bandwidth | bps | Int (64 bit) | Bandwidth | %SPEED.BANDWIDTH% | $SPEED.BANDWIDTH$ |
Route Speed | bps | Int (64 bit) | Route Speed | %SPEED.ROUTESPEED% | $SPEED.ROUTESPEED$ |
Forced Idle | % | Int (8 bit) | Forced Idle | %SPEED.FORCEDIDLE% | $SPEED.FORCEDIDLE$ |
Route Concurrency | Float | Route Concurrency | %SPEED.ROUTECONC% | $SPEED.ROUTECONC$ | |
Download Test Type | Text | Download Test Type | '%SPEED.DTESTTYPE%' | $SPEED.DTESTTYPE$ | |
Upload Test Type | Text | Upload Test Type | '%SPEED.UTESTTYPE' | $SPEED.UTESTTYPE$ |
JavaScript Example
To use the JavaScript variables above a new param tag has to be added to the m_applet_params variable in the HTML of the test page. An example of this can be seen below.
The value of the param tag is simply a JavaScript variable call. Create this method and the variables will be passed to it on test completion.
var m_applet_params = '<applet width="600" height="400">\
<param name="testspecid" value="-2">\
<param name="js" value="processResults($SPEED.DSPEED$, $SPEED.USPEED$, $SPEED.QOS$, $SPEED.UQOS$, $SPEED.RTT$, $SPEED.RTTMAX$, $SPEED.RTTAVG$, $SPEED.RTTCONSISTENCY$, $SPEED.MAXPAUSE$, $SPEED.AVGPAUSE$, $SPEED.BANDWIDTH$, $SPEED.ROUTESPEED$, $SPEED.FORCEDIDLE$, $SPEED.ROUTECONC$, $SPEED.DTESTTYPE$, $SPEED.UTESTTYPE$)">\
<param name="config" value="default">\
</applet>';
SQL Example
To use the SQL variables above create an SQL profile as shown below.
The SQL statment shown below must match the SQL table. The column types are shown above.
[speed] INSERT INTO myspeed (recordid, testid, dspeed, uspeed, qos, uqos, rtt, rttmax, rttavg, rttconsistency, maxpause, avgpause, bandwidth, routespeed, forcedidle, routeconc, dtesttype, utesttype) VALUES (%RECORDID%, %TESTID%, %SPEED.DSPEED%, %SPEED.USPEED%, %SPEED.QOS%, %SPEED.UQOS%, %SPEED.RTT%, %SPEED.RTTMAX%, %SPEED.RTTAVG%, %SPEED.RTTCONSISTENCY%, %SPEED.MAXPAUSE%, %SPEED.AVGPAUSE%, %SPEED.BANDWIDTH%, %SPEED.ROUTESPEED%, %SPEED.FORCEDIDLE%, %SPEED.ROUTECONC%, '%SPEED.DTESTTYPE%', '%SPEED.UTESTTYPE%');
Below is the CREATE TABLE statement for MySQL.
CREATE TABLE myspeed (recordid int, testid int, dspeed bigint, uspeed bigint, qos int, uqos int, rtt int, rttmax int, rttavg int, rttconsistency int, maxpause int, avgpause int, bandwidth bigint, routespeed bigint, forcedidle int, routeconc float, dtesttype varchar(6), utesttype varchar(6), PRIMARY KEY (recordid));
Below are variables that are available for the VoIP test.
Name | Units | Data Type | Description | SQL | JS |
Up Jitter | ms | Float | Jitter result for the upstream | %VOIP.JITTER% | $VOIP.JITTER$ |
Up Loss | % | Float | Packet loss for the upstream | %VOIP.LOSS% | $VOIP.PACKETLOSS$ |
Down Jitter | ms | Float | Jitter for the downstream | %VOIP.DJITTER% | $VOIP.DJITTER$ |
Down Loss | % | Float | Packet loss for the downstream | %VOIP.DLOSS% | $VOIP.DPACKETLOSS$ |
Discards | % | Float | Prcentage of packets discarded by protocol | %VOIP.DISCARDS% | $VOIP.DISCARDS$ |
Order | % | Float | Ordering percentage (metric showing how well ordered the packets were) | %VOIP.ORDER% | $VOIP.ORDER$ |
RTT Minimum | ms | Int (8 bit) | Minimum RTT (Round trip time) | %VOIP.RTTMIN% | $VOIP.RTTMIN$ |
RTT Average | ms | Int (8 bit) | Average RTT (Round trip time) | %VOIP.RTTAVG% | $VOIP.RTTAVG$ |
RTT Maximum | ms | Int (8 bit) | Maximum RTT (Round trip time) | %VOIP.RTTMAX% | $VOIP.RTTMAX$ |
RTT Consistency | % | Float | RTT (Round trip time) consistency | %VOIP.RTTCONSISTENCY% | $VOIP.RTTCONSISTENCY$ |
SIP Register | ms | Int (8 bit) | Time taken to perform SIP REGISTER | %VOIP.REGISTER% | $VOIP.REGISTER$ |
SIP Invite | ms | Int (8 bit) | Time taken to perform SIP INVITE | %VOIP.INVITE% | $VOIP.INVITE$ |
SIP Bye | ms | Int (8 bit) | Time taken to perform SIP BYE | %VOIP.BYE% | $VOIP.BYE$ |
SIP ALG | String | Varchar (8 bit) | SIP Application Layer Gateway detected | %VOIP.SIPALGFW% | $VOIP.SIPALGFW$ |
Up Distribution Loss | % | Float | Upstream distribution loss | %VOIP.UPDISTLOSS% | $VOIP.UPDISTLOSS$ |
Down Distribution Loss | % | Float | Upstream distribution loss | %VOIP.DOWNDISTLOSS% | $VOIP.DOWNDISTLOSS$ |
Up Max Jitter | ms | Float | Maximum recorded jitter during the upstream | %VOIP.MAXJITTER% | $VOIP.MAXJITTER$ |
Down Max Jitter | ms | Float | Maximum recorded jitter during the downstream | %VOIP.DMAXJITTER% | $VOIP.DMAXJITTER$ |
Up MOS | - | Float | MOS score for the upstream | %VOIP.MOS% | $VOIP.MOS$ |
Down MOS | - | Float | MOS score for the downstream | %VOIP.DMOS% | $VOIP.DMOS$ |
Lines | - | Int | Number of lines simulated for the test | %VOIP.LINES% | - |
JavaScript Example
To use the JavaScript variables above a new param tag has to be added to the m_applet_params variable in the HTML of the test page. An example of this can be seen below.
The value of the param tag is simply a JavaScript variable call. Create this method and the variables will be passed to it on test completion.
var m_applet_params = '<applet width="600" height="400">\
<param name="testspecid" value="-1">\
<param name="js" value="processResults($VOIP.JITTER$, $VOIP.PACKETLOSS$, $VOIP.DJITTER$, $VOIP.DPACKETLOSS$, $VOIP.DISCARDS$, $VOIP.ORDER$, $VOIP.RTTMIN$, $VOIP.RTTAVG$, $VOIP.RTTMAX$, $VOIP.RTTCONSISTENCY$, $VOIP.REGISTER$, $VOIP.INVITE$, $VOIP.BYE$, $VOIP.SIPALGFW$, $VOIP.UPDISTLOSS$, $VOIP.DOWNDISTLOSS$, $VOIP.MAXJITTER$, $VOIP.DMAXJITTER$, $VOIP.MOS$, $VOIP.DMOS$)">\
<param name="config" value="default">\
</applet>';
SQL Example
To use the SQL variables above create an SQL profile as shown below.
The SQL statment shown below must match the SQL table. The column types are shown above.
[voip] INSERT INTO myvoip (recordid, testid, jitter, loss, djitter, dloss, discards, pktorder, rttmin, rttavg, rttmax, rttcon, reg, inv, bye, sipalg, updist, downdist, maxjit, dmaxjit, mos, dmos, simlines) VALUES (%RECORDID%, %TESTID%, %VOIP.JITTER%, %VOIP.LOSS%, %VOIP.DJITTER%, %VOIP.DLOSS%, %VOIP.DISCARDS%, %VOIP.ORDER%, %VOIP.RTTMIN%, %VOIP.RTTAVG%, %VOIP.RTTMAX%, %VOIP.RTTCONSISTENCY%, %VOIP.REGISTER%, %VOIP.INVITE%, %VOIP.BYE%, '%VOIP.SIPALGFW%', %VOIP.UPDISTLOSS%, %VOIP.DOWNDISTLOSS%, %VOIP.MAXJITTER%, %VOIP.DMAXJITTER%, %VOIP.MOS%, %VOIP.DMOS%, %VOIP.LINES%);
Below is the CREATE TABLE statement for MySQL.
CREATE TABLE myvoip (recordid int, testid int, jitter float, loss float, djitter float, dloss float, discards float, pktorder float, rttmin int, rttavg int, rttmax int, rttcon float, reg int, inv int, bye int, sipalg varchar(8), updist float, downdist float, maxjit float, dmaxjit float, mos float, dmos float, simlines int);
Below are variables that are available for the Route test.
Name | Units | Data Type | Description | SQL | JS |
Hop Numbers (client to server) |
- | SMALLINT | An array of the route hop numbers | - | $ROUTE.HOPNUMARRAY$ |
Hop Numbers (server to client) |
- | SMALLINT | An array of the route hop numbers | - | $ROUTE.SHOPNUMARRAY$ |
IPs (client to server) |
- | Varchar(64) | An array of the route IP addresses | - | $ROUTE.IPARRAY$ |
IPs (server to client) |
- | Varchar(64) | An array of the route IP addresses | - | $ROUTE.SIPARRAY$ |
Average Response (client to server) |
ms | SMALLINT | An array of the average response times for each hop | - | $ROUTE.MSARRAY$ |
Average Response (server to client) |
ms | SMALLINT | An array of the average response times for each hop | - | $ROUTE.SMSARRAY$ |
Maximum Response (client to server) |
ms | SMALLINT | An array of the maximum response times for each hop | - | $ROUTE.MSMAXARRAY$ |
Maximum Response (server to client) |
ms | SMALLINT | An array of the maximum response times for each hop | - | $ROUTE.SMSMAXARRAY$ |
Minimum Response (client to server) |
ms | SMALLINT | An array of the minimum response times for each hop | - | $ROUTE.MSMINARRAY$ |
Minimum Response (server to client) |
ms | SMALLINT | An array of the minimum response times for each hop | - | $ROUTE.SMSMINARRAY$ |
Packet Loss (client to server) |
% | TINYINT | An array of the packet loss percentage for each hop | - | $ROUTE.LOSSARRAY$ |
Packet Loss (server to client) |
% | TINYINT | An array of the packet loss percentage for each hop | - | $ROUTE.SLOSSARRAY$ |
Locations (client to server) |
String | Varchar(256) | An array of the location, if known, for each hop | - | $ROUTE.LOCATIONARRAY$ |
Locations (server to client) |
String | Varchar(256) | An array of the location, if known, for each hop | - | $ROUTE.SLOCATIONARRAY$ |
Network names (client to server) |
String | Varchar(256) | An array of the network names for each hop | - | $ROUTE.NETWORKARRAY$ |
Network names (server to client) |
String | Varchar(256) | An array of the network names for each hop | - | $ROUTE.SNETWORKARRAY$ |
DSCP (client to server) |
Array | - | An array of the DSCP values for each hop | - | $ROUTE.DSCPARRAY$ |
DSCP (server to client) |
Array | - | An array of the DSCP values for each hop | - | $ROUTE.SDSCPARRAY$ |
Max Route Response (client to server) |
ms | SMALLINT | Maximum response time for the route | %ROUTE.MAXMS% | $ROUTE.MAXMS$ |
Max Route Response (server to client) |
ms | SMALLINT | Maximum response time for the route | %ROUTE.MAXMS% | $ROUTE.SMAXMS$ |
Target Packet Loss (client to server) |
% | TINYINT | Packet loss to target | %ROUTE.ENDLOSS% | $ROUTE.ENDLOSS$ |
Target Packet Loss (server to client) |
% | TINYINT | Packet loss to target | %ROUTE.ENDLOSS% | $ROUTE.SENDLOSS$ |
Target Average Response (client to server) |
ms | SMALLINT | Average response time to target | %ROUTE.ENDMS% | $ROUTE.ENDMS$ |
Target Average Response (server to client) |
ms | SMALLINT | Average response time to target | %ROUTE.ENDMS% | $ROUTE.SENDMS$ |
Target IP (client to server) |
Varchar(128) | The target IP address | %ROUTE.IPTO% | $ROUTE.TOIP$ | |
Target IP (server to client) |
Varchar(128) | The target IP address | %ROUTE.IPTO% | $ROUTE.STOIP$ | |
Hops to target (client to server) |
SMALLINT | Total number of hops in route | %ROUTE.HOPS% | $ROUTE.HOPCOUNT$ | |
Hops to target (server to client) |
SMALLINT | Total number of hops in route | %ROUTE.HOPS% | $ROUTE.SHOPCOUNT$ | |
Source IP (client to server) |
Varchar(128) | The IP address the route originated from | %ROUTE.IPFROM% | $ROUTE.FROMIP$ | |
Source IP (server to client) |
Varchar(128) | The IP address the route originated from | %ROUTE.IPFROM% | $ROUTE.SFROMIP$ | |
Route target name | Varchar(128) | The name of the trace route target | %ROUTE.ENTEREDNAME% | - | |
DNS Response | ms | SMALLINT | The DNS response time for the target | %ROUTE.DNSTIME% | - |
Max Route Loss | % | TINYINT | Maximum loss recorded for all hops over the route | %ROUTE.MAXLOSS% | - |
JavaScript Example
To use the JavaScript variables above a new param tag has to be added to the m_applet_params variable in the HTML of the test page. An example of this can be seen below.
The value of the param tag is simply a JavaScript variable call. Create this method and the variables will be passed to it on test completion.
var m_applet_params = '<applet width="600" height="400">\
<param name="testspecid" value="-3">\
<param name="js" value="processResults($ROUTE.HOPNUMARRAY$, $ROUTE.SHOPNUMARRAY$, $ROUTE.IPARRAY$, $ROUTE.SIPARRAY$, $ROUTE.MSARRAY$, $ROUTE.SMSARRAY$, $ROUTE.MSMAXARRAY$, $ROUTE.SMSMAXARRAY$, $ROUTE.MSMINARRAY$, $ROUTE.SMSMINARRAY$, $ROUTE.LOSSARRAY$, $ROUTE.SLOSSARRAY$, $ROUTE.LOCATIONARRAY$, $ROUTE.SLOCATIONARRAY$, $ROUTE.NETWORKARRAY$, $ROUTE.SNETWORKARRAY$, $ROUTE.DSCPARRAY$, $ROUTE.SDSCPARRAY$, $ROUTE.MAXMS$, $ROUTE.SMAXMS$, $ROUTE.ENDLOSS$, $ROUTE.SENDLOSS$, $ROUTE.ENDMS$, $ROUTE.SENDMS$, $ROUTE.TOIP$, $ROUTE.STOIP$, $ROUTE.HOPCOUNT$, $ROUTE.SHOPCOUNT$, $ROUTE.FROMIP$, $ROUTE.SFROMIP$)">\
<param name="config" value="default">\
</applet>';
Click here to view some examples of the array variables.
SQL Example
To use the SQL variables above create an SQL profile as shown below.
The SQL statment shown below must match the SQL table. The column types are shown above.
[route] INSERT INTO myroute (recordid, testid, traceto, totalhops, targetms, maxms, targetloss, maxloss, dnstime, targetip, tracefrom) VALUES (%RECORDID%, %TESTID%, '%ROUTE.ENTEREDNAME%', %ROUTE.HOPS%, %ROUTE.ENDMS%, %ROUTE.MAXMS%, %ROUTE.ENDLOSS%, %ROUTE.MAXLOSS%, %ROUTE.DNSTIME%, '%ROUTE.IPTO%', '%ROUTE.IPFROM%');
Below is the CREATE TABLE statement for MySQL.
CREATE TABLE myroute (recordid int, testid int, traceto varchar(128), totalhops tinyint, targetms smallint, maxms smallint, targetloss smallint, maxloss smallint, dnstime smallint, targetip varchar(128), tracefrom varchar(128));
When running a bi-directional route test MCS will export one record for each direction. So, in the SQL table there will be a row for client-to-server and a row for server-to-client.
Below are variables that are available for the Capacity test.
Name | Units | Data Type | Description | SQL | JS |
Downstream Capacity | bits | BIGINT | The download capacity result | %CAPACITY.DCAPACITY% | $CAPACITY.DCAPACITY$ (Kbps) |
Upstream Capacity | bits | BIGINT | The upload capacity result | %CAPACITY.UCAPACITY% | $CAPACITY.UCAPACITY$ (Kbps) |
Downstream Packets | bits | INT | The packet rate achieved for the download result | %CAPACITY.DPACKETS% | $CAPACITY.DPACKETS$ |
Upstream Packets | bits | INT | The packet rate achieved for the upload result | %CAPACITY.UCPACKETS% | $CAPACITY.UPACKETS$ |
Downstream Limit | bits | BIGINT | The upper limit that was configured for the test | %CAPACITY.DMAXBANDWIDTH% | - |
Upstream Limit | bits | BIGINT | The upper limit that was configured for the test | %CAPACITY.UMAXBANDWIDTH% | - |
Packet Size | Bytes | INT | The packet size used for the test | %CAPACITY.PACKETSIZE% | $CAPACITY.PACKETSIZE$ |
Consistency of Service | % | TINYINT | The consistency of service percentage | %CAPACITY.QOS% | $CAPACITY.QOS$ |
JavaScript Example
To use the JavaScript variables above a new param tag has to be added to the m_applet_params variable in the HTML of the test page. An example of this can be seen below.
The value of the param tag is simply a JavaScript variable call. Create this method and the variables will be passed to it on test completion.
var m_applet_params = '<applet width="600" height="400">\
<param name="testspecid" value="-7">\
<param name="js" value="testcomplete($CAPACITY.DCAPACITY$, $CAPACITY.UCAPACITY$, $CAPACITY.QOS$, $CAPACITY.DPACKETS$, $CAPACITY.UPACKETS$, $CAPACITY.PACKETSIZE$)">\
<param name="config" value="default">\
</applet>';
SQL Example
To use the SQL variables above create an SQL profile as shown below.
The SQL statment shown below must match the SQL table. The column types are shown above.
[capacity] INSERT INTO capacity (recordid, testid, dcap, ucap, dlimit, ulimit, dpkt, upkt, pktsize, cos) VALUES (%RECORDID%, %TESTID%, %CAPACITY.DCAPACITY%, %CAPACITY.UCAPACITY%, %CAPACITY.DMAXBANDWIDTH%, %CAPACITY.UMAXBANDWIDTH%, %CAPACITY.DPACKETS%, %CAPACITY.UPACKETS%, %CAPACITY.PACKETSIZE%, %CAPACITY.QOS%);
Below is the CREATE TABLE statement for MySQL.
CREATE TABLE capacity (recordid int, testid int, dcap bigint, ucap bigint, dlimit bigint, ulimit bigint, dpkt int, upkt int, pktsize int, cos tinyint);
Below are variables that are available for the Firewall test.
Name | Units | Data Type | Description | SQL | JS |
Firewall Record Id | - | - | A delimitted string of the record IDs for each port/port group. | See Global (left) | $FIREWALL.MSSIDS$ |
Total ports | - | INT | An integer that represents the total number of ports tested. | - | $FIREWALL.PORTTOTAL$ |
Ports tested | - | - | An array of the port/port groups that were tested. | %FIREWALL.PORTS% | $FIREWALL.PORT$ |
Port state | - | - | An array of the state of each port tested (0 closed, 1 open) | - | $FIREWALL.STATUS$ |
Port protocol | - | - | An array of the protocol for the tested ports (UDP, TCP) | %FIREWALL.PROTOCOL% | $FIREWALL.PROTOCOL$ |
Average response | ms | Float | The average response time for testing the port availability | %FIREWALL.AVGRESPONSE% | - |
Minimum response | ms | SMALLINT | The minimum response time for testing the port availability | %FIREWALL.MINRESPONSE% | - |
Maximum response | ms | SMALLINT | The maximum response time for testing the port availability | %FIREWALL.MAXRESPONSE% | - |
Open ports | - | INT | A count of how many ports were open. | %FIREWALL.POPEN% | - |
Blocked ports | - | INT | A count of how many ports were blocked. | %FIREWALL.PBLOCK% | - |
Total open ports | - | INT | A count of how many ports were open for the entire test. | %FIREWALL.TPOPEN% | - |
Total blocked ports | - | INT | A count of how many ports were blocked for the entire test. | %FIREWALL.TPBLOCK% | - |
JavaScript Example
To use the JavaScript variables above a new param tag has to be added to the m_applet_params variable in the HTML of the test page. An example of this can be seen below.
The value of the param tag is simply a JavaScript variable call. Create this method and the variables will be passed to it on test completion.
Note that the MSSIDS call is made from js-firewall, not js.
var m_applet_params = '<applet width="600" height="400">\
<param name="testspecid" value="-3">\
<param name="js-firewall" value="jsfw($FIREWALL.MSSIDS$)">\
<param name="js" value="processResults($FIREWALL.PORTTOTAL$,$FIREWALL.PORT$,$FIREWALL.STATUS$,$FIREWALL.PROTOCOL$)">\
<param name="config" value="default">\
</applet>';
Click here to view some examples of the array variables.
SQL Example
To use the SQL variables above create an SQL profile as shown below.
The SQL statment shown below must match the SQL table. The column types are shown above.
[firewall] INSERT INTO myfirewall (recordid, testid, avgres, minres, maxres, port, protocol, popen, pblock, tpopen, tpblock) VALUES (%RECORDID%, %TESTID%, %FIREWALL.AVGRESPONSE%, %FIREWALL.MINRESPONSE%, %FIREWALL.MAXRESPONSE%, '%FIREWALL.PORTS%', '%FIREWALL.PROTOCOL%', %FIREWALL.POPEN%, %FIREWALL.PBLOCK%, %FIREWALL.TPOPEN%, %FIREWALL.TPBLOCK%);
Below is the CREATE TABLE statement for MySQL.
CREATE TABLE myfirewall (recordid int, testid int, avgres float, minres smallint, maxres smallint, port varchar(16), protocol varchar(8), popen int, pblock int, tpopen int, tpblock int);