2.2.12 • Published 6 months ago

@observertc/report-schemas-js v2.2.12

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
6 months ago

ObserveRTC Schemas

Javascript bindings for ObserveRTC schemas

CallEventReport

Observer created reports related to events (call started, call ended, client joined, etc...) indicated by the incoming samples.

FieldDescription
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
mediaUnitIdThe media unit id the report belongs to
markerThe marker the originated sample is reported with
callIdThe generated unique identifier of the call
roomIdwebrtc app provided room id
clientIdThe generated unique identifier of the client
userIdwebrtc app provided user identifier
peerConnectionIdThe unique identifier of the peer connection
mediaTrackIdThe unique identifier of the media track
SSRCThe SSRC identifier of the RTP stream a trackId belongs to
sampleTimestampThe timestamp of the sample the event related to
sampleSeqThe sequence number of the sample the event may related to
messagethe human readable message of the event
valuethe value of the event
attachmentsattachment the event may created with

CallMetaReport

Metadata belongs to a call and can be useful

FieldDescription
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)
mediaUnitIdThe media unit id the report belongs to
markerThe marker the originated sample is reported with
callIdThe generated unique identifier of the call
roomIdwebrtc app provided room id
clientIdThe generated unique identifier of the client
userIdwebrtc app provided user identifier
peerConnectionIdThe unique identifier of the peer connection
sampleTimestampThe timestamp of the sample the event related to
sampleSeqThe sequence number of the sample the event may related to
typeThe 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
payloadThe payload for the metadata reported for the peeer connection

ClientDataChannelReport

A Report created for PeerConnection Data Channel.

FieldDescription
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
markerThe marker the originated sample is reported with
roomIdwebrtc app provided room id
userIdwebrtc app provided user identifier
peerConnectionLabelThe webrtc app provided label for the peer connection
labelThe label of the data channel
protocolThe protocol used for the data channel
stateThe state of the data channel
messagesSentRepresents the total number of API message events sent
bytesSentRepresents the total number of payload bytes sent on the corresponded data channel
messagesReceivedRepresents the total number of API message events received on the corresponded data channel
bytesReceivedRepresents the total number of payload bytes received on the corresponded data channel

ClientExtensionReport

A Report created for Extended provided arbitrary data.

FieldDescription
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
mediaUnitIdThe media unit id the report belongs to
markerThe marker the originated sample is reported with
callIdThe generated unique identifier of the call
roomIdwebrtc app provided room id
clientIdThe generated unique identifier of the client
userIdwebrtc app provided user identifier
peerConnectionIdThe unique identifier of the peer connection
sampleSeqThe sequence number of the sample the event may related to
payloadthe human readable message of the event

IceCandidatePairReport

A Report created for ICE candidate pairs

FieldDescription
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
markerThe marker the originated sample is reported with
roomIdwebrtc app provided room id
userIdwebrtc app provided user identifier
labelThe webrtc app provided label the peer connection is marked with
candidatePairIdThe unique identifier of the peer connection
transportIdThe identifier of the transport the ice candidate pair is negotiated on
localCandidateIdThe unique identifier of the candidate the negotiated pair is selected at local side
remoteCandidateIdThe unique identifier of the candidate the negotiated pair is selected at remote side
stateThe state of ICE Candidate Pairs (RTCStatsIceState) on the corresponded transport
nominatedindicate if the ice candidate pair is nominated or not
packetsSentThe total number of packets sent using the last selected candidate pair over the corresponded transport
packetsReceivedThe total number of packets received using the last selected candidate pair over the corresponded transport
bytesSentThe total number of bytes sent using the last selected candidate pair over the corresponded transport
bytesReceivedThe total number of bytes received using the last selected candidate pair over the corresponded transport
lastPacketSentTimestampRepresents 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)
lastPacketReceivedTimestampRepresents 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)
totalRoundTripTimeRepresents 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
currentRoundTripTimeRepresents the last round trip time measurements in seconds based on STUN connectivity check over the corresponded transport
availableOutgoingBitrateThe sum of the underlying cc algorithm provided outgoing bitrate for the RTP streams over the corresponded transport
availableIncomingBitrateThe sum of the underlying cc algorithm provided incoming bitrate for the RTP streams over the corresponded transport
requestsReceivedRepresents the total number of connectivity check requests received on the selected candidate pair using the corresponded transport
requestsSentRepresents the total number of connectivity check requests sent on the selected candidate pair using the corresponded transport
responsesReceivedRepresents the total number of connectivity check responses received on the selected candidate pair using the corresponded transport
responsesSentRepresents the total number of connectivity check responses sent on the selected candidate pair using the corresponded transport
consentRequestsSentRepresents the total number of consent requests sent on the selected candidate pair using the corresponded transport
packetsDiscardedOnSendTotal amount of packets for this candidate pair that have been discarded due to socket errors on the selected candidate pair using the corresponded transport
bytesDiscardedOnSendTotal 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

