{ "$defs": { "mmdvm_mode": {"type": "string", "enum": ["lockout", "idle", "error", "D-Star", "DMR", "YSF", "NXDN", "POCSAG", "FM", "M17"]}, "dstar_callsign": {"type": "string", "minLength": 8, "maxLength": 8}, "dstar_extension": {"type": "string", "minLength": 4, "maxLength": 4}, "ysf_callsign": {"type": "string", "minLength": 10, "maxLength": 10}, "ax25_callsign": {"type": "string", "minLength": 1, "maxLength": 9}, "m17_callsign": {"type": "string", "minLength": 9, "maxLength": 9}, "dmr_id": {"type": "integer", "minimum": 1, "maximum": 16777215}, "p25_id": {"type": "integer", "minimum": 1, "maximum": 65535}, "nxdn_id": {"type": "integer", "minimum": 1, "maximum": 65535}, "pocsag_ric": {"type": "integer"}, "destination_type": {"type": "string", "enum": ["group", "individual"]}, "mode": {"type": "string", "enum": ["voice", "data"]}, "ysf_mode": {"type": "string", "enum": ["voice_vw", "voice_dn", "data_fr"]}, "dg-id": {"type": "integer", "minimum": 0, "maximum": 99}, "ax25_type": {"type": "string"}, "dmr_slot": {"type": "integer", "enum": [1, 2]}, "source": {"type": "string", "enum": ["rf", "network"]}, "fm_state": {"type": "string", "enum": ["listening", "kerchunk_rf", "relaying_rf", "relaying_wait_rf", "timeout_rf", "timeout_wait_rf", "kerchunk_ext", "relaying_ext", "relaying_wait_ext", "timeout_ext", "timeout_wait_ext", "hang", "unknown"]}, "m17_traffic_type": {"type": "string", "enum": ["audio", "audio_data", "data"]}, "ax25_pid": {"type": "string"}, "pocsag_source": {"type": "string", "enum": ["local", "network"]}, "pocsag_functional": {"type": "string", "enum": ["numeric", "alphanumeric", "alert_1", "alert_2"]}, "action": {"type": "string", "enum": ["invalid", "rejected", "start", "late_entry", "end", "lost"]}, "dmr_action": {"type": "string", "enum": ["csbk", "timeout", "invalid", "rejected", "start", "late_entry", "end", "lost"]}, "duration": {"type": "number", "minimum": 0.0}, "loss": {"type": "number", "minimum": 0.0}, "ber": {"type": "number", "minimum": 0.0}, "rssi": {"type": "number", "minimum": -200.0, "maximum": -10.0}, "timestamp": {"type": "string"} }, "MMDVM": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "mode": {"$ref": "#/$defs/mmdvm_mode"}, "message": {"type": "string"}, "required": ["timestamp"] }, "RSSI" : { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "mode": {"$ref": "#/$defs/mmdvm_mode"}, "slot": {"$ref": "#/$defs/dmr_slot"}, "value": {"$ref": "#/$defs/rssi"}, "required": ["timestamp", "mode", "value"] }, "BER" : { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "mode": {"$ref": "#/$defs/mmdvm_mode"}, "slot": {"$ref": "#/$defs/dmr_slot"}, "value": {"$ref": "#/$defs/ber"}, "required": ["timestamp", "mode", "value"] }, "Text" : { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "mode": {"$ref": "#/$defs/mmdvm_mode"}, "slot": {"$ref": "#/$defs/dmr_slot"}, "value": {"type": "string"}, "required": ["timestamp", "mode", "value"] }, "D-Star": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "source_cs": {"$ref": "#/$defs/dstar_callsign"}, "source_ext": {"$ref": "#/$defs/dstar_extension"}, "destination_cs": {"$ref": "#/$defs/dstar_callsign"}, "reflector": {"$ref": "#/$defs/dstar_callsign"}, "source": {"$ref": "#/$defs/source"}, "action": {"$ref": "#/$defs/action"}, "duration": {"$ref": "#/$defs/duration"}, "loss": {"$ref": "#/$defs/loss"}, "ber": {"$ref": "#/$defs/ber"}, "rssi": { "min": {"$ref": "#/$defs/rssi"}, "max": {"$ref": "#/$defs/rssi"}, "ave": {"$ref": "#/$defs/rssi"} }, "required": ["timestamp", "action"] }, "DMR": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "source_id": {"$ref": "#/$defs/dmr_id"}, "source_info": {"type": "string"}, "destination_id": {"$ref": "#/$defs/dmr_id"}, "destination_type": {"$ref": "#/$defs/destination_type"}, "slot": {"$ref": "#/$defs/dmr_slot"}, "source": {"$ref": "#/$defs/source"}, "action": {"$ref": "#/$defs/dmr_action"}, "csbk_desc": {"type": "string"}, "frames": {"type": "integer"}, "duration": {"$ref": "#/$defs/duration"}, "loss": {"$ref": "#/$defs/loss"}, "ber": {"$ref": "#/$defs/ber"}, "rssi": { "min": {"$ref": "#/$defs/rssi"}, "max": {"$ref": "#/$defs/rssi"}, "ave": {"$ref": "#/$defs/rssi"} }, "required": ["timestamp", "slot", "action"] }, "YSF": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "source_cs": {"$ref": "#/$defs/ysf_callsign"}, "source": {"$ref": "#/$defs/source"}, "action": {"$ref": "#/$defs/action"}, "mode": {"$ref": "#/$defs/ysf_mode"}, "dg-id": {"$ref": "#/$defs/dg-id"}, "reflector": {"$ref": "#/$defs/ysf_callsign"}, "duration": {"$ref": "#/$defs/duration"}, "loss": {"$ref": "#/$defs/loss"}, "ber": {"$ref": "#/$defs/ber"}, "rssi": { "min": {"$ref": "#/$defs/rssi"}, "max": {"$ref": "#/$defs/rssi"}, "ave": {"$ref": "#/$defs/rssi"} }, "required": ["timestamp", "action"] }, "P25": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "source_id": {"$ref": "#/$defs/dmr_id"}, "source_info": {"type": "string"}, "destination_id": {"$ref": "#/$defs/p25_id"}, "destination_type": {"$ref": "#/$defs/destination_type"}, "source": {"$ref": "#/$defs/source"}, "action": {"$ref": "#/$defs/action"}, "duration": {"$ref": "#/$defs/duration"}, "loss": {"$ref": "#/$defs/loss"}, "ber": {"$ref": "#/$defs/ber"}, "rssi": { "min": {"$ref": "#/$defs/rssi"}, "max": {"$ref": "#/$defs/rssi"}, "ave": {"$ref": "#/$defs/rssi"} }, "required": ["timestamp", "action"] }, "NXDN": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "source_id": {"$ref": "#/$defs/nxdn_id"}, "source_info": {"type": "string"}, "destination_id": {"$ref": "#/$defs/nxdn_id"}, "destination_type": {"$ref": "#/$defs/destination_type"}, "source": {"$ref": "#/$defs/source"}, "action": {"$ref": "#/$defs/action"}, "duration": {"$ref": "#/$defs/duration"}, "ber": {"$ref": "#/$defs/ber"}, "rssi": { "min": {"$ref": "#/$defs/rssi"}, "max": {"$ref": "#/$defs/rssi"}, "ave": {"$ref": "#/$defs/rssi"} }, "required": ["timestamp", "action"] }, "POCSAG": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "ric": {"$ref": "#/$defs/pocsag_ric"}, "functional": {"$ref": "#/$defs/pocsag_functional"}, "source": {"$ref": "#/$defs/pocsag_source"}, "message": {"type": "string"}, "required": ["timestamp", "ric", "functional", "source"] }, "FM": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "state": {"$ref": "#/$defs/fm_state"}, "required": ["timestamp", "state"] }, "AX.25": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "source": {"$ref": "#/$defs/source"}, "source_cs": {"$ref": "#/$defs/ax25_callsign"}, "destination_cs": {"$ref": "#/$defs/ax25_callsign"}, "digipeaters": { "type": "array", "callsign": {"$ref": "#/$defs/ax25_callsign"}, "repeated": {"type": "boolean"} }, "type": {"$ref": "#/$defs/ax25_type"}, "pid": {"$ref": "#/$defs/ax25_pid"}, "data": {"type": "string"}, "required": ["timestamp", "source", "destination", "source", "type"] }, "M17": { "type": "object", "timestamp": {"$ref": "#/$defs/timestamp"}, "source_cs": {"$ref": "#/$defs/m17_callsign"}, "destination_cs": {"$ref": "#/$defs/m17_callsign"}, "source": {"$ref": "#/$defs/source"}, "action": {"$ref": "#/$defs/action"}, "traffic_type": {"$ref": "#/$defs/m17_traffic_type"}, "duration": {"$ref": "#/$defs/duration"}, "ber": {"$ref": "#/$defs/ber"}, "rssi": { "min": {"$ref": "#/$defs/rssi"}, "max": {"$ref": "#/$defs/rssi"}, "ave": {"$ref": "#/$defs/rssi"} }, "required": ["timestamp", "action"] } }