2.2.12 • Published 1 year ago

@observertc/sample-schemas-js v2.2.12

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 year ago

ObserveRTC Schemas

Javascript bindings for ObserveRTC schemas

Controls

FieldDescription
closeIndicate that the server should close the connection
accessClaimHolds a new claim to process

Engine

FieldDescription
nameThe name of the Engine
versionThe version of the engine

Platform

FieldDescription
typeThe name of the platform
vendorThe name of the vendor
modelThe name of the model

Browser

FieldDescription
nameThe name of the operating system (e.g., Linux) the WebRTC app uses
versionThe version of the operating system

OperationSystem

FieldDescription
nameThe name of the operating system (e.g., Linux) the WebRTC app uses
versionThe version of the operating system
versionNameThe name of the version of the operating system

MediaDevice

FieldDescription
idthe provided id of the media input / output
kindThe media kind of the media device (Possible values are: videoinput,audioinput,audiooutput)
labelThe name of the device

ExtensionStat

FieldDescription
type (Mandatory)The type of the extension stats the custom app provides
payload (Mandatory)The payload of the extension stats the custom app provides

CustomCallEvent

FieldDescription
name (Mandatory)the name of the event used as identifier. (e.g.: MEDIA_TRACK_MUTED, USER_REJOINED, etc..)
valuethe value of the event
peerConnectionIdThe unique identifier of the peer connection
mediaTrackIdThe identifier of the media track the event is related to
messagethe human readable message of the event
attachmentsAdditional attachment relevant for the event
timestampThe EPOCH timestamp the event is generated

CustomObserverEvent

FieldDescription
name (Mandatory)the name of the event used as identifier. (e.g.: MEDIA_TRACK_MUTED, USER_REJOINED, etc..)
mediaTrackIdThe identifier of the media track the event is related to
messagethe human readable message of the event
attachmentsAdditional attachment relevant for the event
timestampThe EPOCH timestamp the event is generated

DataChannel

FieldDescription
peerConnectionId (Mandatory)The id of the peer connection the data channel is assigned to
dataChannelIdentifierThe id of the data channel assigned by the peer connection when it is opened
labelThe label of the data channel
protocolThe protocol the data channel utilizes
stateThe state of the data channel
messageSentThe total number of messages sent on the data channel
bytesSentThe total number of bytes sent on the data channel
messageReceivedThe total number of messages received on the data channel
bytesReceivedThe total number of bytes received on the data channel

PeerConnectionTransport

FieldDescription
transportId (Mandatory)The identifier of the transport the ICE candidate pair is negotiated on
peerConnectionId (Mandatory)The unique identifier of the peer connection
labelThe label associated with the peer connection
packetsSentRepresents the total number of packets sent on the corresponding transport
packetsReceivedRepresents the total number of packets received on the corresponding transport
bytesSentRepresents the total amount of bytes sent on the corresponding transport
bytesReceivedRepresents the total amount of bytes received on the corresponding transport
iceRoleRepresents the current role of ICE under DTLS Transport
iceLocalUsernameFragmentRepresents 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
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 corresponding transport
dtlsCipherRepresents the name of the DTLS cipher used in the corresponding transport
dtlsRoleThe role this host plays in DTLS negotiations (Possible values are: client,server,unknown)
srtpCipherRepresents the name of the SRTP cipher used in the corresponding transport
tlsGroupRepresents the name of the IANA TLS Supported Groups used in the corresponding transport
selectedCandidatePairChangesThe total number of candidate pair changes over the peer connection

IceCandidatePair