FieldDescription
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
markerThe marker the originated sample is reported with
roomIdwebrtc app provided room id
userIdwebrtc app provided user identifier
labelThe webrtc app provided label the peer connection is labeled with
trackIdThe id of the track
sfuStreamIdThe id of the Sfu stream the media from
sfuSinkIdThe id of the sink the Sfu streamed the media out
remoteTrackIdThe id of the remote track this inbound track is originated from
remoteUserIdThe webrtc app provided user id the track belongs to, or if the webrtc app did not provided the observer tried to match it
remoteClientIdThe observer matched remote client Id
remotePeerConnectionIdThe observer matched remote Peer Connection Id
packetsReceivedThe total number of packets received on the corresponded synchronization source
packetsLostThe total number of bytes received on the corresponded synchronization source
jitterThe corresponded synchronization source reported jitter
lastPacketReceivedTimestampRepresents the timestamp at which the last packet was received on the corresponded synchronization source (ssrc)
headerBytesReceivedTotal number of RTP header and padding bytes received over the corresponding synchronization source (ssrc)
packetsDiscardedThe total number of packets missed the playout point and therefore discarded by the jitterbuffer
fecPacketsReceivedTotal number of FEC packets received over the corresponding synchronization source (ssrc)
fecPacketsDiscardedTotal 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.
bytesReceivedTotal number of bytes received over the corresponding synchronization source (ssrc) due to 1) late arrive; 2) the target RTP packet has already been repaired.
nackCountCount the total number of Negative ACKnowledgement (NACK) packets sent and belongs to the corresponded synchronization source (ssrc)
totalProcessingDelayThe total processing delay in seconds spend on buffering RTP packets from received up until packets are decoded
estimatedPlayoutTimestampThe estimated playout time of the corresponded synchronization source
jitterBufferDelayThe total time of RTP packets spent in jitterbuffer waiting for frame completion due to network uncertenity.
jitterBufferTargetDelayThis 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.
jitterBufferEmittedCountThe total number of audio samples or video frames that have come out of the jitter buffer on the corresponded synchronization source (ssrc)
jitterBufferMinimumDelayThis 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
totalSamplesReceivedThe total number of audio samples received on the corresponded RTP stream
concealedSamplesThe total number of samples decoded by the media decoder from the corresponded RTP stream
silentConcealedSamplesThe total number of samples concealed from the corresponded RTP stream
concealmentEventsThe total number of concealed event emitted to the media codec by the corresponded jitterbuffer
insertedSamplesForDecelerationThe 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)
removedSamplesForAccelerationThe 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)
audioLevelThe current audio level
totalAudioEnergyRepresents the energy level reported by the media source
totalSamplesDurationRepresents the total duration of the audio samples the media source actually transconverted in seconds
decoderImplementationIndicate the name of the decoder implementation library
packetsSentTotal number of RTP packets sent at the remote endpoint to this endpoint on this synchronization source
bytesSentTotal number of payload bytes sent at the remote endpoint to this endpoint on this synchronization source
remoteTimestampThe 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)
reportsSentThe number of SR reports the remote endpoint sent corresponded to synchronization source (ssrc) this report belongs to
roundTripTimeEstimated round trip time for the SR reports based on DLRR reports on the corresponded RTP stream
totalRoundTripTimeRepresents the cumulative sum of all round trip time measurements performed on the corresponded RTP stream
roundTripTimeMeasurementsRepresents the total number of SR reports received with DLRR reports to be able to calculate the round trip time on the corresponded RTP stream
synthesizedSamplesDurationThis metric can be used together with totalSamplesDuration to calculate the percentage of played out media being synthesized
synthesizedSamplesEventsThe number of synthesized samples events.
totalPlayoutDelayThe playout delay includes the delay from being emitted to the actual time of playout on the device
totalSamplesCountWhen 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

