Jump to content

SimTX API/Packets/StartMonitor

From SimTX Wiki
StartMonitor
Frame ClientFrame, field 31
Member start_monitor
Direction Client → server
Session Control, moderation
Roles ROLE_CONTROL (authenticated), ROLE_MODERATION.
Permission Control: the transmitter must belong to the account. Moderation: monitor.any.
Answered by MonitorAck, then MonitorBlock frames, or Error
Answers
Defined in control.proto

StartMonitor asks the server to stream the signal of a transmitter back to the client. The stream is the transmitter's complex baseband after the modulator and amplifier model, before the antenna and propagation.

Definition[edit | edit source]

message StartMonitor { bytes session_id = 1; int64 request_id = 2; }

Fields[edit | edit source]

# Field Type Description
1 session_id bytes 16-byte session id of the transmitter to monitor.
2 request_id int64 Nonzero; echoed in the MonitorAck or Error.

Rules[edit | edit source]

  • On a control session, the transmitter must belong to the same account as the control session. An anonymous control session cannot monitor anything. Authenticated control sessions need a control ticket, which the account service issues only to credentials with catalog.publish.
  • On a moderation session, any transmitter may be monitored with monitor.any.
  • Take session_id from the transmitter's own SessionStatus, or from a LiveSession.session_id in the StationList.
  • Success: MonitorAck with active = true, then MonitorBlock frames. Failure: Error with NOT_FOUND (no live transmitter with that id) or FORBIDDEN (not yours).
  • Not a heavy request. The stream starts with the newest samples; there is no backlog.

Examples[edit | edit source]

Complete frames, including the varint length prefix.

start_monitor (client to server, 24 bytes):

17                     frame length 23
FA 01 14               start_monitor (StartMonitor), 20 bytes
  0A 10 AA AA AA AA …  session_id = aaaaaaaa-bbbb-4ccc-8ddd-eeeeeeeeeeee
  10 2C                request_id = 44

monitor_ack_started (server to client, 26 bytes):

19                     frame length 25
D2 02 16               monitor_ack (MonitorAck), 22 bytes
  08 2C                request_id = 44
  12 10 AA AA AA AA …  session_id = aaaaaaaa-bbbb-4ccc-8ddd-eeeeeeeeeeee
  18 01                active = true

See also[edit | edit source]

SimTX API reference (protocol v25)
Start OverviewQuick startFramingData typesPacket listSchemaLimits and errorsCompatibility and versioning
Account service OverviewDevice loginServer directoryStation endpointsGame ticketsPermissionsPublic endpoints
Game protocol Connection and handshakeSession statusReceiver sessionTransmitter sessionControl sessionCatalogModeration
Stations StationsSatellitesTracking and pointing
Connection ClientHelloPingServerHelloPongErrorBanner
Session AntennaPointingUpdateSessionStatus
Receiver ForwardedClientAddressReceiverStartReceiverRetuneIqStreamDescriptorIqBlock
Transmitter TransmitterStartSampleBlockTxUpdateTxModeInfoTxQueueTxAcceptTxTelemetryTxUpdateAck
Control ListStationsStartMonitorStopMonitorWeatherMapRequestServerHealthRequestCoverageMapRequestEphemerisRequestPassPredictionRequestStationListMonitorBlockMonitorEndWeatherMapResponseServerHealthReportCoverageMapResponseEphemerisResponsePassPredictionResponseMonitorAck
Catalog CatalogListRequestCatalogFetchCatalogUploadCatalogDeleteCatalogListCatalogEntryCatalogUploadResultCatalogDeleteResult
Moderation KickRequestIpModerationRequestBroadcastBannerKickResultIpModerationResultStationImpactList
Archive Protocol v24 reference