@observertc/report-schemas-js
v2.2.12
Published
ObserveRTC Generated Library for Report Schemas
Downloads
332
Readme
ObserveRTC Schemas
Javascript bindings for ObserveRTC schemas
- reports
- CallEventReport
- CallMetaReport
- ClientDataChannelReport
- ClientExtensionReport
- IceCandidatePairReport
- InboundAudioTrackReport
- InboundVideoTrackReport
- ObserverEventReport
- OutboundAudioTrackReport
- OutboundVideoTrackReport
- PeerConnectionTransportReport
- Report
- SfuEventReport
- SfuExtensionReport
- SfuInboundRtpPadReport
- SfuMetaReport
- SfuOutboundRtpPadReport
- SfuSctpStreamReport
- SFUTransportReport
- Changelog
CallEventReport
Observer created reports related to events (call started, call ended, client joined, etc...) indicated by the incoming samples.
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) name (Mandatory) | The name of the event. Possible values are: CALL_STARTED, CALL_ENDED, CLIENT_JOINED, CLIENT_LEFT, PEER_CONNECTION_OPENED, PEER_CONNECTION_CLOSED, MEDIA_TRACK_ADDED, MEDIA_TRACK_REMOVED mediaUnitId | The media unit id the report belongs to marker | The marker the originated sample is reported with callId | The generated unique identifier of the call roomId | webrtc app provided room id clientId | The generated unique identifier of the client userId | webrtc app provided user identifier peerConnectionId | The unique identifier of the peer connection mediaTrackId | The unique identifier of the media track SSRC | The SSRC identifier of the RTP stream a trackId belongs to sampleTimestamp | The timestamp of the sample the event related to sampleSeq | The sequence number of the sample the event may related to message | the human readable message of the event value | the value of the event attachments | attachment the event may created with
CallMetaReport
Metadata belongs to a call and can be useful
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) mediaUnitId | The media unit id the report belongs to marker | The marker the originated sample is reported with callId | The generated unique identifier of the call roomId | webrtc app provided room id clientId | The generated unique identifier of the client userId | webrtc app provided user identifier peerConnectionId | The unique identifier of the peer connection sampleTimestamp | The timestamp of the sample the event related to sampleSeq | The sequence number of the sample the event may related to type | The type of the meta data. Possible values are: OPERATION_SYSTEM, ENGINE, PLATFORM, BROWSER, CERTIFICATE, CODEC, ICE_LOCAL_CANDIDATE, ICE_REMOTE_CANDIDATE, ICE_SERVER, MEDIA_CONSTRAINT, MEDIA_DEVICE, MEDIA_SOURCE, USER_MEDIA_ERROR, LOCAL_SDP payload | The payload for the metadata reported for the peeer connection
ClientDataChannelReport
A Report created for PeerConnection Data Channel.
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service mediaUnitId (Mandatory) | The media unit id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) callId (Mandatory) | The generated unique identifier of the call clientId (Mandatory) | The generated unique identifier of the client peerConnectionId (Mandatory) | The unique identifier of the peer connection sampleSeq (Mandatory) | The sequence number of the sample the report is generated from marker | The marker the originated sample is reported with roomId | webrtc app provided room id userId | webrtc app provided user identifier peerConnectionLabel | The webrtc app provided label for the peer connection label | The label of the data channel protocol | The protocol used for the data channel state | The state of the data channel messagesSent | Represents the total number of API message events sent bytesSent | Represents the total number of payload bytes sent on the corresponded data channel messagesReceived | Represents the total number of API message events received on the corresponded data channel bytesReceived | Represents the total number of payload bytes received on the corresponded data channel
ClientExtensionReport
A Report created for Extended provided arbitrary data.
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) extensionType (Mandatory) | The name of the event mediaUnitId | The media unit id the report belongs to marker | The marker the originated sample is reported with callId | The generated unique identifier of the call roomId | webrtc app provided room id clientId | The generated unique identifier of the client userId | webrtc app provided user identifier peerConnectionId | The unique identifier of the peer connection sampleSeq | The sequence number of the sample the event may related to payload | the human readable message of the event
IceCandidatePairReport
A Report created for ICE candidate pairs
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service mediaUnitId (Mandatory) | The media unit id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) callId (Mandatory) | The generated unique identifier of the call clientId (Mandatory) | The generated unique identifier of the client peerConnectionId (Mandatory) | The unique identifier of the peer connection sampleSeq (Mandatory) | The sequence number of the sample the report is generated from marker | The marker the originated sample is reported with roomId | webrtc app provided room id userId | webrtc app provided user identifier label | The webrtc app provided label the peer connection is marked with candidatePairId | The unique identifier of the peer connection transportId | The identifier of the transport the ice candidate pair is negotiated on localCandidateId | The unique identifier of the candidate the negotiated pair is selected at local side remoteCandidateId | The unique identifier of the candidate the negotiated pair is selected at remote side state | The state of ICE Candidate Pairs (RTCStatsIceState) on the corresponded transport nominated | indicate if the ice candidate pair is nominated or not packetsSent | The total number of packets sent using the last selected candidate pair over the corresponded transport packetsReceived | The total number of packets received using the last selected candidate pair over the corresponded transport bytesSent | The total number of bytes sent using the last selected candidate pair over the corresponded transport bytesReceived | The total number of bytes received using the last selected candidate pair over the corresponded transport lastPacketSentTimestamp | Represents the timestamp at which the last packet was sent on the selected candidate pair, excluding STUN packets over the corresponded transport (UTC Epoch in ms) lastPacketReceivedTimestamp | Represents the timestamp at which the last packet was received on the selected candidate pair, excluding STUN packets over the corresponded transport (UTC Epoch in ms) totalRoundTripTime | Represents the sum of all round trip time measurements in seconds since the beginning of the session, based on STUN connectivity check over the corresponded transport currentRoundTripTime | Represents the last round trip time measurements in seconds based on STUN connectivity check over the corresponded transport availableOutgoingBitrate | The sum of the underlying cc algorithm provided outgoing bitrate for the RTP streams over the corresponded transport availableIncomingBitrate | The sum of the underlying cc algorithm provided incoming bitrate for the RTP streams over the corresponded transport requestsReceived | Represents the total number of connectivity check requests received on the selected candidate pair using the corresponded transport requestsSent | Represents the total number of connectivity check requests sent on the selected candidate pair using the corresponded transport responsesReceived | Represents the total number of connectivity check responses received on the selected candidate pair using the corresponded transport responsesSent | Represents the total number of connectivity check responses sent on the selected candidate pair using the corresponded transport consentRequestsSent | Represents the total number of consent requests sent on the selected candidate pair using the corresponded transport packetsDiscardedOnSend | Total amount of packets for this candidate pair that have been discarded due to socket errors on the selected candidate pair using the corresponded transport bytesDiscardedOnSend | Total amount of bytes for this candidate pair that have been discarded due to socket errors on the selected candidate pair using the corresponded transport
InboundAudioTrackReport
A Report created for Inbound Audio Tracks. A combination of Codec metadata carrying inbound and remote outbound RTP stats measurements
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service mediaUnitId (Mandatory) | The media unit id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) callId (Mandatory) | The generated unique identifier of the call clientId (Mandatory) | The generated unique identifier of the client peerConnectionId (Mandatory) | The unique identifier of the peer connection sampleSeq (Mandatory) | The sequence number of the sample the report is generated from ssrc (Mandatory) | The RTP SSRC field marker | The marker the originated sample is reported with roomId | webrtc app provided room id userId | webrtc app provided user identifier label | The webrtc app provided label the peer connection is labeled with trackId | The id of the track sfuStreamId | The id of the Sfu stream the media from sfuSinkId | The id of the sink the Sfu streamed the media out remoteTrackId | The id of the remote track this inbound track is originated from remoteUserId | The webrtc app provided user id the track belongs to, or if the webrtc app did not provided the observer tried to match it remoteClientId | The observer matched remote client Id remotePeerConnectionId | The observer matched remote Peer Connection Id packetsReceived | The total number of packets received on the corresponded synchronization source packetsLost | The total number of bytes received on the corresponded synchronization source jitter | The corresponded synchronization source reported jitter lastPacketReceivedTimestamp | Represents the timestamp at which the last packet was received on the corresponded synchronization source (ssrc) headerBytesReceived | Total number of RTP header and padding bytes received over the corresponding synchronization source (ssrc) packetsDiscarded | The total number of packets missed the playout point and therefore discarded by the jitterbuffer fecPacketsReceived | Total number of FEC packets received over the corresponding synchronization source (ssrc) fecPacketsDiscarded | Total number of FEC packets discarded over the corresponding synchronization source (ssrc) due to 1) late arrive; 2) the target RTP packet has already been repaired. bytesReceived | Total number of bytes received over the corresponding synchronization source (ssrc) due to 1) late arrive; 2) the target RTP packet has already been repaired. nackCount | Count the total number of Negative ACKnowledgement (NACK) packets sent and belongs to the corresponded synchronization source (ssrc) totalProcessingDelay | The total processing delay in seconds spend on buffering RTP packets from received up until packets are decoded estimatedPlayoutTimestamp | The estimated playout time of the corresponded synchronization source jitterBufferDelay | The total time of RTP packets spent in jitterbuffer waiting for frame completion due to network uncertenity. jitterBufferTargetDelay | This value is increased by the target jitter buffer delay every time a sample is emitted by the jitter buffer. The added target is the target delay, in seconds, at the time that the sample was emitted from the jitter buffer. jitterBufferEmittedCount | The total number of audio samples or video frames that have come out of the jitter buffer on the corresponded synchronization source (ssrc) jitterBufferMinimumDelay | This metric is purely based on the network characteristics such as jitter and packet loss, and can be seen as the minimum obtainable jitter buffer delay if no external factors would affect it totalSamplesReceived | The total number of audio samples received on the corresponded RTP stream concealedSamples | The total number of samples decoded by the media decoder from the corresponded RTP stream silentConcealedSamples | The total number of samples concealed from the corresponded RTP stream concealmentEvents | The total number of concealed event emitted to the media codec by the corresponded jitterbuffer insertedSamplesForDeceleration | The total number of samples inserted to decelarete the audio playout (happens when the jitterbuffer detects a shrinking buffer and need to increase the jitter buffer delay) removedSamplesForAcceleration | The total number of samples inserted to accelerate the audio playout (happens when the jitterbuffer detects a growing buffer and need to shrink the jitter buffer delay) audioLevel | The current audio level totalAudioEnergy | Represents the energy level reported by the media source totalSamplesDuration | Represents the total duration of the audio samples the media source actually transconverted in seconds decoderImplementation | Indicate the name of the decoder implementation library packetsSent | Total number of RTP packets sent at the remote endpoint to this endpoint on this synchronization source bytesSent | Total number of payload bytes sent at the remote endpoint to this endpoint on this synchronization source remoteTimestamp | The timestamp corresnponds to the time in UTC Epoch the remote endpoint reported the statistics belong to the sender side and correspond to the synchronization source (ssrc) reportsSent | The number of SR reports the remote endpoint sent corresponded to synchronization source (ssrc) this report belongs to roundTripTime | Estimated round trip time for the SR reports based on DLRR reports on the corresponded RTP stream totalRoundTripTime | Represents the cumulative sum of all round trip time measurements performed on the corresponded RTP stream roundTripTimeMeasurements | Represents the total number of SR reports received with DLRR reports to be able to calculate the round trip time on the corresponded RTP stream synthesizedSamplesDuration | This metric can be used together with totalSamplesDuration to calculate the percentage of played out media being synthesized synthesizedSamplesEvents | The number of synthesized samples events. totalPlayoutDelay | The playout delay includes the delay from being emitted to the actual time of playout on the device totalSamplesCount | When audio samples are pulled by the playout device, this counter is incremented with the number of samples emitted for playout
InboundVideoTrackReport
A Report created for Inbound Video Tracks. A combination of Codec metadata carrying inbound and remote outbound RTP stats measurements
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service mediaUnitId (Mandatory) | The media unit id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) callId (Mandatory) | The generated unique identifier of the call clientId (Mandatory) | The generated unique identifier of the client peerConnectionId (Mandatory) | The unique identifier of the peer connection sampleSeq (Mandatory) | The sequence number of the sample the report is generated from ssrc (Mandatory) | The RTP SSRC field marker | The marker the originated sample is reported with roomId | webrtc app provided room id userId | webrtc app provided user identifier label | The webrtc app provided label the peer connection is labeled with trackId | The id of the track sfuStreamId | The id of the Sfu stream the media from sfuSinkId | The id of the sink the Sfu streamed the media out remoteTrackId | The id of the remote track this inbound track is originated from remoteUserId | The webrtc app provided user id the track belongs to, or if the webrtc app did not provided the observer tried to match it remoteClientId | The observer matched remote client Id remotePeerConnectionId | The observer matched remote Peer Connection Id packetsReceived | The total number of packets received on the corresponded synchronization source packetsLost | The total number of bytes received on the corresponded synchronization source jitter | The corresponded synchronization source reported jitter framesDropped | The number of frames dropped prior to decode or missing chunks lastPacketReceivedTimestamp | Represents the timestamp at which the last packet was received on the corresponded synchronization source (ssrc) headerBytesReceived | Total number of RTP header and padding bytes received over the corresponding synchronization source (ssrc) packetsDiscarded | The total number of packets missed the playout point and therefore discarded by the jitterbuffer fecPacketsReceived | Total number of FEC packets received over the corresponding synchronization source (ssrc) fecPacketsDiscarded | Total number of FEC packets discarded over the corresponding synchronization source (ssrc) due to 1) late arrive; 2) the target RTP packet has already been repaired. bytesReceived | Total number of bytes received over the corresponding synchronization source (ssrc) due to 1) late arrive; 2) the target RTP packet has already been repaired. nackCount | Count the total number of Negative ACKnowledgement (NACK) packets sent and belongs to the corresponded synchronization source (ssrc) totalProcessingDelay | The total processing delay in seconds spend on buffering RTP packets from received up until packets are decoded estimatedPlayoutTimestamp | The estimated playout time of the corresponded synchronization source jitterBufferDelay | The total time of RTP packets spent in jitterbuffer waiting for frame completion due to network uncertenity. jitterBufferTargetDelay | This value is increased by the target jitter buffer delay every time a sample is emitted by the jitter buffer. The added target is the target delay, in seconds, at the time that the sample was emitted from the jitter buffer. jitterBufferEmittedCount | The total number of audio samples or video frames that have come out of the jitter buffer on the corresponded synchronization source (ssrc) jitterBufferMinimumDelay | This metric is purely based on the network characteristics such as jitter and packet loss, and can be seen as the minimum obtainable jitter buffer delay if no external factors would affect it decoderImplementation | Indicate the name of the decoder implementation library framesDecoded | The total number of frames decoded on the corresponded RTP stream keyFramesDecoded | The total number of keyframes decoded on the corresponded RTP stream frameWidth | The width of the frame of the video sent by the remote source on the corresponded RTP stream frameHeight | The height of the frame of the video sent by the remote source on the corresponded RTP stream framesPerSecond | The frame per seconds of the video sent by the remote source on the corresponded RTP stream qpSum | The QP sum (only interested in VP8,9) of the frame of the video sent by the remote source on the corresponded RTP stream totalDecodeTime | The total tiem spent on decoding video on the corresponded RTP stream totalInterFrameDelay | The total interframe delay totalSquaredInterFrameDelay | The total number of inter frame delay squere on the corresponded synchronization source (ssrc) Useful for variance calculation for interframe delays firCount | The total number FIR packets sent from this endpoint to the source on the corresponded RTP stream pliCount | The total number of Picture Loss Indication sent on the corresponded RTP stream framesReceived | The total number of frames received on the corresponded RTP stream. packetsSent | Total number of RTP packets sent at the remote endpoint to this endpoint on this synchronization source bytesSent | Total number of payload bytes sent at the remote endpoint to this endpoint on this synchronization source remoteTimestamp | The timestamp corresnponds to the time in UTC Epoch the remote endpoint reported the statistics belong to the sender side and correspond to the synchronization source (ssrc) reportsSent | The number of SR reports the remote endpoint sent corresponded to synchronization source (ssrc) this report belongs to roundTripTime | Estimated round trip time for the SR reports based on DLRR reports on the corresponded RTP stream totalRoundTripTime | Represents the cumulative sum of all round trip time measurements performed on the corresponded RTP stream roundTripTimeMeasurements | Represents the total number of SR reports received with DLRR reports to be able to calculate the round trip time on the corresponded RTP stream
ObserverEventReport
A report created for observer generated events
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) callId (Mandatory) | The generated unique identifier of the call name (Mandatory) | The name of the event mediaUnitId | The media unit id the report belongs to marker | The marker the originated sample is reported with roomId | webrtc app provided room id clientId | The generated unique identifier of the client userId | webrtc app provided user identifier peerConnectionId | The unique identifier of the peer connection sampleTimestamp | The timestamp of the sample the event related to sampleSeq | The sequence number of the sample the event may related to message | the human readable message of the event value | the value of the event attachments | attachment the event may created with
OutboundAudioTrackReport
A Report created for Outbound Audio Tracks. A combination of Audio source, Codec metadata carrying outbound and remote inbound RTP stat measurements
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service mediaUnitId (Mandatory) | The media unit id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) callId (Mandatory) | The generated unique identifier of the call clientId (Mandatory) | The generated unique identifier of the client peerConnectionId (Mandatory) | The unique identifier of the peer connection sampleSeq (Mandatory) | The sequence number of the sample the report is generated from ssrc (Mandatory) | The RTP SSRC field marker | The marker the originated sample is reported with roomId | webrtc app provided room id userId | webrtc app provided user identifier label | The webrtc app provided label the peer connection is labeled with trackId | The id of the track sfuStreamId | The id of the Sfu stream corresponds to the outbound track packetsSent | The total number of packets sent on the corresponded synchronization source bytesSent | The total number of bytes sent on the corresponded synchronization source rid | The rid encoding parameter of the corresponded synchronization source headerBytesSent | Total number of RTP header and padding bytes sent over the corresponding synchronization source (ssrc) retransmittedPacketsSent | Total number of retransmitted packets sent over the corresponding synchronization source (ssrc). retransmittedBytesSent | Total number of retransmitted bytes sent over the corresponding synchronization source (ssrc). targetBitrate | Reflects the current encoder target in bits per second. totalEncodedBytesTarget | The total number of bytes of RTP coherent frames encoded completly depending on the frame size the encoder targets totalPacketSendDelay | The total number of delay packets buffered at the sender side in seconds over the corresponding synchronization source averageRtcpInterval | The average RTCP interval between two consecutive compound RTCP packets sent for the corresponding synchronization source (ssrc) nackCount | Count the total number of Negative ACKnowledgement (NACK) packets received over the corresponding synchronization source (ssrc) encoderImplementation | Indicate the name of the encoder implementation library active | Indicates whether this RTP stream is configured to be sent or disabled packetsReceived | The total number of packets received on the corresponded synchronization source packetsLost | The total number of bytes received on the corresponded synchronization source jitter | The corresponded synchronization source reported jitter roundTripTime | RTT measurement in seconds based on (most likely) SR, and RR belongs to the corresponded synchronization source totalRoundTripTime | The sum of RTT measurements belongs to the corresponded synchronization source fractionLost | The receiver reported fractional lost belongs to the corresponded synchronization source roundTripTimeMeasurements | The total number of calculated RR measurements received on this source relayedSource | True if the corresponded media source is remote, false otherwise (or null depending on browser and version) audioLevel | Represents the audio level reported by the media source totalAudioEnergy | Represents the energy level reported by the media source totalSamplesDuration | Represents the total duration of the audio samples the media source actually transconverted in seconds echoReturnLoss | Represents the echo cancellation in decibels corresponded to the media source. echoReturnLossEnhancement | Represents the echo cancellation in decibels added as a postprocessing by the library after the audio is catched from the emdia source. droppedSamplesDuration | . The total duration, in seconds, of samples produced by the device that got dropped before reaching the media source droppedSamplesEvents | A counter increases every time a sample is dropped after a non-dropped sample totalCaptureDelay | Total delay, in seconds, for each audio sample between the time the sample was emitted by the capture device and the sample reaching the source totalSamplesCaptured | The total number of captured samples reaching the audio source
OutboundVideoTrackReport
A Report created for Outbound Video Tracks. A combination of Video source, Codec metadata carrying outbound and remote inbound RTP stat measurements
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service mediaUnitId (Mandatory) | The media unit id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) callId (Mandatory) | The generated unique identifier of the call clientId (Mandatory) | The generated unique identifier of the client peerConnectionId (Mandatory) | The unique identifier of the peer connection sampleSeq (Mandatory) | The sequence number of the sample the report is generated from ssrc (Mandatory) | The RTP SSRC field marker | The marker the originated sample is reported with roomId | webrtc app provided room id userId | webrtc app provided user identifier label | The webrtc app provided label the peer connection is labeled with trackId | The id of the track sfuStreamId | The id of the Sfu stream corresponds to the outbound track packetsSent | The total number of packets sent on the corresponded synchronization source bytesSent | The total number of bytes sent on the corresponded synchronization source rid | The rid encoding parameter of the corresponded synchronization source headerBytesSent | Total number of RTP header and padding bytes sent over the corresponding synchronization source (ssrc) retransmittedPacketsSent | Total number of retransmitted packets sent over the corresponding synchronization source (ssrc). retransmittedBytesSent | Total number of retransmitted bytes sent over the corresponding synchronization source (ssrc). targetBitrate | Reflects the current encoder target in bits per second. totalEncodedBytesTarget | The total number of bytes of RTP coherent frames encoded completly depending on the frame size the encoder targets totalPacketSendDelay | The total number of delay packets buffered at the sender side in seconds over the corresponding synchronization source averageRtcpInterval | The average RTCP interval between two consecutive compound RTCP packets sent for the corresponding synchronization source (ssrc) nackCount | Count the total number of Negative ACKnowledgement (NACK) packets received over the corresponding synchronization source (ssrc) encoderImplementation | Indicate the name of the encoder implementation library active | Indicates whether this RTP stream is configured to be sent or disabled frameWidth | The frame width in pixels of the frames targeted by the media encoder frameHeight | The frame width the media encoder targeted framesPerSecond | The encoded number of frames in the last second on the corresponded media source framesSent | TThe total number of frames sent on the corresponded RTP stream hugeFramesSent | The total number of huge frames (avgFrameSize * 2.5) on the corresponded RTP stream framesEncoded | The total number of frames encoded by the media source keyFramesEncoded | The total number of keyframes encoded on the corresponded RTP stream qpSum | The sum of the QP the media encoder provided on the corresponded RTP stream. totalEncodeTime | The total time in seconds spent in encoding media frames for the corresponded RTP stream. qualityLimitationDurationNone | Time elapsed in seconds when the RTC connection has not limited the quality qualityLimitationDurationCPU | Time elapsed in seconds the RTC connection had a limitation because of CPU qualityLimitationDurationBandwidth | Time elapsed in seconds the RTC connection had a limitation because of Bandwidth qualityLimitationDurationOther | Time elapsed in seconds the RTC connection had a limitation because of Other factor qualityLimitationReason | Indicate a reason for the quality limitation of the corresponded synchronization source qualityLimitationResolutionChanges | The total number of resolution changes occured ont he corresponded RTP stream due to quality changes firCount | The total number FIR packets sent from this endpoint to the source on the corresponded RTP stream pliCount | The total number of Picture Loss Indication sent on the corresponded RTP stream packetsReceived | The total number of packets received on the corresponded synchronization source packetsLost | The total number of bytes received on the corresponded synchronization source jitter | The corresponded synchronization source reported jitter roundTripTime | RTT measurement in seconds based on (most likely) SR, and RR belongs to the corresponded synchronization source totalRoundTripTime | The sum of RTT measurements belongs to the corresponded synchronization source fractionLost | The receiver reported fractional lost belongs to the corresponded synchronization source roundTripTimeMeasurements | The total number of calculated RR measurements received on this source framesDropped | The total number of frames reported to be lost by the remote endpoit on the corresponded RTP stream relayedSource | True if the corresponded media source is remote, false otherwise (or null depending on browser and version) width | The width, in pixels, of the last frame originating from the media source height | The height, in pixels, of the last frame originating from the media source frames | The total number of frames originated from the media source
PeerConnectionTransportReport
A Report created for Client PeerConnection Transport.
Field | Description --- | --- serviceId (Mandatory) | The unique identifier of the service mediaUnitId (Mandatory) | The media unit id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) callId (Mandatory) | The generated unique identifier of the call clientId (Mandatory) | The generated unique identifier of the client peerConnectionId (Mandatory) | The unique identifier of the peer connection transportId (Mandatory) | The identifier of the transport the ICE candidate pair is negotiated on sampleSeq (Mandatory) | The sequence number of the sample the report is generated from marker | The marker the originated sample is reported with roomId | webrtc app provided room id userId | webrtc app provided user identifier label | The webrtc app provided label the peer connection is marked with packetsSent | Represents the total number of packets sent on the corresponded transport packetsReceived | Represents the total number of packets received on the corresponded transport bytesSent | Represents the total amount of bytes sent on the corresponded transport bytesReceived | Represents the total amount of bytes received on the corresponded transport iceRole | Represent the current role of ICE under DTLS Transport iceLocalUsernameFragment | Represent the current local username fragment used in message validation procedures for ICE under DTLS Transport dtlsState | Represents the current state of DTLS for the peer connection transport layer dtlsRole | The role this host plays in DTLS negotiations selectedCandidatePairId | The identifier of the candidate pair the transport currently uses iceState | Represents the current transport state (RTCIceTransportState) of ICE for the peer connection transport layer localCertificateId | If DTLS negotiated it gives the id of the local certificate remoteCertificateId | If DTLS negotiated it gives the id of the remote certificate tlsVersion | Represents the version number of the TLS used in the corresponded transport dtlsCipher | Represents the name of the DTLS cipher used in the corresponded transport srtpCipher | Represents the name of the SRTP cipher used in the corresponded transport tlsGroup | Represents the name of the IANA TLS Supported Groups used in the corresponded transport selectedCandidatePairChanges | The total number of candidate pair changes over the peer connection
Report
A multiplexed Report object wraps an encoded report in bytes format
Field | Description --- | --- type (Mandatory) | The type of the report payload (Mandatory) | The payload of contans the actual report schemaVersion | The version of the schema the payload holds
SfuEventReport
Events happened in calls.
Field | Description --- | --- serviceId (Mandatory) | The service id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) name (Mandatory) | The name of the event. Possible values are: SFU_JOINED, SFU_LEFT, SFU_TRANSPORT_OPENED, SFU_TRANSPORT_CLOSED, SFU_RTP_STREAM_ADDED, SFU_RTP_STREAM_REMOVED mediaUnitId | The media unit id the report belongs to marker | The marker the originated sample is reported with sfuId | The generated unique identifier of the SFU callId | The callId the event belongs to transportId | SFU provided transport identifier mediaStreamId | Unique identifier of the SFU stream id the rtp pad belongs to mediaSinkId | Unique identifier of the SFU stream id the rtp pad belongs to sctpStreamId | Unique identifier of the SCTP stream the event is related to rtpPadId | Unique identifier of the Sfu Pad the event is related to message | the human readable message of the event value | the value of the event attachments | attachment the event may created with
SfuExtensionReport
A Report created for Extended provided arbitrary data.
Field | Description --- | --- serviceId (Mandatory) | The service id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) extensionType (Mandatory) | The name of the event mediaUnitId | The media unit id the report belongs to marker | The marker the originated sample is reported with sfuId | The generated unique identifier of the SFU payload | the human readable message of the event
SfuInboundRtpPadReport
A Report created for RTP streams going through the SFU
Field | Description --- | --- serviceId (Mandatory) | The service id the report belongs to mediaUnitId (Mandatory) | The media unit id the report belongs to sfuId (Mandatory) | The provided unique identifier of the SFU timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) transportId (Mandatory) | The id of the transport the RTP stream uses. sfuStreamId (Mandatory) | Unique identifier of the Sfu stream the event is related to rtpPadId (Mandatory) | The id of RTP pad. ssrc (Mandatory) | The synchronization source id of the RTP stream marker | The marker the originated sample is reported with internal | Flag indicate if the sfu rtp pad is used as an internal rtp session between SFUs remoteSfuId | only added if it is internal. The id of the remote Sfu that outbound rtp pad matched with this internal inbound rtp pad remoteTransportId | only added if it is internal. The id of the remote transportId that outbound rtp pad matched with this internal inbound rtp pad remoteSinkId | only added if it is internal. The id of the remote sinkId that outbound rtp pad matched with this internal inbound rtp pad remoteRtpPadId | only added if it is internal. The id of the remote outbound rtp pad matched with this internal inbound rtp pad trackId | The id of the track the RTP stream related to at the client side clientId | If the track id was provided by the Sfu, the observer can fill up the information of which client it belongs to callId | The callId the event belongs to mediaType | the type of the media the stream carries ("audio" or "video") payloadType | The payload type field of the RTP header mimeType | The negotiated mimeType in the SDP clockRate | The clock rate of the media source the RTP header carries sdpFmtpLine | The actual SDP line from the negotiation related to this RTP stream rid | The rid parameter of the corresponded RTP stream rtxSsrc | If RTX is negotiated as a separate stream, this is the SSRC of the RTX stream that is associated with this stream's ssrc. targetBitrate | he bitrate the corresponded stream targets. voiceActivityFlag | The RTP header V flag indicate of the activity of the media source by the media codec if the RTP transport ships it through firCount | The total number FIR packets sent from this endpoint to the source on the corresponded RTP stream. Only for Video streams pliCount | The total number of Picture Loss Indication sent on the corresponded RTP stream. Only for Video streams nackCount | The total number of negative acknowledgement received on the corresponded RTP stream. sliCount | The total number of SLI indicator sent from the endpoint on the corresponded RTP stream. Only for Audio stream packetsLost | The total number of packets lost on the corresponded RTP stream. packetsReceived | The total number of packets received on the corresponded RTP stream. packetsDiscarded | The total number of discarded packets on the corresponded RTP stream. packetsRepaired | The total number of packets repaired by either retransmission or FEC on the corresponded RTP stream. packetsFailedDecryption | The total number of packets failed to be decrypted on the corresponded RTP stream. packetsDuplicated | The total number of duplicated packets appeared on the corresponded RTP stream. fecPacketsReceived | The total number of FEC packets received on the corresponded RTP stream. fecPacketsDiscarded | The total number of FEC packets discarded on the corresponded RTP stream. bytesReceived | The total amount of payload bytes received on the corresponded RTP stream. rtcpSrReceived | The total number of SR reports received by the corresponded RTP stream rtcpRrSent | The total number of RR reports sent on the corresponded RTP stream rtxPacketsReceived | If rtx packets are sent or received on the same stream then this number indicates how may has been sent rtxPacketsDiscarded | If rtx packets are received on the same stream then this number indicates how may has been discarded framesReceived | The number of frames received on the corresponded RTP stream framesDecoded | Indicate the number of frames the Sfu has been decoded keyFramesDecoded | Indicate the number of keyframes the Sfu has been decoded fractionLost | The calculated fractionLost of the stream jitter | The calculated jitter of the stream roundTripTime | The calculated RTT of the stream
SfuMetaReport
Metadata belongs to SFUs
Field | Description --- | --- serviceId (Mandatory) | The service id the report belongs to timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) mediaUnitId | The media unit id the report belongs to marker | The marker the originated sample is reported with sfuId | The generated unique identifier of the SFU callId | The callId the event belongs to transportId | SFU provided transport identifier mediaStreamId | Unique identifier of the SFU stream id the rtp pad belongs to mediaSinkId | Unique identifier of the SFU stream id the rtp pad belongs to sctpStreamId | Unique identifier of the SCTP stream the event is related to rtpPadId | Unique identifier of the Sfu Pad the event is related to type | The type of the meta data reported for the peer connection payload | The payload for the metadata reported for the peeer connection
SfuOutboundRtpPadReport
A Report created for RTP streams going through the SFU
Field | Description --- | --- serviceId (Mandatory) | The service id the report belongs to mediaUnitId (Mandatory) | The media unit id the report belongs to sfuId (Mandatory) | The provided unique identifier of the SFU timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) transportId (Mandatory) | The id of the transport the RTP stream uses. sfuStreamId (Mandatory) | Unique identifier of the Sfu stream the event is related to sfuSinkId (Mandatory) | Unique identifier of the Sfu sink the event is related to rtpPadId (Mandatory) | The id of RTP pad. ssrc (Mandatory) | The synchronization source id of the RTP stream marker | The marker the originated sample is reported with internal | Flag indicate if the sfu rtp pad is used as an internal rtp session between SFUs callId | The callId the event belongs to clientId | If the track id was provided by the Sfu, the observer can fill up the information of which client it belongs to trackId | The id of the track the RTP stream related to at the client side mediaType | the type of the media the stream carries ("audio" or "video") payloadType | The payload type field of the RTP header mimeType | The negotiated mimeType in the SDP clockRate | The clock rate of the media source the RTP header carries sdpFmtpLine | The actual SDP line from the negotiation related to this RTP stream rid | The rid parameter of the corresponded RTP stream rtxSsrc | If RTX is negotiated as a separate stream, this is the SSRC of the RTX stream that is associated with this stream's ssrc. targetBitrate | he bitrate the corresponded stream targets. voiceActivityFlag | The RTP header V flag indicate of the activity of the media source by the media codec if the RTP transport ships it through firCount | The total number FIR packets sent from this endpoint to the source on the corresponded RTP stream. Only for Video streams pliCount | The total number of Picture Loss Indication sent on the corresponded RTP stream. Only for Video streams nackCount | The total number of negative acknowledgement received on the corresponded RTP stream. sliCount | The total number of SLI indicator sent from the endpoint on the corresponded RTP stream. Only for Audio stream packetsLost | The total number of packets lost on the corresponded RTP stream. packetsSent | The total number of packets sent on the corresponded RTP stream. packetsDiscarded | The total number of discarded packets on the corresponded RTP stream. packetsRetransmitted | The total number of packets retransmitted on the corresponded RTP stream. packetsFailedEncryption | The total number of packets failed to be encrypted on the corresponded RTP stream. packetsDuplicated | The total number of duplicated packets appeared on the corresponded RTP stream. fecPacketsSent | The total number of FEC packets sent on the corresponded RTP stream. fecPacketsDiscarded | The total number of FEC packets discarded on the corresponded RTP stream. bytesSent | The total amount of payload bytes sent on the corresponded RTP stream. rtcpSrSent | The total number of SR reports sent by the corresponded RTP stream rtcpRrReceived | The total number of RR reports received on the corresponded RTP stream rtxPacketsSent | If rtx packets sent on the same stream then this number indicates how may has been sent rtxPacketsDiscarded | If rtx packets are received on the same stream then this number indicates how may has been discarded framesSent | The number of frames sent on the corresponded RTP stream framesEncoded | Indicate the number of frames the Sfu has been encoded keyFramesEncoded | Indicate the number of keyframes the Sfu has been encoded on the corresponded RTP stream roundTripTime | The calculated RTT of the stream
SfuSctpStreamReport
A Report created for SCTP streams going through the SFU
Field | Description --- | --- serviceId (Mandatory) | The service id the report belongs to mediaUnitId (Mandatory) | The media unit id the report belongs to sfuId (Mandatory) | The provided unique identifier of the SFU timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) transportId (Mandatory) | The id of the transport the RTP stream uses. streamId (Mandatory) | The id of the sctp stream marker | The marker the originated sample is reported with internal | Flag indicate if the sctp channel is used as an internal transport between SFUs callId | The generated unique identifier of the call roomId | webrtc app provided room id label | The label of the sctp stream protocol | The protocol used to establish an sctp stream sctpSmoothedRoundTripTime | The latest smoothed round-trip time value, corresponding to spinfo_srtt defined in [RFC6458] but converted to seconds. If there has been no round-trip time measurements yet, this value is undefined. sctpCongestionWindow | The latest congestion window, corresponding to spinfo_cwnd defined in [RFC6458]. sctpReceiverWindow | The latest receiver window, corresponding to sstat_rwnd defined in [RFC6458]. sctpMtu | The latest maximum transmission unit, corresponding to spinfo_mtu defined in [RFC6458]. sctpUnackData | The number of unacknowledged DATA chunks, corresponding to sstat_unackdata defined in [RFC6458]. messageReceived | The number of message received on the corresponded SCTP stream. messageSent | The number of message sent on the corresponded SCTP stream. bytesReceived | The number of bytes received on the corresponded SCTP stream. bytesSent | The number of bytes sent on the corresponded SCTP stream.
SFUTransportReport
A Report created for SFU Transport layer typically created to transfer RTP/SCTP/RTX streams to another client, SFU, MCU, or processing module.
Field | Description --- | --- serviceId (Mandatory) | The service id the report belongs to mediaUnitId (Mandatory) | The media unit id the report belongs to sfuId (Mandatory) | The provided unique identifier of the SFU timestamp (Mandatory) | The timestamp when the corresponded data is generated for the report (UTC Epoch in ms) transportId (Mandatory) | The generated unique identifier of the transport marker | The marker the originated sample is reported with internal | Flag indicate if the sfu transport is used as an internal transport between SFUs callId | The generated unique identifier of the call roomId | webrtc app provided room id dtlsState | Represent the current value of the state attribute of the underlying RTCDtlsTransport. iceState | Represent the current value of the state attribute of the underlying RTCIceTransport sctpState | Represents the the current value of the SCTP state of the transport of the SFU iceRole | Represent the current value of the role SFU takes place in ICE localAddress | The local address of the ICE candidate selected for the transport (IPv4, IPv6, FQDN) localPort | The local port number protocol | The protocol used by the transport remoteAddress | The remote address of the ICE candidate selected for the transport (IPv4, IPv6, FQDN) remotePort | The remote port number rtpBytesReceived | The total amount of RTP bytes received on this transport rtpBytesSent | The total amount of RTP bytes sent on this transport rtpPacketsReceived | The total amount of RTP packets received on this transport rtpPacketsSent | The total amount of RTP packets sent on this transport rtpPacketsLost | The total amount of RTP packets lost on this transport rtxBytesReceived | The total amount of RTX bytes received on this transport rtxBytesSent | The total amount of RTX bytes sent on this transport rtxPacketsReceived | The total amount of RTX packets received on this transport rtxPacketsSent | The total amount of RTX packets sent on this transport rtxPacketsLost | The total amount of RTX packets lost on this transport rtxPacketsDiscarded | The total amount of RTX packets discarded on this transport sctpBytesReceived | The total amount of SCTP bytes received on this transport sctpBytesSent | The total amount of SCTP bytes sent on this transport sctpPacketsReceived | The total amount of SCTP packets received on this transport sctpPacketsSent | The total amount of SCTP packets sent on this transport
Changelog
2.2.2
- Bugfix for Decoder library decoding IceCandidatePairs
- remove
schemaVersion
from Reports
2.2.1
- Encoder and Decoder libraries are added
- added
schemaVersion
to each generated Samples anre Reports
2.2.0
Added
- CustomCallEvent to ClientSample resembles a CallEventReport, but possible to report from the client side.
- CustomSfuEvent to SfuSample resembles an SfuEventReport, but possible to report from the SFU side.
2.1.8
- change IceCandidatePair Report accordingly to IceCandidatePair sample
2.1.7
- change csv header lowercase to snake case
2.1.6
- change type of
framesDropped
in InboundVideoTrack report fromdouble
toint
2.1.5
- Make
label
field in PeerConnectionTransport optional
2.1.4
- Add
label
field to PeerConnectionTransport
2.1.3
- change type of
framesDropped
in InboundVideoTrack fromdouble
toint
2.1.2
Renamed
DataChannelStats
record toDataChannel
in ClientSampleIceCandidatePairStats
record toIceCandidatePair
in ClientSample
2.1.1
Restored
senderId
field in W3CStats for backward compatibility in client-monitorrtcpTransportStatsId
field in W3CStats for backward compatibility in client-monitor
2.1.0
Added
- ice candidate pair stats in samples extracted from client transport
- ice candidate pair report
- peer connection transport report
mid
field to ClientSamples inbound rtp related statsjitterBufferMinimumDelay
field to ClientSamples inbound rtp related statsplayoutId
field to ClientSamples inbound rtp related statspacketsDiscarded
field to ClientSamples inbound rtp related statsjitterBufferTargetDelay
field to ClientSamples inbound rtp related statsactive
field to ClientSample outbound rtp related statsdroppedSamplesDuration
field to ClientSample audio source related statsdroppedSamplesEvents
field to ClientSample audio source related statstotalCaptureDelay
field to ClientSample audio source related statstotalSamplesCaptured
field to ClientSample audio source related statsdtlsRole
to transport statsRTCAudioPlayoutStats
to inbound-rtp related stats
Modified
- pcTransports is changed to contain only peer connection transport fields
Removed
client-transport-report
packetsDiscarded
field from InboundAudioTrack, InboundVideoTrack samples and reportspacketsRepaired
field from InboundAudioTrack, InboundVideoTrack samples and reportsburstPacketsLost
field from InboundAudioTrack, InboundVideoTrack samples and reportsburstPacketsDiscarded
field from InboundAudioTrack, InboundVideoTrack samples and reportsburstLossCount
field from InboundAudioTrack, InboundVideoTrack samples and reportsburstDiscardCount
field from InboundAudioTrack, InboundVideoTrack samples and reportsburstLossRate
field from InboundAudioTrack, InboundVideoTrack samples and reportsburstDiscardRate
field from InboundAudioTrack, InboundVideoTrack samples and reportsgapLossRate
field from InboundAudioTrack, InboundVideoTrack samples and reportsgapDiscardRate
field from InboundAudioTrack, InboundVideoTrack samples and reportspartialFramesLost
field from InboundAudioTrack, InboundVideoTrack samples and reportsfullFramesLost
field from InboundAudioTrack, InboundVideoTrack samples and reportsaverageRtcpInterval
field from InboundAudioTrack, InboundVideoTrack samples and reportsvoiceActivityFlag
field from InboundAudioTrack, InboundVideoTrack samples and reportsframeBitDepth
field from InboundAudioTrack, InboundVideoTrack samples and reportspacketsFailedDecryption
field from InboundAudioTrack, InboundVideoTrack samples and reportspacketsDuplicated
field from InboundAudioTrack, InboundVideoTrack samples and reportsperDscpPacketsReceived
field from InboundAudioTrack, InboundVideoTrack samples and reportssliCount
field from InboundAudioTrack, InboundVideoTrack samples and reportsfullFramesLost
field from InboundAudioTrack, InboundVideoTrack samples and reportstotalSamplesDecoded
field from InboundAudioTrack, InboundVideoTrack samples and reportssamplesDecodedWithSilk
field from InboundAudioTrack, InboundVideoTrack samples and reportssamplesDecodedWithCelt
field from InboundAudioTrack, InboundVideoTrack samples and reportssamplesreportsReceived
field from InboundAudioTrack, InboundVideoTrack samples and reportsrtxSsrc
field from OutboundAudioTrack, OutboundVideoTrack samples and reportssenderId
field from OutboundAudioTrack, OutboundVideoTrack samples and reportslastPacketSentTimestamp
field from OutboundAudioTrack, OutboundVideoTrack samples and reportspacketsDiscardedOnSend
field from OutboundAudioTrack, OutboundVideoTrack samples and reportsbytesDiscardedOnSend
field from OutboundAudioTrack, OutboundVideoTrack samples and reportsfecPacketsSent
field from OutboundAudioTrack, OutboundVideoTrack samples and reportsframesDiscardedOnSend
field from OutboundAudioTrack, OutboundVideoTrack samples and reportstotalSamplesSent
field from OutboundAudioTrack, OutboundVideoTrack samples and reportssamplesEncodedWithSilk
field from OutboundAudioTrack, OutboundVideoTrack samples and reportssamplesEncodedWithCelt
field from OutboundAudioTrack, OutboundVideoTrack samples and reportsvoiceActivityFlag
field from OutboundAudioTrack, OutboundVideoTrack samples and reportssliCount
field from OutboundAudioTrack, OutboundVideoTrack samples and reportsframeBitDepth
field from OutboundAudioTrack, OutboundVideoTrack samples and reportsperDscpPacketsSent
field from OutboundAudioTrack, OutboundVideoTrack samples and reportsbitDepth
field from OutboundAudioTrack, OutboundVideoTrack samples and reports
2.0.4
Added
- csv column list for every report. Generated from the schema, required fields first, and fields are in sorted order
2.0.3
Added
remoteSfuId
to SfuInboundRtpPad reportsremoteTransportId
to SfuInboundRtpPad reportsremoteSinkId
to SfuInboundRtpPad reportsremoteRtpPadId
to SfuInboundRtpPad reports
2.0.2
Added
roundTripTime
to SfuOutboundRtp report
2.0.1
Added
internal
attribute to SfuSctpChannel sampleinternal
attribute to SfuSctpStream reportinternal
attribute to SfuTransport report
2.0.0
init