FieldDescription
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
markerThe marker the originated sample is reported with
roomIdwebrtc app provided room id
userIdwebrtc app provided user identifier
labelThe webrtc app provided label the peer connection is labeled with
trackIdThe id of the track
sfuStreamIdThe id of the Sfu stream the media from
sfuSinkIdThe id of the sink the Sfu streamed the media out
remoteTrackIdThe id of the remote track this inbound track is originated from
remoteUserIdThe webrtc app provided user id the track belongs to, or if the webrtc app did not provided the observer tried to match it
remoteClientIdThe observer matched remote client Id
remotePeerConnectionIdThe observer matched remote Peer Connection Id
packetsReceivedThe total number of packets received on the corresponded synchronization source
packetsLostThe total number of bytes received on the corresponded synchronization source
jitterThe corresponded synchronization source reported jitter
framesDroppedThe number of frames dropped prior to decode or missing chunks
lastPacketReceivedTimestampRepresents the timestamp at which the last packet was received on the corresponded synchronization source (ssrc)
headerBytesReceivedTotal number of RTP header and padding bytes received over the corresponding synchronization source (ssrc)
packetsDiscardedThe total number of packets missed the playout point and therefore discarded by the jitterbuffer
fecPacketsReceivedTotal number of FEC packets received over the corresponding synchronization source (ssrc)
fecPacketsDiscardedTotal 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.
bytesReceivedTotal number of bytes received over the corresponding synchronization source (ssrc) due to 1) late arrive; 2) the target RTP packet has already been repaired.
nackCountCount the total number of Negative ACKnowledgement (NACK) packets sent and belongs to the corresponded synchronization source (ssrc)
totalProcessingDelayThe total processing delay in seconds spend on buffering RTP packets from received up until packets are decoded
estimatedPlayoutTimestampThe estimated playout time of the corresponded synchronization source
jitterBufferDelayThe total time of RTP packets spent in jitterbuffer waiting for frame completion due to network uncertenity.
jitterBufferTargetDelayThis 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.
jitterBufferEmittedCountThe total number of audio samples or video frames that have come out of the jitter buffer on the corresponded synchronization source (ssrc)
jitterBufferMinimumDelayThis 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
decoderImplementationIndicate the name of the decoder implementation library
framesDecodedThe total number of frames decoded on the corresponded RTP stream
keyFramesDecodedThe total number of keyframes decoded on the corresponded RTP stream
frameWidthThe width of the frame of the video sent by the remote source on the corresponded RTP stream
frameHeightThe height of the frame of the video sent by the remote source on the corresponded RTP stream
framesPerSecondThe frame per seconds of the video sent by the remote source on the corresponded RTP stream
qpSumThe QP sum (only interested in VP8,9) of the frame of the video sent by the remote source on the corresponded RTP stream
totalDecodeTimeThe total tiem spent on decoding video on the corresponded RTP stream
totalInterFrameDelayThe total interframe delay
totalSquaredInterFrameDelayThe total number of inter frame delay squere on the corresponded synchronization source (ssrc) Useful for variance calculation for interframe delays
firCountThe total number FIR packets sent from this endpoint to the source on the corresponded RTP stream
pliCountThe total number of Picture Loss Indication sent on the corresponded RTP stream
framesReceivedThe total number of frames received on the corresponded RTP stream.
packetsSentTotal number of RTP packets sent at the remote endpoint to this endpoint on this synchronization source
bytesSentTotal number of payload bytes sent at the remote endpoint to this endpoint on this synchronization source
remoteTimestampThe 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)
reportsSentThe number of SR reports the remote endpoint sent corresponded to synchronization source (ssrc) this report belongs to
roundTripTimeEstimated round trip time for the SR reports based on DLRR reports on the corresponded RTP stream
totalRoundTripTimeRepresents the cumulative sum of all round trip time measurements performed on the corresponded RTP stream
roundTripTimeMeasurementsRepresents 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

FieldDescription
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
mediaUnitIdThe media unit id the report belongs to
markerThe marker the originated sample is reported with
roomIdwebrtc app provided room id
clientIdThe generated unique identifier of the client
userIdwebrtc app provided user identifier
peerConnectionIdThe unique identifier of the peer connection
sampleTimestampThe timestamp of the sample the event related to
sampleSeqThe sequence number of the sample the event may related to
messagethe human readable message of the event
valuethe value of the event
attachmentsattachment 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