FieldDescription
candidatePairId (Mandatory)The unique identifier of the peer connection
peerConnectionId (Mandatory)The unique identifier of the peer connection
labelThe label associated with 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 on the local side
remoteCandidateIdThe unique identifier of the candidate the negotiated pair is selected on the remote side
stateThe state of ICE Candidate Pairs (RTCStatsIceState) on the corresponding transport
nominatedIndicates if the ice candidate pair is nominated or not
packetsSentThe total number of packets sent using the last selected candidate pair over the corresponding transport
packetsReceivedThe total number of packets received using the last selected candidate pair over the corresponding transport
bytesSentThe total number of bytes sent using the last selected candidate pair over the corresponding transport
bytesReceivedThe total number of bytes received using the last selected candidate pair over the corresponding transport
lastPacketSentTimestampRepresents the timestamp at which the last packet was sent on the selected candidate pair, excluding STUN packets over the corresponding 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 corresponding 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 corresponding transport
currentRoundTripTimeRepresents the last round trip time measurement in seconds based on STUN connectivity check over the corresponding transport
availableOutgoingBitrateThe sum of the underlying cc algorithm provided outgoing bitrate for the RTP streams over the corresponding transport
availableIncomingBitrateThe sum of the underlying cc algorithm provided incoming bitrate for the RTP streams over the corresponding transport
requestsReceivedRepresents the total number of connectivity check requests received on the selected candidate pair using the corresponding transport
requestsSentRepresents the total number of connectivity check requests sent on the selected candidate pair using the corresponding transport
responsesReceivedRepresents the total number of connectivity check responses received on the selected candidate pair using the corresponding transport
responsesSentRepresents the total number of connectivity check responses sent on the selected candidate pair using the corresponding transport
consentRequestsSentRepresents the total number of consent requests sent on the selected candidate pair using the corresponding transport
packetsDiscardedOnSendTotal number of packets for this candidate pair that have been discarded due to socket errors on the selected candidate pair using the corresponding transport
bytesDiscardedOnSendTotal number of bytes for this candidate pair that have been discarded due to socket errors on the selected candidate pair using the corresponding transport

MediaSourceStat

FieldDescription
trackIdentifierThe unique identifier of the corresponding media track
kindThe type of the media the MediaSource produces. (Possible values are: audio,video)
relayedSourceFlag indicating if the media source is relayed or not, meaning the local endpoint is not the actual source of the media, but a proxy for that media.
audioLevelThe value is between 0..1 (linear), where 1.0 represents 0 dBov, 0 represents silence, and 0.5 represents approximately 6 dBSPL change in the sound pressure level from 0 dBov.
totalAudioEnergyThe audio energy of the media source. For calculation see www.w3.org/TR/webrtc-stats/#dom-rtcaudiosourcestats-totalaudioenergy
totalSamplesDurationThe duration of the audio type media source
echoReturnLossif echo cancellation is applied on the media source, then this number represents the loss calculation defined in www.itu.int/rec/T-REC-G.168-201504-I/en
echoReturnLossEnhancementwww.itu.int/rec/T-REC-G.168-201504-I/en
droppedSamplesDurationThe 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
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 originating from the media source
framesPerSecondThe number of frames originating from the media source in the last second

MediaCodecStats

FieldDescription
payloadTypePayload type used in the RTP encoding/decoding process.
codecTypeIndicates the role of the codec (encode or decode) (Possible values are: encode,decode)
mimeTypeThe MIME type of the media, e.g., audio/opus.
clockRateThe clock rate used in RTP transport to generate the timestamp for the carried frames
channelsAudio Only. Represents the number of channels an audio media source has. Only interesting if stereo is presented
sdpFmtpLineThe SDP line determines the codec

Certificate

FieldDescription
fingerprintThe fingerprint of the certificate.
fingerprintAlgorithmThe hash function used to generate the fingerprint.
base64CertificateThe DER encoded base-64 representation of the certificate.
issuerCertificateIdThe ID of the next certificate in the certificate chain

InboundAudioTrack

FieldDescription
ssrc (Mandatory)The RTP SSRC field
trackIdThe ID of the track
peerConnectionIdThe unique generated identifier of the peer connection the inbound audio track belongs to
remoteClientIdThe remote client ID the source outbound track belongs to
sfuStreamIdThe ID of the SFU stream this track is synced from
sfuSinkIdThe ID of the sink this track belongs to in the SFU
packetsReceivedThe total number of packets received on the corresponding synchronization source
packetsLostThe total number of bytes received on the corresponding synchronization source
jitterThe corresponding synchronization source reported jitter
lastPacketReceivedTimestampRepresents the timestamp at which the last packet was received on the corresponding synchronization source (ssrc)
headerBytesReceivedTotal number of RTP header and padding bytes received over the corresponding synchronization source (ssrc)
packetsDiscardedThe total number of packets that missed the playout point and were therefore discarded by the jitter buffer
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 arrival; 2) the target RTP packet has already been repaired.
bytesReceivedTotal number of bytes received over the corresponding synchronization source (ssrc) due to 1) late arrival; 2) the target RTP packet has already been repaired.
nackCountCount the total number of Negative ACKnowledgement (NACK) packets sent and belongs to the corresponding synchronization source (ssrc)
totalProcessingDelayThe total processing delay in seconds spent on buffering RTP packets from receipt until packets are decoded
estimatedPlayoutTimestampThe estimated playout time of the corresponding synchronization source
jitterBufferDelayThe total time of RTP packets spent in the jitter buffer waiting for frame completion due to network uncertainty.
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 corresponding 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

