{ "$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"]}, "ysf_mode": {"type": "string", "enum": ["voice_vw", "voice_dn", "data_fr"]}, "dg-id": {"type": "integer", "minimum": 0, "maximum": 99}, "ax25_type": {"type": "string", "enum": ["sabm", "disc", "ui", "ua", "rr", "rnr", "rej", "frmr", "i"]}, "dmr_slot": {"type": "integer", "enum": [1, 2]}, "source": {"type": "string", "enum": ["rf", "network"]}, "fm_state": {"type": "string", "enum": ["waiting_rf", "waiting_network"]}, "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"]}, "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"}, "required": ["timestamp", "mode"] }, "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", "source_cs", "source_ext", "destination_cs", "source", "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/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", "source_id", "destination_id", "destination_type", "slot", "source", "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", "source_cs", "dg-id", "source", "action", "mode"] }, "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", "source_id", "destination_id", "destination_type", "source", "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", "source_id", "destination_id", "destination_type", "source", "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/ax25_callsign"}, "destination": {"$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", "source_cs", "destination_cs", "source", "action", "traffic_type"] } }