FieldDescription
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
markerThe marker the originated sample is reported with
roomIdwebrtc app provided room id
userIdwebrtc app provided user identifier
labelThe webrtc app provided label the peer connection is labeled with
trackIdThe id of the track
sfuStreamIdThe id of the Sfu stream corresponds to the outbound track
packetsSentThe total number of packets sent on the corresponded synchronization source
bytesSentThe total number of bytes sent on the corresponded synchronization source
ridThe rid encoding parameter of the corresponded synchronization source
headerBytesSentTotal number of RTP header and padding bytes sent over the corresponding synchronization source (ssrc)
retransmittedPacketsSentTotal number of retransmitted packets sent over the corresponding synchronization source (ssrc).
retransmittedBytesSentTotal number of retransmitted bytes sent over the corresponding synchronization source (ssrc).
targetBitrateReflects the current encoder target in bits per second.
totalEncodedBytesTargetThe total number of bytes of RTP coherent frames encoded completly depending on the frame size the encoder targets
totalPacketSendDelayThe total number of delay packets buffered at the sender side in seconds over the corresponding synchronization source
averageRtcpIntervalThe average RTCP interval between two consecutive compound RTCP packets sent for the corresponding synchronization source (ssrc)
nackCountCount the total number of Negative ACKnowledgement (NACK) packets received over the corresponding synchronization source (ssrc)
encoderImplementationIndicate the name of the encoder implementation library
activeIndicates whether this RTP stream is configured to be sent or disabled
packetsReceivedThe total number of packets received on the corresponded synchronization source
packetsLostThe total number of bytes received on the corresponded synchronization source
jitterThe corresponded synchronization source reported jitter
roundTripTimeRTT measurement in seconds based on (most likely) SR, and RR belongs to the corresponded synchronization source
totalRoundTripTimeThe sum of RTT measurements belongs to the corresponded synchronization source
fractionLostThe receiver reported fractional lost belongs to the corresponded synchronization source
roundTripTimeMeasurementsThe total number of calculated RR measurements received on this source
relayedSourceTrue if the corresponded media source is remote, false otherwise (or null depending on browser and version)
audioLevelRepresents the audio level reported by the media source
totalAudioEnergyRepresents the energy level reported by the media source
totalSamplesDurationRepresents the total duration of the audio samples the media source actually transconverted in seconds
echoReturnLossRepresents the echo cancellation in decibels corresponded to the media source.
echoReturnLossEnhancementRepresents 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
droppedSamplesEventsA counter increases every time a sample is dropped after a non-dropped sample
totalCaptureDelayTotal delay, in seconds, for each audio sample between the time the sample was emitted by the capture device and the sample reaching the source
totalSamplesCapturedThe 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

FieldDescription
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
markerThe marker the originated sample is reported with
roomIdwebrtc app provided room id
userIdwebrtc app provided user identifier
labelThe webrtc app provided label the peer connection is labeled with
trackIdThe id of the track
sfuStreamIdThe id of the Sfu stream corresponds to the outbound track
packetsSentThe total number of packets sent on the corresponded synchronization source
bytesSentThe total number of bytes sent on the corresponded synchronization source
ridThe rid encoding parameter of the corresponded synchronization source
headerBytesSentTotal number of RTP header and padding bytes sent over the corresponding synchronization source (ssrc)
retransmittedPacketsSentTotal number of retransmitted packets sent over the corresponding synchronization source (ssrc).
retransmittedBytesSentTotal number of retransmitted bytes sent over the corresponding synchronization source (ssrc).
targetBitrateReflects the current encoder target in bits per second.
totalEncodedBytesTargetThe total number of bytes of RTP coherent frames encoded completly depending on the frame size the encoder targets
totalPacketSendDelayThe total number of delay packets buffered at the sender side in seconds over the corresponding synchronization source
averageRtcpIntervalThe average RTCP interval between two consecutive compound RTCP packets sent for the corresponding synchronization source (ssrc)
nackCountCount the total number of Negative ACKnowledgement (NACK) packets received over the corresponding synchronization source (ssrc)
encoderImplementationIndicate the name of the encoder implementation library
activeIndicates whether this RTP stream is configured to be sent or disabled
frameWidthThe frame width in pixels of the frames targeted by the media encoder
frameHeightThe frame width the media encoder targeted
framesPerSecondThe encoded number of frames in the last second on the corresponded media source
framesSentTThe total number of frames sent on the corresponded RTP stream
hugeFramesSentThe total number of huge frames (avgFrameSize * 2.5) on the corresponded RTP stream
framesEncodedThe total number of frames encoded by the media source
keyFramesEncodedThe total number of keyframes encoded on the corresponded RTP stream
qpSumThe sum of the QP the media encoder provided on the corresponded RTP stream.
totalEncodeTimeThe total time in seconds spent in encoding media frames for the corresponded RTP stream.
qualityLimitationDurationNoneTime elapsed in seconds when the RTC connection has not limited the quality
qualityLimitationDurationCPUTime elapsed in seconds the RTC connection had a limitation because of CPU
qualityLimitationDurationBandwidthTime elapsed in seconds the RTC connection had a limitation because of Bandwidth
qualityLimitationDurationOtherTime elapsed in seconds the RTC connection had a limitation because of Other factor
qualityLimitationReasonIndicate a reason for the quality limitation of the corresponded synchronization source
qualityLimitationResolutionChangesThe total number of resolution changes occured ont he corresponded RTP stream due to quality changes
firCountThe total number FIR packets sent from this endpoint to the source on the corresponded RTP stream
pliCountThe total number of Picture Loss Indication sent on the corresponded RTP stream
packetsReceivedThe total number of packets received on the corresponded synchronization source
packetsLostThe total number of bytes received on the corresponded synchronization source
jitterThe corresponded synchronization source reported jitter
roundTripTimeRTT measurement in seconds based on (most likely) SR, and RR belongs to the corresponded synchronization source
totalRoundTripTimeThe sum of RTT measurements belongs to the corresponded synchronization source
fractionLostThe receiver reported fractional lost belongs to the corresponded synchronization source
roundTripTimeMeasurementsThe total number of calculated RR measurements received on this source
framesDroppedThe total number of frames reported to be lost by the remote endpoit on the corresponded RTP stream
relayedSourceTrue if the corresponded media source is remote, false otherwise (or null depending on browser and version)
widthThe width, in pixels, of the last frame originating from the media source
heightThe height, in pixels, of the last frame originating from the media source
framesThe total number of frames originated from the media source