InboundVideoTrack

FieldDescription
ssrc (Mandatory)The RTP SSRC field
trackIdThe id of the track
peerConnectionIdThe unique generated identifier of the peer connection the inbound audio track belongs to
remoteClientIdThe remote clientId the source outbound track belongs to
sfuStreamIdThe id of the SFU stream this track is sinked from
sfuSinkIdThe id of the sink this track belongs to in the SFU
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 corresponding RTP stream
frameWidthThe width of the frame of the video sent by the remote source on the corresponding RTP stream
frameHeightThe height of the frame of the video sent by the remote source on the corresponding RTP stream
framesPerSecondThe frame rate of the video sent by the remote source on the corresponding RTP stream
qpSumThe QP sum (only interested in VP8,9) of the frame of the video sent by the remote source on the corresponding RTP stream
totalDecodeTimeThe total time spent on decoding video on the corresponding RTP stream
totalInterFrameDelayThe total interframe delay on the corresponding RTP stream
totalSquaredInterFrameDelayThe total squared interframe delay on the corresponding synchronization source (ssrc). Useful for variance calculation for interframe delays
firCountThe total number of Full Intra Request (FIR) packets sent from this endpoint to the source on the corresponding RTP stream
pliCountThe total number of Picture Loss Indication (PLI) packets sent on the corresponding RTP stream
framesReceivedThe total number of frames received on the corresponding 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 corresponds 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

OutboundAudioTrack

FieldDescription
ssrc (Mandatory)The RTP SSRC field
trackIdThe id of the track
peerConnectionIdThe unique generated identifier of the peer connection the inbound audio track belongs to
sfuStreamIdThe id of the SFU stream this track is related to
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 caught from the media source.
droppedSamplesDurationThe 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

OutboundVideoTrack

FieldDescription
ssrc (Mandatory)The RTP SSRC field
trackIdThe id of the track
peerConnectionIdThe unique generated identifier of the peer connection the inbound audio track belongs to
sfuStreamIdThe id of the SFU stream this track is related to
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 height in pixels of the frames targeted by the media encoder
framesPerSecondThe encoded number of frames in the last second on the corresponding media source
framesSentThe total number of frames sent on the corresponding RTP stream
hugeFramesSentThe total number of huge frames (avgFrameSize * 2.5) on the corresponding RTP stream
framesEncodedThe total number of frames encoded by the media source
keyFramesEncodedThe total number of keyframes encoded on the corresponding RTP stream
qpSumThe sum of the QP the media encoder provided on the corresponding RTP stream.
totalEncodeTimeThe total time in seconds spent in encoding media frames for the corresponding 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 occurred on the 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 endpoint 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

IceLocalCandidate

FieldDescription
peerConnectionIdRefers to the peer connection the local candidate belongs to
idThe unique identifier of the local candidate
addressThe address of the local endpoint (Ipv4, Ipv6, FQDN)
portThe port number of the local endpoint the ICE uses
protocolThe protocol for the ICE (Possible values are: tcp,udp)
candidateTypeThe type of the local candidate
priorityThe priority of the local candidate
urlThe url of the ICE server
relayProtocolThe relay protocol the local candidate uses (Possible values are: tcp,udp,tls)

IceRemoteCandidate

FieldDescription
peerConnectionIdRefers to the peer connection the local candidate belongs to
idThe unique identifier of the local candidate
addressThe address of the local endpoint (Ipv4, Ipv6, FQDN)
portThe port number of the local endpoint the ICE uses
protocolThe protocol for the ICE (Possible values are: tcp,udp)
candidateTypeThe type of the local candidate
priorityThe priority of the local candidate
urlThe url of the ICE server
relayProtocolThe relay protocol the local candidate uses (Possible values are: tcp,udp,tls)## ClientSample

