Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Specification

[environmentreportOrigin]
[connectivity]
[performance] 

JSON message structure:

{

   "downloadThroughput": float number,   -->   download speed in KBps (note: we use one decimal place)

   "uploadThroughput": float number,   -->   upload speed in KBps (note: we use one decimal place)

   "localPing": float number,   -->   ping in ms (note: we use one decimal place)

   "latitude": float number,   -->   latitude in degrees (note: we do not use this information  anymore, yet it cannot be empty)

   "longitude": float number,   -->   longitude in degrees (note: we do not use this information  anymore, yet it cannot be empty)

   "locationMethod": "string",   -->   typical values are 'Through IP' or 'Geolocation' (note: we do not use this information  anymore, yet it cannot be empty)

   "testTool": "string"   -->   typical values are "wifiprobe", "NetTest", "boomerang" to distinguish between measurement tools

}

 

JSON message example:

{

   "downloadThroughput": 4375.0,

   "uploadThroughput": 3912.5,

   "localPing": 4.704,

   "latitude": 38.25,

   "longitude": 21.73,

   "locationMethod": "'Through IP'",

   "testTool": "wifiprobe"

{
   "testDeviceType": string                -->   typical values are "wifiprobe", "NetTest", "boomerang" to distinguish between measurement tools  
"testDeviceVersion": string   -->   version of the tool used (e.g. 1.0)
"testDeviceId": string   -->   ID (e.g. MAC address) of device used for preforming the test
"testInstanceUniqueId": string --> a unique identifier for this result set
"testStartTimestamp": string -->   UTC date & time when the test has been started (YYYY-MM-DD hh:mm:ss)
"testFinishedTimestamp": string --> UTC date & time when the test has been completed (YYYY-MM-DD hh:mm:ss)
}

[environment]

{

   "latitude": float number,               -->   latitude in degrees,decimal fractional minutes (note: we do not use this information  anymore, yet it cannot be empty)
   "longitude": float number,   -->   longitude in degrees,decimal fractional minutes (note: we do not use this information  anymore, yet it cannot be empty)
"altitude": float number,   -->   altitude in meters (can be empty) 
"locationName": string, --> tested location name (can be empty)
"eduroamDbInstid": string, --> SP id used in eduroam DB, provided by the NRO (can be empty)
"eduroamDbLocationid": string, --> Location Id used in eduroam DB, provided by the NRO (can be empty)
"testDeviceLocationDescription": string -->   describes the location of the test device
  "locationMethod": string,   -->   typical values are 'Through IP' or 'Geolocation' (note: we do not use this information  anymore, yet it cannot be empty)
 "wifiSurround": array of BSSID => sig strength and SSID --> list of SSIDs found
"accessPointVisibleSSIDCount": integer --> number of Wi-Fi cells with a normally visible SSID
"accessPointHiddenCellCount": integer --> number of Wi-Fi cells with a "hidden" SSID
"HS2Presence": array --> list of HS2.0 consortium identifers found
"channelsInUse": array --> list of available channels / frequencies
}
[connectivity]
{
"eapAuthnResult": array of EAP types and the auth times (float) -->   time needed for successful eduroam AuthN in sec; ; -1=no success
 "ipv4TimeToAddress": float number --> time needed to get valid IPv4 address in sec; -1=no connectivity;
"ipv6TimeToAddress": float number --> time needed to get valid IPv6 address in sec; -1=no connectivity;
"eduroamMinimalPortSetOpen": boolean --> is minimal set of ports for eduroam SSID open? (true/false)
"eduroamWronglyClosedPorts": array of strings (e.g. "TCP/443") --> list of ports which should be open but are closed
"encryptionLevel": array of strings --> list of available encryption standards
"signalQuality": string --> list with signal quality per channel
"transparentWebProxy": boolean --> transparent proxy used (true/false)ž
"NAT": boolean --> NAT used (true/false)  
}
[performance]
{
"downloadThroughput": float number,   --> download speed in KBps (note: we use one decimal digit)
   "uploadThroughput": float number,   --> upload speed in KBps (note: we use one decimal digit)
   "ipv4LocalPing": float number,   --> IPv4 ping time in ms (note: we use one decimal digit) -1 if there was no IPv4 connectivity
   "ipv6LocalPing": float number,   --> IPv6 ping time in ms (note: we use one decimal digit) -1 if there was no IPv6 connectivity

}

JSON message example (PHP creation script)

{
    "reportOrigin": {
        "testDeviceType": "Frankenprobe",
        "testDeviceVersion": "1.0",
        "testDeviceId": "00-11-22-33-44-55",
        "testInstanceUniqueId": "13df2a-671bbfa5697-13245-67713af",
        "testStartTimestamp": "2017-09-13 15:00:00",
        "testFinishedTimestamp": "2017-09-13 15:02:19"
    },
    "environment": {
        "latitude": 38.25,
        "longitude": 21.73,
        "altitude": -213.45,
        "locationName": "Subterranean University",
        "eduroamDbInstid": "13",
        "eduroamDbLocationid": "2",
        "testDeviceLocationDescription": "rector's office, hidden behind the 'A Starry Night' van Gogh painting on the rear wall",
        "locationMethod": "Differential Indoor GPS",
        "wifiSurround": {
            "02-56-23-12-77-a2": {
                "eduroam": -67,
                "drillTest": -67
            },
            "09-55-ae-b1-99-33": {
                "geological_symposium": -92
            }
        },
        "HS2Presence": [
            "00-1B-C5-04-60"
        ],
        "channelsInUse": [
            1,
            6,
            11,
            54
        ]
    },
    "connectivity": {
        "eapAuthnResult": {
            "TLS": -1,
            "TTLS": 1.086,
            "PEAP": 0.997
        },
        "ipv4TimeToAddress": 0.09,
        "ipv6TimeToAddress": -1,
        "eduroamMinimalPortSetOpen": false,
        "eduroamWronglyClosedPorts": [
            "TCP\/443"
        ],
        "encryptionLevel": [
            "WPA2\/AES"
        ],
        "transparentWebProxy": false,
        "NAT": true
    },
    "performance": {
        "downloadThroughput": 4375,
        "uploadThroughput": 3912.5,
        "ipv4LocalPing": 4.7,
        "ipv6LocalPing": -1
    }
}