PeerConnectionTransportReport

A Report created for Client PeerConnection Transport.

FieldDescription
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
markerThe marker the originated sample is reported with
roomIdwebrtc app provided room id
userIdwebrtc app provided user identifier
labelThe webrtc app provided label the peer connection is marked with
packetsSentRepresents the total number of packets sent on the corresponded transport
packetsReceivedRepresents the total number of packets received on the corresponded transport
bytesSentRepresents the total amount of bytes sent on the corresponded transport
bytesReceivedRepresents the total amount of bytes received on the corresponded transport
iceRoleRepresent the current role of ICE under DTLS Transport
iceLocalUsernameFragmentRepresent the current local username fragment used in message validation procedures for ICE under DTLS Transport
dtlsStateRepresents the current state of DTLS for the peer connection transport layer
dtlsRoleThe role this host plays in DTLS negotiations
selectedCandidatePairIdThe identifier of the candidate pair the transport currently uses
iceStateRepresents the current transport state (RTCIceTransportState) of ICE for the peer connection transport layer
localCertificateIdIf DTLS negotiated it gives the id of the local certificate
remoteCertificateIdIf DTLS negotiated it gives the id of the remote certificate
tlsVersionRepresents the version number of the TLS used in the corresponded transport
dtlsCipherRepresents the name of the DTLS cipher used in the corresponded transport
srtpCipherRepresents the name of the SRTP cipher used in the corresponded transport
tlsGroupRepresents the name of the IANA TLS Supported Groups used in the corresponded transport
selectedCandidatePairChangesThe total number of candidate pair changes over the peer connection

Report

A multiplexed Report object wraps an encoded report in bytes format

FieldDescription
type (Mandatory)The type of the report
payload (Mandatory)The payload of contans the actual report
schemaVersionThe version of the schema the payload holds

SfuEventReport

Events happened in calls.

FieldDescription
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
mediaUnitIdThe media unit id the report belongs to
markerThe marker the originated sample is reported with
sfuIdThe generated unique identifier of the SFU
callIdThe callId the event belongs to
transportIdSFU provided transport identifier
mediaStreamIdUnique identifier of the SFU stream id the rtp pad belongs to
mediaSinkIdUnique identifier of the SFU stream id the rtp pad belongs to
sctpStreamIdUnique identifier of the SCTP stream the event is related to
rtpPadIdUnique identifier of the Sfu Pad the event is related to
messagethe human readable message of the event
valuethe value of the event
attachmentsattachment the event may created with

SfuExtensionReport

A Report created for Extended provided arbitrary data.

FieldDescription
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
mediaUnitIdThe media unit id the report belongs to
markerThe marker the originated sample is reported with
sfuIdThe generated unique identifier of the SFU
payloadthe human readable message of the event

SfuInboundRtpPadReport

A Report created for RTP streams going through the SFU