docs

FieldDescription
clientId (Mandatory)Unique id of the client providing samples. Must be a valid UUID.
timestamp (Mandatory)The timestamp the sample is created in GMT
callIdIf provided, the server uses the given id to match clients in the same call. Must be a valid UUID.
sampleSeqThe sequence number a source assigns to the sample. Each time the source takes a sample at a client, this number should be monotonically incremented.
roomIdThe WebRTC app configured room id the client joined for the call.
userIdThe WebRTC app configured human-readable user id the client is joined.
engineWebRTC App provided information related to the engine the client uses.
platformWebRTC App provided information related to the platform the client uses.
browserWebRTC App provided information related to the browser the client uses.
osWebRTC App provided information related to the operating system the client uses.
mediaConstraintsThe WebRTC app provided list of the media constraints the client has.
mediaDevicesThe WebRTC app provided list of the media devices the client has.
userMediaErrorsThe WebRTC app provided list of user media errors the client has.
extensionStatsThe WebRTC app provided custom stats payload
customCallEventsUser provided custom call events
customObserverEventsUser provided custom observer events
iceServersThe WebRTC app provided list of ICE servers the client used.
localSDPsThe local part of the Signal Description Protocol to establish connections
dataChannelsMeasurements about the data channels currently available on peer connections
pcTransportsTransport stats of Peer Connection
iceCandidatePairsCandidate pair stats
mediaSourcesWebRTC App provided information related to the operation system the client uses.
codecsList of codec the client has
certificatesList of certificates the client provided
inboundAudioTracksList of compound measurements related to inbound audio tracks
inboundVideoTracksList of compound measurements related to inbound video tracks
outboundAudioTracksList of compound measurements related to outbound audio tracks
outboundVideoTracksList of compound measurements related to outbound video tracks
iceLocalCandidatesList of local ICE candidates
iceRemoteCandidatesList of remote ICE candidates
timeZoneOffsetInHoursThe offset from GMT in hours
markerSpecial marker for the samples

CustomSfuEvent

FieldDescription
name (Mandatory)the name of the event used as identifier. (e.g.: CLIENT_REJOINED, etc..)
valuethe value of the event
transportIdThe unique identifier of the sfu transport the event is related to
sfuStreamIdThe identifier of the sfu stream the event is related to
sfuSinkIdThe identifier of the sfu sink the event is related to
messagethe human readable message of the event
attachmentsAdditional attachment relevant for the event
timestampThe EPOCH timestamp the event is generated

SfuTransport

FieldDescription
transportId (Mandatory)The generated unique identifier of the transport
noReportFlag indicate to not generate report from this sample
internalFlag to indicate that the transport is used as an internal transport between SFU instances
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

SfuInboundRtpPad

