diff --git a/index.html b/index.html index 918d448..669d523 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@
-The Network Survey Messaging API defines a set of messages that can be used to describe wireless survey related events. The messages range from cellular surveys such as GSM, CDMA, UMTS, LTE, and NR, to simple RF energy detection events.
+The Network Survey Messaging API defines a set of messages that can be used to describe wireless survey related events. The messages range from cellular surveys such as GSM, CDMA, UMTS, LTE, and NR, to simple RF energy detection events.
NOTE: Despite the name "Network Survey Messaging API", this message specification is not exclusive to the Network Survey Android App. Instead, the Network Survey Android App is just one app that leverages Network Survey Messaging. Therefore, there are messages in this specification that do not apply to the Network Survey Android App (e.g. EnergyDetection).
While the most common use of these messages would be to send to an MQTT broker, this API specification simply defines the message schema. The transport or storage technology employed is purposefully left @@ -25,7 +25,7 @@ compressed binary format is needed. It also has the side effect of supporting sending these messages over gRPC if Remote Procedure Call support is of interest. Check out the Network Survey Messaging Github README for more details.
The gsm_message topic/channel is where GSM survey records can be published. For MQTT, set the MQTT topic as "gsm_message" and then publish a JSON message representing a GSM survey record in the format defined below.
-Accepts the following message:
Represents information recorded about a GSM tower at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about a GSM tower at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be GsmRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -56,7 +56,7 @@The company providing the cellular service.
The slot number of the SIM card or radio slot that this record was captured from. This enables support for multiple SIM cards in a single device or multiple radios in a single device. Numbering does not start at 0 or 1, and can be any arbitrary number. Therefore, the number does not reveal anything about the number of SIM cards or radio slots in the device. This field is optional, and if it is not present that is an indication that the device only has a single SIM card or radio (but the presence of this field does not indicate multiple SIM cards or radios). Added in version 0.15.0.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "GsmRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -90,7 +90,7 @@
}
The cdma_message topic/channel is where CDMA survey records can be published. For MQTT, set the MQTT topic as "cdma_message" and then publish a JSON message representing a CDMA survey record in the format defined below.
-Accepts the following message:
Represents information recorded about a CDMA tower at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about a CDMA tower at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be CdmaRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -121,7 +121,7 @@The company providing the cellular service.
The slot number of the SIM card or radio slot that this record was captured from. This enables support for multiple SIM cards in a single device or multiple radios in a single device. Numbering does not start at 0 or 1, and can be any arbitrary number. Therefore, the number does not reveal anything about the number of SIM cards or radio slots in the device. This field is optional, and if it is not present that is an indication that the device only has a single SIM card or radio (but the presence of this field does not indicate multiple SIM cards or radios). Added in version 0.15.0.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "CdmaRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -155,7 +155,7 @@
}
The umts_message topic/channel is where UMTS survey records can be published. For MQTT, set the MQTT topic as "umts_message" and then publish a JSON message representing a UMTS survey record in the format defined below.
-Accepts the following message:
Represents information recorded about a UMTS NodeB at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about a UMTS NodeB at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be UmtsRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -187,7 +187,7 @@The company providing the cellular service.
The slot number of the SIM card or radio slot that this record was captured from. This enables support for multiple SIM cards in a single device or multiple radios in a single device. Numbering does not start at 0 or 1, and can be any arbitrary number. Therefore, the number does not reveal anything about the number of SIM cards or radio slots in the device. This field is optional, and if it is not present that is an indication that the device only has a single SIM card or radio (but the presence of this field does not indicate multiple SIM cards or radios). Added in version 0.15.0.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "UmtsRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -222,7 +222,7 @@
}
The lte_message topic/channel is where LTE survey records can be published. For MQTT, set the MQTT topic as "lte_message" and then publish a JSON message representing an LTE survey record in the format defined below.
-Accepts the following message:
Represents information recorded about an LTE eNodeB at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about an LTE eNodeB at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be LteRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -249,6 +249,7 @@Physical Cell Identity, valid range 0-503.
Reference Signal Received Power in dBm, valid range -44 to -140, corresponding to RSRP_97 to RSRP_00 respectively.
Reference Signal Received Quality in dB, valid range -3 to -19.5, corresponding to RSRQ_34 to RSRQ_00 respectively.
+The Reference Signal Signal-to-Noise Ratio measured in dB. Range: -20 dB to +30 dB. Added in version 1.2.0.
LTE Timing Advance, corresponding to the timing offset a mobile phone needs to use when transmitting a signal to the tower. Valid range 0-1282.
The signal strength of the received signal in dBm.
Channel Quality Indicator, used by the UE to notify the serving cell (eNodeB) about the quality of the downlink channel, valid range 0-15. This field was added in version 0.14.0.
@@ -256,9 +257,8 @@The LTE downlink bandwidth in MHz (one of 1.4, 3, 5, 10, 15, 20).
The company providing the cellular service.
The slot number of the SIM card or radio slot that this record was captured from. This enables support for multiple SIM cards in a single device or multiple radios in a single device. Numbering does not start at 0 or 1, and can be any arbitrary number. Therefore, the number does not reveal anything about the number of SIM cards or radio slots in the device. This field is optional, and if it is not present that is an indication that the device only has a single SIM card or radio (but the presence of this field does not indicate multiple SIM cards or radios). Added in version 0.15.0.
-The Reference Signal Signal-to-Noise Ratio measured in dB. Range: -20 dB to +30 dB.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "LteRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -285,19 +285,19 @@
"pci": 234,
"rsrp": -107,
"rsrq": -11,
+ "snr": 19,
"ta": 27,
"signalStrength": -73.1,
"cqi": 7,
"servingCell": true,
"lteBandwidth": "MHZ_10",
"provider": "Verizon",
- "slot": 2,
- "snr": 19
+ "slot": 2
}
}
The nr_message topic/channel is where 5G NR survey records can be published. For MQTT, set the MQTT topic as "nr_message" and then publish a JSON message representing a 5G NR survey record in the format defined below.
-Accepts the following message:
Represents information recorded about a 5G NR gNodeB at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about a 5G NR gNodeB at a particular time and geographic location.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be NrRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -333,7 +333,7 @@The company providing the cellular service.
The slot number of the SIM card or radio slot that this record was captured from. This enables support for multiple SIM cards in a single device or multiple radios in a single device. Numbering does not start at 0 or 1, and can be any arbitrary number. Therefore, the number does not reveal anything about the number of SIM cards or radio slots in the device. This field is optional, and if it is not present that is an indication that the device only has a single SIM card or radio (but the presence of this field does not indicate multiple SIM cards or radios). Added in version 0.15.0.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "NrRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -372,7 +372,7 @@
}
The 80211_beacon_message topic/channel is where 802.11 beacon survey records can be published. For MQTT, set the MQTT topic as "80211_beacon_message" and then publish a JSON message representing an 802.11 Access Point survey record in the format defined below.
-Accepts the following message:
Represents information recorded about an 802.11 Access Point at a particular time and geographic location. 802.11 Beacon frames are sent by Access Points to advertise their existence and to provide all the necessary connection information. This message represents a capture of a single 802.11 Beacon message.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about an 802.11 Access Point at a particular time and geographic location. 802.11 Beacon frames are sent by Access Points to advertise their existence and to provide all the necessary connection information. This message represents a capture of a single 802.11 Beacon message.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be WifiBeaconRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -411,7 +411,7 @@The type of station that sent this frame.
The 802.11 standard being employed by the device.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "WifiBeaconRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -458,7 +458,7 @@
}
The 80211_probe_request_message topic/channel is where 802.11 probe request survey records can be published. For MQTT, set the MQTT topic as "80211_probe_request_message" and then publish a JSON message representing an 802.11 Probe Request record in the format defined below. Added in 0.9.0
-Accepts the following message:
Represents information recorded about an 802.11 Probe Request at a particular time and geographic location. 802.11 Probe Request frames are sent by clients looking to discover information about an Access Point with a specific SSID. This message represents a capture of a single 802.11 Probe Request message.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about an 802.11 Probe Request at a particular time and geographic location. 802.11 Probe Request frames are sent by clients looking to discover information about an Access Point with a specific SSID. This message represents a capture of a single 802.11 Probe Request message.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be WifiProbeRequestRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -487,7 +487,7 @@The type of station that sent this frame.
The 802.11 standard being employed by the device.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "WifiProbeRequestRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -519,7 +519,7 @@
}
The 80211_deauthentication_message topic/channel is where 802.11 (Wi-Fi) Deauthentication Management Frames can be published. For MQTT, set the MQTT topic as "wifi_deauthentication_message". When a station wants to disassociate from another station, it invokes the deauthentication service. Deauthentication is a notification and cannot be refused. A station performs deauthentication by sending an authentication management frame (or group of frames to multiple stations) to advise of the termination of authentication.
-Accepts the following message:
Represents an 802.11 deauthentication management frame. When a station wants to disassociate from another station, it invokes the deauthentication service. Deauthentication is a notification and cannot be refused. A station performs deauthentication by sending an authentication management frame (or group of frames to multiple stations) to advise of the termination of authentication.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents an 802.11 deauthentication management frame. When a station wants to disassociate from another station, it invokes the deauthentication service. Deauthentication is a notification and cannot be refused. A station performs deauthentication by sending an authentication management frame (or group of frames to multiple stations) to advise of the termination of authentication.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be WifiDeauthenticationRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -549,7 +549,7 @@The type of station that sent this frame.
The 802.11 standard being employed by the device.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "WifiDeauthenticationRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -582,7 +582,7 @@
}
The 80211_ota_message topic/channel is where Over The Air (OTA) 802.11 (Wi-Fi) messages can be published. For MQTT, set the MQTT topic as "wifi_ota_message" and then publish a JSON message representing an OTA WiFi message.
-Accepts the following message:
Represents information recorded about an 802.11 packet recorded at a particular time and geographic location. This message represents a capture of a 802.11 packet in PCAP format.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about an 802.11 packet recorded at a particular time and geographic location. This message represents a capture of a 802.11 packet in PCAP format.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be WifiOtaRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -604,7 +604,7 @@The subtype of the 802.11 message that corresponds to the frame type. The frame subtype represents the subtype of the 802.11 frame that the pcapRecord field contains. For example, if the frame type is 0 (aka Management) a frame subtype of 0 represents an association request, 1 represents an association response, 2 represents a reassociation request, etc.
The raw 802.11 frame bytes encoded in base64. The bytes in this field are the raw message bytes captured from the Over The Air (OTA) 802.11 radio frame with the appropriate PCAP headers as the prefix. In other words, the bytes are the same bytes that would show up in a pcap file for an 802.11 message. The general structure consists of a PCAP record header, PPI header, Radiotap header, followed by the 802.11 frame. Using this structure means that Wireshark, tshark or any other tool that can read 802.11 pcap records can easily parse out the contents of this message.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "WifiOtaRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -629,7 +629,7 @@
}
The bluetooth_message topic/channel is where Bluetooth survey records can be published. For MQTT, set the MQTT topic as "bluetooth_message" and then publish a JSON message representing a Bluetooth survey record in the format defined below.
-Accepts the following message:
Represents information recorded about a Bluetooth device at a particular time and geographic location. This message represents a capture of a signal Bluetooth frame.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about a Bluetooth device at a particular time and geographic location. This message represents a capture of a signal Bluetooth frame.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be BluetoothRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -656,7 +656,7 @@The Bluetooth device name is the user-friendly name that a Bluetooth device exposes to remote devices. See the BLUETOOTH SPECIFICATION Version 5.0 | Vol 3, Part C Section 3.2.2 (page 1988) for more details.
The channel on which this frame was recorded. See the BLUETOOTH SPECIFICATION Version 5.0 | Vol 2, Part A Section 2 (page 325) for more details.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "BluetoothRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -686,7 +686,7 @@
}
The gnss_message topic/channel is where GNSS positioning records can be published. For MQTT, set the MQTT topic as "gnss_message" and then publish a JSON message in the format defined below.
-Accepts the following message:
Represents information recorded about a Global Navigation Satellite System (GNSS) at a particular time and geographic location. Each record represents a single navigation message from a single satellite. These individual records are tied together using the group number field.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents information recorded about a Global Navigation Satellite System (GNSS) at a particular time and geographic location. Each record represents a single navigation message from a single satellite. These individual records are tied together using the group number field.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be GnssRecord.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -720,7 +720,7 @@Horizontal Dilution of Precision. Valid range, 0.0 to 50.0.
Vertical Dilution of Precision. Valid range, 0.0 to 50.0.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "GnssRecord",
"data": {
"deviceSerialNumber": "1234",
@@ -757,7 +757,7 @@
}
The energy_detection_message topic/channel is where RF energy detection records can be published. For MQTT, set the MQTT topic as "energy_detection_message" and then publish a JSON message in the format defined below.
-Accepts the following message:
Represents a General Purpose Radio (GPR) Energy Detection event. This survey record represents a general RF/PTT energy detection (i.e. RF energy was detected above a pre-defined threshold).
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents a General Purpose Radio (GPR) Energy Detection event. This survey record represents a general RF/PTT energy detection (i.e. RF energy was detected above a pre-defined threshold).
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be EnergyDetection.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -783,7 +783,7 @@The date & time the energy/signal was detected as active. This is formatted as an RFC3339 date-time. For example, '1996-12-19T16:39:57-08:00'
.
The duration of time, in seconds, that the signal was detected as active.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "EnergyDetection",
"data": {
"deviceSerialNumber": "1234",
@@ -812,7 +812,7 @@
}
The signal_detection_message topic/channel is where signal detection records can be published. For MQTT, set the MQTT topic as "signal_detection_message" and then publish a JSON message in the format defined below.
-Accepts the following message:
Represents a General Purpose Radio (GPR) Signal Detection event. This survey record represents RF detections where the modulation and/or signal type could be determined. If both the modulation and signal type are unknown, then use the `energy_detection_message` instead.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts the following message:
Represents a General Purpose Radio (GPR) Signal Detection event. This survey record represents RF detections where the modulation and/or signal type could be determined. If both the modulation and signal type are unknown, then use the `energy_detection_message` instead.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be SignalDetection.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -840,7 +840,7 @@The modulation type found on the received signal. It is appropriate to leave this blank if the modulation of the signal is unknown, but either the modulation
or signalName
field should be filled out. If neither of them are known then the energyDetection
message should be used instead.
The modulation type found on the received signal. It is appropriate to leave this blank if the modulation of the signal is unknown, but either the modulation
or signalName
field should be filled out. If neither of them are known then the energyDetection
message should be used instead.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "SignalDetection",
"data": {
"deviceSerialNumber": "1234",
@@ -871,7 +871,7 @@
}
The device_status_message topic/channel is where device status records can be published. This includes both DeviceStatus
and PhoneState
messages. For MQTT, set the MQTT topic as "device_status_message" and then publish a JSON message in one of the formats defined below.
Accepts one of the following messages:
Represents a status message sent from the device to report its current state or to act as a heartbeat. The interval of this message can vary depending on use case.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts one of the following messages:
Represents a status message sent from the device to report its current state or to act as a heartbeat. The interval of this message can vary depending on use case.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be DeviceStatus.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -882,6 +882,7 @@The altitude in meters above MSL representing where this survey record was recorded.
The speed at the time of this record capture in meters per second. This field was added in version 0.11.0. From the Network Survey Android app, this field is only present if it is detected that the device is in motion.
The model number of the device that this message originated from.
+The version of the software application that this message originated from (most likely the Network Survey Android app, but could be any other app). Added in version 1.3.0.
The estimated horizontal accuracy of the provided location, radial, in meters. We define horizontal accuracy as the radius of 68% confidence. In other words, if you draw a circle centered at this location's latitude and longitude, and with a radius equal to the accuracy, then there is a 68% probability that the true location is inside the circle. A value of 0 indicates there was no available horizontal accuracy.
Heading of the sensor/antenna, in degrees from true north. One can use sensor orientation (heading, pitch, roll) and sensor characteristics (fieldofView, receiverSensitivity) to form more accurate estimates of the transmitter's position.
Pitch of the sensor/antenna, in degrees from the ground plane. One can use sensor orientation (heading, pitch, roll) and sensor characteristics (fieldofView, receiverSensitivity) to form more accurate estimates of the transmitter's position.
@@ -901,7 +902,7 @@The altitude in meters above MSL as obtained from the Network based location provider (e.g. Cellular and/or Wi-Fi). This is an additional value to the regular altitude and is only provided for comparison and analysis purposes.
The estimated horizontal accuracy of the provided location in meters as obtained from the Network based location provider (e.g. Cellular and/or Wi-Fi). This is an additional value to the regular accuracy and is only provided for comparison and analysis purposes.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "DeviceStatus",
"data": {
"deviceSerialNumber": "1234",
@@ -912,6 +913,7 @@
"altitude": 13.3,
"speed": 9.3,
"deviceModel": "Pixel 5",
+ "appVersion": 1.28,
"accuracy": 40,
"heading": 32.7,
"pitch": -0.1,
@@ -934,7 +936,7 @@
}
}
-Represents the current state of the phone to include information about the currently registered networks. The interval of this message can vary depending on use case, but is typically sent when a change in the phone's state occurs, such as registering to a new network or being rejected from a network.
The version number of the Network Survey Messaging API that this message is based off of.
+Represents the current state of the phone to include information about the currently registered networks. The interval of this message can vary depending on use case, but is typically sent when a change in the phone's state occurs, such as registering to a new network or being rejected from a network.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be PhoneState.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -954,45 +956,46 @@The minimum signal strength that a receiver can detect, in units of dBm. One can use sensor orientation (heading, pitch, roll) and sensor characteristics (fieldOfView, receiverSensitivity) to form more accurate estimates of the transmitter's position or distance from the sensor.
The current state of the SIM card. The values are taken directly from android.telephony.TelephonyManager#SimState and should be kept in sync with those values. Even the order lines up exactly, which makes conversion easier.
The PLMN portion of the SIM's IMSI. This indicates the provider that issued the SIM card. The format is the MCC and MNC concatenated as one string. Can be 5 or 6 digits in length where the MCC is always 3 digits and the MNC is either 2 or 3.
-The type of network, either Packet Switched (PS) or Circuit Switched (CS).
+A network that this device is registered to, or tried to register to.
+The type of network, either Packet Switched (PS) or Circuit Switched (CS).
The technology type for this network, for example, UMTS or LTE. These values mirror the Android TelephonyManager Network Type constants.
Boolean indicating if this device is roaming on this network.
If the UE tried to register with this network and was denied, this value indicates the rejection reason. The values are defined in 3GPP TS 24.008 version 16.7.0 page 536 (Reject cause), and 3GPP TS 24.301 version 16.8.0 page 418 (EMM cause).
The properties defining the cell. The properties are different for each technology so the object type will be different depending on the accessNetworkTechnology. The name of this field will be different for each object. For example, it will be cellIdentityLte
for LTE and cellIdentityNr
for NR.
Contains the information about a particular GSM cell.
-Mobile Country Code, 3 digits.
+Contains the information about a particular GSM cell.
+Mobile Country Code, 3 digits.
Mobile Network Code, used in conjunction with MCC (PLMN) to identify a carrier, 2 to 3 digits.
Location Area Code, location code inside a PLMN, valid range 0-65535.
Cell Identity of the measured cell, valid range 0-65535.
Absolute Radio Frequency Channel Number, valid values defined in 3GPP TS 45.005 Release 10 Section 2.
Base Station Identity Code, consists of NCC and BCC, valid range 0-63 (in octal). For example, a BSIC of 38 maps to an NCC of 4 and BCC of 6.
Additional properties are allowed.
Contains the information about a particular CDMA cell.
-System Identification Number, 15 bit number that represents the service provider(s) a base station provides service to.
+System Identification Number, 15 bit number that represents the service provider(s) a base station provides service to.
Network Identification Number, 16 bit number that represents the network within a SID.
Base Station Identifier. Exclusively identifies a base station under a SID/NID.
Additional properties are allowed.
Contains the information about a particular UMTS cell.
-Mobile Country Code, 3 digits.
+Mobile Country Code, 3 digits.
Mobile Network Code, used in conjunction with MCC (PLMN) to identify a carrier, 2 to 3 digits.
Location Area Code, location code inside a PLMN, valid range 0-65535.
The Cell Identity of the measured cell, 28 bits, the RNC-ID is the first 12 bits, and the C-ID is the last 16 bits, valid range 0-268435455. Defined in 3GPP TS 25.331.
UTRA Absolute Radio Frequency Channel Number (Downlink), valid range 0-13096, defined in 3GPP TS 25.101 and 3GPP TS 25.102.
Primary Scrambling Code, valid range 0-511.
Additional properties are allowed.
Contains the information about a particular LTE cell.
-Mobile Country Code, 3 digits.
+Mobile Country Code, 3 digits.
Mobile Network Code, used in conjunction with MCC (PLMN) to identify a carrier, 2 to 3 digits.
Tracking Area Code, location code inside a PLMN, valid range 0-65535.
ECI, the Cell Identity of the measured cell, 28 bits. The Macro eNB ID is the first 20 bits of the Cell Identity and the last 8 bits represent the sector. Valid range 0-268435455.
Downlink E-UTRA Absolute Radio Frequency Channel Number, valid range 0-262143, defined in 3GPP TS 36.331 version 14.2.2 Release 14 page 567.
Physical Cell Identity, valid range 0-503.
Additional properties are allowed.
Contains the information about a particular NR cell.
-Mobile Country Code, 3 digits.
+Mobile Country Code, 3 digits.
Mobile Network Code, used in conjunction with MCC (PLMN) to identify a carrier, 2 to 3 digits.
NR Tracking Area Code, location code inside a PLMN, valid range 0 - 16,777,215 as defined in 3GPP TS 38.331 version 16.2.0 Release 16 page 643.
NCI, the Cell Identity of the measured cell, 36 bits. The gNB ID is the first 22-32 bits of the NCI and the remaining bits represent the sector. Valid range 0 - 68,719,476,735 as defined in 3GPP TS 38.331 version 16.2.0 Release 16 page 370.
Downlink NR Absolute Radio Frequency Channel Number, valid range 0 - 3,279,165, defined in 3GPP TS 38.331 version 16.2.0 Release 16 page 784.
NR Physical Cell Identity, valid range 0-1007 as defined in 3GPP TS 38.331 version 16.2.0 Release 16 page 503.
-Additional properties are allowed.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+
Additional properties are allowed.
Additional properties are allowed.
Additional properties are allowed.
Additional properties are allowed.
{
+ "version": "1.3.0",
"messageType": "PhoneState",
"data": {
"deviceSerialNumber": "1234",
@@ -1048,7 +1051,7 @@
}
The cellular_ota_message topic/channel is where Over The Air (OTA) cellular (LTE, UMTS/WCDMA) messages can be published. For MQTT, set the MQTT topic as "cellular_ota_message" and then publish a JSON message representing an OTA Cellular message.
-Accepts one of the following messages:
Represents a raw GSM RR Signaling message sent Over The Air (OTA) between a GSM BTS and a GSM ME.
The version number of the Network Survey Messaging API that this message is based off of.
+Accepts one of the following messages:
Represents a raw GSM RR Signaling message sent Over The Air (OTA) between a GSM BTS and a GSM ME.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be GsmSignaling.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -1068,7 +1071,7 @@The channel type that this message was sent on. The channel type represents the logical channel that the raw cellular message was sent over.
The raw cellular message bytes encoded in base64. The bytes in this field are the raw message bytes captured from the Over The Air (OTA) cellular radio frame with the appropriate PCAP headers as the prefix. In other words, the bytes are the same bytes that would show up in a pcap file for a cellular message. The general structure consists of a PCAP record header, PPI header, layer 3 header, layer 4 header, a GSMTAP header, followed by the cellular OTA message. Using this structure means that Wireshark, tshark or any other tool that can read GSMTAP pcap records can easily parse out the contents of this message. For more details see the Network Survey+ Android App Source Code.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "GsmSignaling",
"data": {
"deviceSerialNumber": "1234",
@@ -1090,7 +1093,7 @@
}
}
-Represents a raw UMTS NAS message sent Over The Air (OTA) between a UMTS NodeB and a UMTS UE.
The version number of the Network Survey Messaging API that this message is based off of.
+Represents a raw UMTS NAS message sent Over The Air (OTA) between a UMTS NodeB and a UMTS UE.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be UmtsNas.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -1109,7 +1112,7 @@The minimum signal strength that a receiver can detect, in units of dBm. One can use sensor orientation (heading, pitch, roll) and sensor characteristics (fieldOfView, receiverSensitivity) to form more accurate estimates of the transmitter's position or distance from the sensor.
The raw cellular message bytes encoded in base64. The bytes in this field are the raw message bytes captured from the Over The Air (OTA) cellular radio frame with the appropriate PCAP headers as the prefix. In other words, the bytes are the same bytes that would show up in a pcap file for a cellular message. The general structure consists of a PCAP record header, PPI header, layer 3 header, layer 4 header, a GSMTAP header, followed by the cellular OTA message. Using this structure means that Wireshark, tshark or any other tool that can read GSMTAP pcap records can easily parse out the contents of this message. For more details see the Network Survey+ Android App Source Code.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "UmtsNas",
"data": {
"deviceSerialNumber": "1234",
@@ -1130,7 +1133,7 @@
}
}
-Represents a raw WCDMA RRC message sent Over The Air (OTA) between a UMTS NodeB and a UMTS UE.
The version number of the Network Survey Messaging API that this message is based off of.
+Represents a raw WCDMA RRC message sent Over The Air (OTA) between a UMTS NodeB and a UMTS UE.
The version number of the Network Survey Messaging API that this message is based off of.
The type of message, must be WcdmaRrc.
The payload of this message that contains all the message data.
The unique identifier for the device that captured this record. This should be consistent and should never change.
@@ -1150,7 +1153,7 @@The channel type that this message was sent on. The channel type represents the logical channel that the raw cellular message was sent over.
The raw cellular message bytes encoded in base64. The bytes in this field are the raw message bytes captured from the Over The Air (OTA) cellular radio frame with the appropriate PCAP headers as the prefix. In other words, the bytes are the same bytes that would show up in a pcap file for a cellular message. The general structure consists of a PCAP record header, PPI header, layer 3 header, layer 4 header, a GSMTAP header, followed by the cellular OTA message. Using this structure means that Wireshark, tshark or any other tool that can read GSMTAP pcap records can easily parse out the contents of this message. For more details see the Network Survey+ Android App Source Code.
Additional properties are allowed.
Additional properties are allowed.
{
- "version": "1.2.0",
+ "version": "1.3.0",
"messageType": "WcdmaRrc",
"data": {
"deviceSerialNumber": "1234",
@@ -1172,7 +1175,7 @@
}
}
-Represents a raw LTE RRC message sent Over The Air (OTA) between an LTE eNodeB and an LTE UE.
The version number of the Network Survey Messaging API that this message is based off of.
+Represents a raw LTE RRC message sent Over The Air (OTA) between an LTE eNodeB and an LTE UE.