FieldDescription
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
markerThe marker the originated sample is reported with
internalFlag indicate if the sfu rtp pad is used as an internal rtp session between SFUs
remoteSfuIdonly added if it is internal. The id of the remote Sfu that outbound rtp pad matched with this internal inbound rtp pad
remoteTransportIdonly added if it is internal. The id of the remote transportId that outbound rtp pad matched with this internal inbound rtp pad
remoteSinkIdonly added if it is internal. The id of the remote sinkId that outbound rtp pad matched with this internal inbound rtp pad
remoteRtpPadIdonly added if it is internal. The id of the remote outbound rtp pad matched with this internal inbound rtp pad
trackIdThe id of the track the RTP stream related to at the client side
clientIdIf the track id was provided by the Sfu, the observer can fill up the information of which client it belongs to
callIdThe callId the event belongs to
mediaTypethe type of the media the stream carries ("audio" or "video")
payloadTypeThe payload type field of the RTP header
mimeTypeThe negotiated mimeType in the SDP
clockRateThe clock rate of the media source the RTP header carries
sdpFmtpLineThe actual SDP line from the negotiation related to this RTP stream
ridThe rid parameter of the corresponded RTP stream
rtxSsrcIf RTX is negotiated as a separate stream, this is the SSRC of the RTX stream that is associated with this stream's ssrc.
targetBitratehe bitrate the corresponded stream targets.
voiceActivityFlagThe RTP header V flag indicate of the activity of the media source by the media codec if the RTP transport ships it through
firCountThe total number FIR packets sent from this endpoint to the source on the corresponded RTP stream. Only for Video streams
pliCountThe total number of Picture Loss Indication sent on the corresponded RTP stream. Only for Video streams
nackCountThe total number of negative acknowledgement received on the corresponded RTP stream.
sliCountThe total number of SLI indicator sent from the endpoint on the corresponded RTP stream. Only for Audio stream
packetsLostThe total number of packets lost on the corresponded RTP stream.
packetsReceivedThe total number of packets received on the corresponded RTP stream.
packetsDiscardedThe total number of discarded packets on the corresponded RTP stream.
packetsRepairedThe total number of packets repaired by either retransmission or FEC on the corresponded RTP stream.
packetsFailedDecryptionThe total number of packets failed to be decrypted on the corresponded RTP stream.
packetsDuplicatedThe total number of duplicated packets appeared on the corresponded RTP stream.
fecPacketsReceivedThe total number of FEC packets received on the corresponded RTP stream.
fecPacketsDiscardedThe total number of FEC packets discarded on the corresponded RTP stream.
bytesReceivedThe total amount of payload bytes received on the corresponded RTP stream.
rtcpSrReceivedThe total number of SR reports received by the corresponded RTP stream
rtcpRrSentThe total number of RR reports sent on the corresponded RTP stream
rtxPacketsReceivedIf rtx packets are sent or received on the same stream then this number indicates how may has been sent
rtxPacketsDiscardedIf rtx packets are received on the same stream then this number indicates how may has been discarded
framesReceivedThe number of frames received on the corresponded RTP stream
framesDecodedIndicate the number of frames the Sfu has been decoded
keyFramesDecodedIndicate the number of keyframes the Sfu has been decoded
fractionLostThe calculated fractionLost of the stream
jitterThe calculated jitter of the stream
roundTripTimeThe calculated RTT of the stream

SfuMetaReport

Metadata belongs to SFUs

FieldDescription
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)
mediaUnitIdThe media unit id the report belongs to
markerThe marker the originated sample is reported with
sfuIdThe generated unique identifier of the SFU
callIdThe callId the event belongs to
transportIdSFU provided transport identifier
mediaStreamIdUnique identifier of the SFU stream id the rtp pad belongs to
mediaSinkIdUnique identifier of the SFU stream id the rtp pad belongs to
sctpStreamIdUnique identifier of the SCTP stream the event is related to
rtpPadIdUnique identifier of the Sfu Pad the event is related to
typeThe type of the meta data reported for the peer connection
payloadThe payload for the metadata reported for the peeer connection

SfuOutboundRtpPadReport

A Report created for RTP streams going through the SFU