FieldDescription
transportId (Mandatory)The id of the transport the RTP Pad uses.
streamId (Mandatory)The id of the media stream the RTP pad belongs to. This id is to group rtp pads (e.g.: simulcast) carrying payloads to the same media.
padId (Mandatory)The id of Sfu pad.
ssrc (Mandatory)The synchronization source id of the RTP stream
noReportFlag indicate to not generate report from this sample
internalFlag to indicate that the rtp pad is used as an internal communication between SFU instances
mediaTypethe type of the media the stream carries ("audio" or "video") (Possible values are: audio,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

SfuOutboundRtpPad

FieldDescription
transportId (Mandatory)The id of the transport the RTP stream uses.
streamId (Mandatory)The id of the stream this outbound RTP pad sinks the media from
sinkId (Mandatory)The id of a group of RTP pad sinks the media stream out from the SFU.
padId (Mandatory)The id of Sfu pad.
ssrc (Mandatory)The synchronization source id of the RTP stream
noReportFlag indicate to not generate report from this sample
internalFlag to indicate that the rtp pad is used as an internal communication between SFU instances
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") (Possible values are: audio,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
fractionLostThe calculated fractionLost of the stream
jitterThe calculated jitter of the stream
roundTripTimeThe calculated RTT of the stream

SfuSctpChannel

FieldDescription
transportId (Mandatory)The id of the transport the RTP stream uses.
streamId (Mandatory)The id of the sctp stream
channelId (Mandatory)The id of the sctp stream
noReportFlag indicate to not generate report from this sample
internalFlag to indicate that the SCTP channel is used as an internally between SFU instances
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.

SfuExtensionStats

FieldDescription
type (Mandatory)The type of the extension stats the custom app provides
payload (Mandatory)The payload of the extension stats the custom app provides## SfuSample

docs

FieldDescription
sfuId (Mandatory)Unique generated id for the sfu samples are originated from
timestamp (Mandatory)The timestamp the sample is created in GMT
timeZoneOffsetInHoursThe offset from GMT in hours
markerSpecial marker for the samples
customSfuEventsUser provided custom call events
transportsThe Sfu Transports obtained measurements
inboundRtpPadsThe Sfu Inbound Rtp Pad obtained measurements
outboundRtpPadsThe Sfu Outbound Rtp Pad obtained measurements
sctpChannelsThe Sfu Outbound Rtp Pad obtained measurements
extensionStatsThe Sfu provided custom stats payload

TurnPeerAllocation

FieldDescription
peerId (Mandatory)a unique id for the allocation
sessionId (Mandatory)The corresponded session the allocation belongs to
relayedAddress (Mandatory)The allocated address
relayedPort (Mandatory)The allocated port
transportProtocol (Mandatory)protocol (TCP, UDP)
peerAddressThe address of the address the serever connect to
peerPortThe portnumber the server connects to
sendingBitratethe bitrate the TURN server sending to the peer
receivingBitratethe bitrate the TURN server receiving from the peer
sentBytesthe amount of bytes sent to the peer
receivedBytesthe amount of bytes received from the peer
sentPacketsthe amount of packets sent to the peer
receivedPacketsthe amount of packets received from the peer

TurnSession

FieldDescription
sessionId (Mandatory)Flag indicate to not generate report from this sample
realmThe Authentication Realm (RFC 8656)
usernameThe username of the used in authentication
clientIdThe id of the client the TURN session belongs to (ClientSample)
startedThe timestamp when the session has been started. Epoch in milliseconds, GMT
nonceExpirationTimeFor each Allocate request, the server SHOULD generate a new random nonce when the allocation is first attempted following the randomness recommendations in RFC4086 and SHOULD expire the nonce at least once every hour during the lifetime of the allocation. Epoch in millis GMT
serverAddressThe address of the server the client connected to
serverPortThe portnumber the server listens the client requests
transportProtocolthe transport protocol betwwen the client and the server (TCP, UDP, TCPTLS, UDPTLS, SCTP, SCTPTLS)
clientAddressThe address of the client connected from
clientPortThe portnumber the client requested from
sendingBitratethe bitrate the TURN server sending to the client
receivingBitratethe bitrate the TURN server receiving from the client
sentBytesthe amount of bytes sent to the client
receivedBytesthe amount of bytes received from the client
sentPacketsthe amount of packets sent to the client
receivedPacketsthe amount of packets received from the client## TurnSample

docs

FieldDescription
serverId (Mandatory)A unique id of the turn server
allocationsPeer Alloocation data
sessionsSession data## Samples

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

FieldDescription
controlsAdditional control flags indicate various operation has to be performed
clientSamplesSamples taken from the client
sfuSamplesSamples taken from an Sfu
turnSamplesSamples taken from the TURN server

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.11

1 year ago

2.2.12

1 year ago

2.2.10

1 year ago

2.2.9

1 year ago

2.2.8

2 years ago

2.2.3

2 years ago

2.2.2

2 years ago

2.2.5

2 years ago

2.2.4

2 years ago

2.2.7

2 years ago

2.2.6

2 years ago

2.2.1

2 years ago

2.2.1-c620364.0

2 years ago

2.2.1-42b3979.0

2 years ago

2.2.1-9620b7f.0

2 years ago

2.2.1-a793eea.0

2 years ago

2.2.1-e6b9dfd.0

2 years ago

2.2.1-dbf86fa.0

2 years ago

2.2.1-2ae291d.0

2 years ago

2.2.1-ed2c0af.0

2 years ago

2.2.1-2c2113b.0

2 years ago

2.2.1-470ac23.0

2 years ago

2.2.1-767ac02.0

2 years ago

2.2.0

2 years ago

2.2.1-53f59e6.0

2 years ago

2.2.1-rc.0

2 years ago