Message Formats
Network Survey uses standardized message formats defined in the Network Survey Messaging library. This ensures consistency across MQTT (JSON) and gRPC (protobuf) protocols.
Message Format Overview
Section titled “Message Format Overview”Network Survey streams data in two formats:
- MQTT - JSON format (human-readable, larger size)
- gRPC - Protocol Buffers format (binary, compact, ~60% smaller)
Both formats use the same underlying message definitions from the Network Survey Messaging library.
Message Types
Section titled “Message Types”Network Survey sends different message types for each technology:
- Cellular:
GsmRecord
,CdmaRecord
,UmtsRecord
,LteRecord
,NrRecord
- Wi-Fi:
WifiBeaconRecord
- Bluetooth:
BluetoothRecord
- GNSS:
GnssRecord
- Device Status:
DeviceStatusMessage
- Phone State:
PhoneStateMessage
Each message type has specific fields for that technology (e.g., MCC/MNC for cellular, SSID/BSSID for Wi-Fi).
Example: MQTT JSON Message
Section titled “Example: MQTT JSON Message”Here’s what an MQTT message looks like (LTE cellular record):
{ "version": "1.9.0", "messageType": "LteRecord", "data": { "deviceSerialNumber": "1234", "deviceName": "Craxiom Pixel", "deviceTime": "1996-12-19T16:39:57-08:00", "latitude": 51.470334, "longitude": -0.486594, "altitude": 13.3, "speed": 9.3, "missionId": "Survey1 20200724-154325", "recordNumber": 1, "groupNumber": 1, "accuracy": 40, "locationAge": 1000, "heading": 32.7, "pitch": -0.1, "roll": 0.15, "fieldOfView": 40, "receiverSensitivity": -50, "mcc": 311, "mnc": 480, "tac": 52803, "eci": 52824577, "earfcn": 5230, "pci": 234, "rsrp": -107, "rsrq": -11, "snr": 19, "ta": 27, "signalStrength": -73.1, "cqi": 7, "servingCell": true, "lteBandwidth": "MHZ_10", "provider": "Verizon", "slot": 2 }}
Key elements:
version
- Message format versionmessageType
- Type of record (LteRecord, WifiBeaconRecord, etc.)data
- The actual message payload with all fields
Complete Documentation
Section titled “Complete Documentation”For detailed information on all message formats, fields, and usage, visit:
The official Network Survey Messaging documentation includes:
- Complete field definitions for all message types
- Detailed field descriptions including data types, ranges, and optional fields
- Message versioning and compatibility information
🔗 Network Survey Messaging GitHub Repository
Section titled “🔗 Network Survey Messaging GitHub Repository”The GitHub repository provides:
- Protocol Buffer source files (.proto)
- Java library for working with the message API
- Version history and release notes
Related Documentation
Section titled “Related Documentation”- MQTT Streaming - Configure MQTT broker connection
- gRPC Streaming - Set up gRPC streaming
- Data Streaming Overview - Streaming basics and setup