FieldDescription
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
markerThe marker the originated sample is reported with
internalFlag indicate if the sfu rtp pad is used as an internal rtp session between SFUs
callIdThe callId the event belongs to
clientIdIf the track id was provided by the Sfu, the observer can fill up the information of which client it belongs to
trackIdThe id of the track the RTP stream related to at the client side
mediaTypethe type of the media the stream carries ("audio" or "video")
payloadTypeThe payload type field of the RTP header
mimeTypeThe negotiated mimeType in the SDP
clockRateThe clock rate of the media source the RTP header carries
sdpFmtpLineThe actual SDP line from the negotiation related to this RTP stream
ridThe rid parameter of the corresponded RTP stream
rtxSsrcIf RTX is negotiated as a separate stream, this is the SSRC of the RTX stream that is associated with this stream's ssrc.
targetBitratehe bitrate the corresponded stream targets.
voiceActivityFlagThe RTP header V flag indicate of the activity of the media source by the media codec if the RTP transport ships it through
firCountThe total number FIR packets sent from this endpoint to the source on the corresponded RTP stream. Only for Video streams
pliCountThe total number of Picture Loss Indication sent on the corresponded RTP stream. Only for Video streams
nackCountThe total number of negative acknowledgement received on the corresponded RTP stream.
sliCountThe total number of SLI indicator sent from the endpoint on the corresponded RTP stream. Only for Audio stream
packetsLostThe total number of packets lost on the corresponded RTP stream.
packetsSentThe total number of packets sent on the corresponded RTP stream.
packetsDiscardedThe total number of discarded packets on the corresponded RTP stream.
packetsRetransmittedThe total number of packets retransmitted on the corresponded RTP stream.
packetsFailedEncryptionThe total number of packets failed to be encrypted on the corresponded RTP stream.
packetsDuplicatedThe total number of duplicated packets appeared on the corresponded RTP stream.
fecPacketsSentThe total number of FEC packets sent on the corresponded RTP stream.
fecPacketsDiscardedThe total number of FEC packets discarded on the corresponded RTP stream.
bytesSentThe total amount of payload bytes sent on the corresponded RTP stream.
rtcpSrSentThe total number of SR reports sent by the corresponded RTP stream
rtcpRrReceivedThe total number of RR reports received on the corresponded RTP stream
rtxPacketsSentIf rtx packets sent on the same stream then this number indicates how may has been sent
rtxPacketsDiscardedIf rtx packets are received on the same stream then this number indicates how may has been discarded
framesSentThe number of frames sent on the corresponded RTP stream
framesEncodedIndicate the number of frames the Sfu has been encoded
keyFramesEncodedIndicate the number of keyframes the Sfu has been encoded on the corresponded RTP stream
roundTripTimeThe calculated RTT of the stream

SfuSctpStreamReport

A Report created for SCTP streams going through the SFU

FieldDescription
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
markerThe marker the originated sample is reported with
internalFlag indicate if the sctp channel is used as an internal transport between SFUs
callIdThe generated unique identifier of the call
roomIdwebrtc app provided room id
labelThe label of the sctp stream
protocolThe protocol used to establish an sctp stream
sctpSmoothedRoundTripTimeThe 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.
sctpCongestionWindowThe latest congestion window, corresponding to spinfo_cwnd defined in RFC6458.
sctpReceiverWindowThe latest receiver window, corresponding to sstat_rwnd defined in RFC6458.
sctpMtuThe latest maximum transmission unit, corresponding to spinfo_mtu defined in RFC6458.
sctpUnackDataThe number of unacknowledged DATA chunks, corresponding to sstat_unackdata defined in RFC6458.
messageReceivedThe number of message received on the corresponded SCTP stream.
messageSentThe number of message sent on the corresponded SCTP stream.
bytesReceivedThe number of bytes received on the corresponded SCTP stream.
bytesSentThe 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.

FieldDescription
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
markerThe marker the originated sample is reported with
internalFlag indicate if the sfu transport is used as an internal transport between SFUs
callIdThe generated unique identifier of the call
roomIdwebrtc app provided room id
dtlsStateRepresent the current value of the state attribute of the underlying RTCDtlsTransport.
iceStateRepresent the current value of the state attribute of the underlying RTCIceTransport
sctpStateRepresents the the current value of the SCTP state of the transport of the SFU
iceRoleRepresent the current value of the role SFU takes place in ICE
localAddressThe local address of the ICE candidate selected for the transport (IPv4, IPv6, FQDN)
localPortThe local port number
protocolThe protocol used by the transport
remoteAddressThe remote address of the ICE candidate selected for the transport (IPv4, IPv6, FQDN)
remotePortThe remote port number
rtpBytesReceivedThe total amount of RTP bytes received on this transport
rtpBytesSentThe total amount of RTP bytes sent on this transport
rtpPacketsReceivedThe total amount of RTP packets received on this transport
rtpPacketsSentThe total amount of RTP packets sent on this transport
rtpPacketsLostThe total amount of RTP packets lost on this transport
rtxBytesReceivedThe total amount of RTX bytes received on this transport
rtxBytesSentThe total amount of RTX bytes sent on this transport
rtxPacketsReceivedThe total amount of RTX packets received on this transport
rtxPacketsSentThe total amount of RTX packets sent on this transport
rtxPacketsLostThe total amount of RTX packets lost on this transport
rtxPacketsDiscardedThe total amount of RTX packets discarded on this transport
sctpBytesReceivedThe total amount of SCTP bytes received on this transport
sctpBytesSentThe total amount of SCTP bytes sent on this transport
sctpPacketsReceivedThe total amount of SCTP packets received on this transport
sctpPacketsSentThe 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 from double to int

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 from double to int

2.1.2

Renamed

  • DataChannelStats record to DataChannel in ClientSample
  • IceCandidatePairStats record to IceCandidatePair in ClientSample

2.1.1

Restored

  • senderId field in W3CStats for backward compatibility in client-monitor
  • rtcpTransportStatsId 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 stats
  • jitterBufferMinimumDelay field to ClientSamples inbound rtp related stats
  • playoutId field to ClientSamples inbound rtp related stats
  • packetsDiscarded field to ClientSamples inbound rtp related stats
  • jitterBufferTargetDelay field to ClientSamples inbound rtp related stats
  • active field to ClientSample outbound rtp related stats
  • droppedSamplesDuration field to ClientSample audio source related stats
  • droppedSamplesEvents field to ClientSample audio source related stats
  • totalCaptureDelay field to ClientSample audio source related stats
  • totalSamplesCaptured field to ClientSample audio source related stats
  • dtlsRole to transport stats
  • RTCAudioPlayoutStats 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 reports

  • packetsRepaired field from InboundAudioTrack, InboundVideoTrack samples and reports
  • burstPacketsLost field from InboundAudioTrack, InboundVideoTrack samples and reports
  • burstPacketsDiscarded field from InboundAudioTrack, InboundVideoTrack samples and reports
  • burstLossCount field from InboundAudioTrack, InboundVideoTrack samples and reports
  • burstDiscardCount field from InboundAudioTrack, InboundVideoTrack samples and reports
  • burstLossRate field from InboundAudioTrack, InboundVideoTrack samples and reports
  • burstDiscardRate field from InboundAudioTrack, InboundVideoTrack samples and reports
  • gapLossRate field from InboundAudioTrack, InboundVideoTrack samples and reports
  • gapDiscardRate field from InboundAudioTrack, InboundVideoTrack samples and reports
  • partialFramesLost field from InboundAudioTrack, InboundVideoTrack samples and reports
  • fullFramesLost field from InboundAudioTrack, InboundVideoTrack samples and reports
  • averageRtcpInterval field from InboundAudioTrack, InboundVideoTrack samples and reports
  • voiceActivityFlag field from InboundAudioTrack, InboundVideoTrack samples and reports
  • frameBitDepth field from InboundAudioTrack, InboundVideoTrack samples and reports
  • packetsFailedDecryption field from InboundAudioTrack, InboundVideoTrack samples and reports
  • packetsDuplicated field from InboundAudioTrack, InboundVideoTrack samples and reports
  • perDscpPacketsReceived field from InboundAudioTrack, InboundVideoTrack samples and reports
  • sliCount field from InboundAudioTrack, InboundVideoTrack samples and reports
  • fullFramesLost field from InboundAudioTrack, InboundVideoTrack samples and reports
  • totalSamplesDecoded field from InboundAudioTrack, InboundVideoTrack samples and reports
  • samplesDecodedWithSilk field from InboundAudioTrack, InboundVideoTrack samples and reports
  • samplesDecodedWithCelt field from InboundAudioTrack, InboundVideoTrack samples and reports
  • samplesreportsReceived field from InboundAudioTrack, InboundVideoTrack samples and reports

  • rtxSsrc field from OutboundAudioTrack, OutboundVideoTrack samples and reports

  • senderId field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • lastPacketSentTimestamp field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • packetsDiscardedOnSend field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • bytesDiscardedOnSend field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • fecPacketsSent field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • framesDiscardedOnSend field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • totalSamplesSent field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • samplesEncodedWithSilk field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • samplesEncodedWithCelt field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • voiceActivityFlag field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • sliCount field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • frameBitDepth field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • perDscpPacketsSent field from OutboundAudioTrack, OutboundVideoTrack samples and reports
  • bitDepth 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 reports
  • remoteTransportId to SfuInboundRtpPad reports
  • remoteSinkId to SfuInboundRtpPad reports
  • remoteRtpPadId to SfuInboundRtpPad reports

2.0.2

Added

  • roundTripTime to SfuOutboundRtp report

2.0.1

Added

  • internal attribute to SfuSctpChannel sample
  • internal attribute to SfuSctpStream report
  • internal attribute to SfuTransport report

2.0.0

init

2.2.12-448fc49.0

8 months ago

2.2.9

10 months ago

2.2.12-5deb2ab.0

8 months ago

2.2.11

8 months ago

2.2.12

6 months ago

2.2.10

8 months ago

2.2.8

11 months ago

2.2.3

1 year ago

2.2.2

1 year ago

2.2.5

12 months ago

2.2.4

1 year ago

2.2.7

11 months ago

2.2.6

12 months ago

2.2.1-2c2113b.0

1 year ago

2.2.1-470ac23.0

1 year ago

2.2.1-767ac02.0

1 year ago

2.2.0

1 year ago

2.2.1-53f59e6.0

1 year ago

2.2.1-rc.0

1 year ago

2.2.2-rc.0

1 year ago

2.3.1-rc.0

1 year ago