npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@observertc/sample-schemas-js

v2.2.12

Published

ObserveRTC Generated Library for Sample Schemas

Downloads

911

Readme

ObserveRTC Schemas

Javascript bindings for ObserveRTC schemas

Controls

Field | Description --- | --- close | Indicate that the server should close the connection accessClaim | Holds a new claim to process

Engine

Field | Description --- | --- name | The name of the Engine version | The version of the engine

Platform

Field | Description --- | --- type | The name of the platform vendor | The name of the vendor model | The name of the model

Browser

Field | Description --- | --- name | The name of the operating system (e.g., Linux) the WebRTC app uses version | The version of the operating system

OperationSystem

Field | Description --- | --- name | The name of the operating system (e.g., Linux) the WebRTC app uses version | The version of the operating system versionName | The name of the version of the operating system

MediaDevice

Field | Description --- | --- id | the provided id of the media input / output kind | The media kind of the media device (Possible values are: videoinput,audioinput,audiooutput) label | The name of the device

ExtensionStat

Field | Description --- | --- 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

Field | Description --- | --- name (Mandatory) | the name of the event used as identifier. (e.g.: MEDIA_TRACK_MUTED, USER_REJOINED, etc..) value | the value of the event peerConnectionId | The unique identifier of the peer connection mediaTrackId | The identifier of the media track the event is related to message | the human readable message of the event attachments | Additional attachment relevant for the event timestamp | The EPOCH timestamp the event is generated

CustomObserverEvent

Field | Description --- | --- name (Mandatory) | the name of the event used as identifier. (e.g.: MEDIA_TRACK_MUTED, USER_REJOINED, etc..) mediaTrackId | The identifier of the media track the event is related to message | the human readable message of the event attachments | Additional attachment relevant for the event timestamp | The EPOCH timestamp the event is generated

DataChannel

Field | Description --- | --- peerConnectionId (Mandatory) | The id of the peer connection the data channel is assigned to dataChannelIdentifier | The id of the data channel assigned by the peer connection when it is opened label | The label of the data channel protocol | The protocol the data channel utilizes state | The state of the data channel messageSent | The total number of messages sent on the data channel bytesSent | The total number of bytes sent on the data channel messageReceived | The total number of messages received on the data channel bytesReceived | The total number of bytes received on the data channel

PeerConnectionTransport

Field | Description --- | --- transportId (Mandatory) | The identifier of the transport the ICE candidate pair is negotiated on peerConnectionId (Mandatory) | The unique identifier of the peer connection label | The label associated with the peer connection packetsSent | Represents the total number of packets sent on the corresponding transport packetsReceived | Represents the total number of packets received on the corresponding transport bytesSent | Represents the total amount of bytes sent on the corresponding transport bytesReceived | Represents the total amount of bytes received on the corresponding transport iceRole | Represents the current role of ICE under DTLS Transport iceLocalUsernameFragment | Represents the current local username fragment used in message validation procedures for ICE under DTLS Transport dtlsState | Represents the current state of DTLS for the peer connection transport layer selectedCandidatePairId | The identifier of the candidate pair the transport currently uses iceState | Represents the current transport state (RTCIceTransportState) of ICE for the peer connection transport layer localCertificateId | If DTLS negotiated, it gives the ID of the local certificate remoteCertificateId | If DTLS negotiated, it gives the ID of the remote certificate tlsVersion | Represents the version number of the TLS used in the corresponding transport dtlsCipher | Represents the name of the DTLS cipher used in the corresponding transport dtlsRole | The role this host plays in DTLS negotiations (Possible values are: client,server,unknown) srtpCipher | Represents the name of the SRTP cipher used in the corresponding transport tlsGroup | Represents the name of the IANA TLS Supported Groups used in the corresponding transport selectedCandidatePairChanges | The total number of candidate pair changes over the peer connection

IceCandidatePair

Field | Description --- | --- candidatePairId (Mandatory) | The unique identifier of the peer connection peerConnectionId (Mandatory) | The unique identifier of the peer connection label | The label associated with the peer connection transportId | The identifier of the transport the ice candidate pair is negotiated on localCandidateId | The unique identifier of the candidate the negotiated pair is selected on the local side remoteCandidateId | The unique identifier of the candidate the negotiated pair is selected on the remote side state | The state of ICE Candidate Pairs (RTCStatsIceState) on the corresponding transport nominated | Indicates if the ice candidate pair is nominated or not packetsSent | The total number of packets sent using the last selected candidate pair over the corresponding transport packetsReceived | The total number of packets received using the last selected candidate pair over the corresponding transport bytesSent | The total number of bytes sent using the last selected candidate pair over the corresponding transport bytesReceived | The total number of bytes received using the last selected candidate pair over the corresponding transport lastPacketSentTimestamp | Represents 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) lastPacketReceivedTimestamp | Represents 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) totalRoundTripTime | Represents the sum of all round trip time measurements in seconds since the beginning of the session, based on STUN connectivity check over the corresponding transport currentRoundTripTime | Represents the last round trip time measurement in seconds based on STUN connectivity check over the corresponding transport availableOutgoingBitrate | The sum of the underlying cc algorithm provided outgoing bitrate for the RTP streams over the corresponding transport availableIncomingBitrate | The sum of the underlying cc algorithm provided incoming bitrate for the RTP streams over the corresponding transport requestsReceived | Represents the total number of connectivity check requests received on the selected candidate pair using the corresponding transport requestsSent | Represents the total number of connectivity check requests sent on the selected candidate pair using the corresponding transport responsesReceived | Represents the total number of connectivity check responses received on the selected candidate pair using the corresponding transport responsesSent | Represents the total number of connectivity check responses sent on the selected candidate pair using the corresponding transport consentRequestsSent | Represents the total number of consent requests sent on the selected candidate pair using the corresponding transport packetsDiscardedOnSend | Total number of packets for this candidate pair that have been discarded due to socket errors on the selected candidate pair using the corresponding transport bytesDiscardedOnSend | Total 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

Field | Description --- | --- trackIdentifier | The unique identifier of the corresponding media track kind | The type of the media the MediaSource produces. (Possible values are: audio,video) relayedSource | Flag 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. audioLevel | The 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. totalAudioEnergy | The audio energy of the media source. For calculation see www.w3.org/TR/webrtc-stats/#dom-rtcaudiosourcestats-totalaudioenergy totalSamplesDuration | The duration of the audio type media source echoReturnLoss | if 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 echoReturnLossEnhancement | www.itu.int/rec/T-REC-G.168-201504-I/en droppedSamplesDuration | The total duration, in seconds, of samples produced by the device that got dropped before reaching the media source droppedSamplesEvents | A counter increases every time a sample is dropped after a non-dropped sample totalCaptureDelay | Total delay, in seconds, for each audio sample between the time the sample was emitted by the capture device and the sample reaching the source totalSamplesCaptured | The total number of captured samples reaching the audio source width | The width, in pixels, of the last frame originating from the media source height | The height, in pixels, of the last frame originating from the media source frames | The total number of frames originating from the media source framesPerSecond | The number of frames originating from the media source in the last second

MediaCodecStats

Field | Description --- | --- payloadType | Payload type used in the RTP encoding/decoding process. codecType | Indicates the role of the codec (encode or decode) (Possible values are: encode,decode) mimeType | The MIME type of the media, e.g., audio/opus. clockRate | The clock rate used in RTP transport to generate the timestamp for the carried frames channels | Audio Only. Represents the number of channels an audio media source has. Only interesting if stereo is presented sdpFmtpLine | The SDP line determines the codec

Certificate

Field | Description --- | --- fingerprint | The fingerprint of the certificate. fingerprintAlgorithm | The hash function used to generate the fingerprint. base64Certificate | The DER encoded base-64 representation of the certificate. issuerCertificateId | The ID of the next certificate in the certificate chain

InboundAudioTrack

Field | Description --- | --- ssrc (Mandatory) | The RTP SSRC field trackId | The ID of the track peerConnectionId | The unique generated identifier of the peer connection the inbound audio track belongs to remoteClientId | The remote client ID the source outbound track belongs to sfuStreamId | The ID of the SFU stream this track is synced from sfuSinkId | The ID of the sink this track belongs to in the SFU packetsReceived | The total number of packets received on the corresponding synchronization source packetsLost | The total number of bytes received on the corresponding synchronization source jitter | The corresponding synchronization source reported jitter lastPacketReceivedTimestamp | Represents the timestamp at which the last packet was received on the corresponding synchronization source (ssrc) headerBytesReceived | Total number of RTP header and padding bytes received over the corresponding synchronization source (ssrc) packetsDiscarded | The total number of packets that missed the playout point and were therefore discarded by the jitter buffer fecPacketsReceived | Total number of FEC packets received over the corresponding synchronization source (ssrc) fecPacketsDiscarded | Total number of FEC packets discarded over the corresponding synchronization source (ssrc) due to 1) late arrival; 2) the target RTP packet has already been repaired. bytesReceived | Total number of bytes received over the corresponding synchronization source (ssrc) due to 1) late arrival; 2) the target RTP packet has already been repaired. nackCount | Count the total number of Negative ACKnowledgement (NACK) packets sent and belongs to the corresponding synchronization source (ssrc) totalProcessingDelay | The total processing delay in seconds spent on buffering RTP packets from receipt until packets are decoded estimatedPlayoutTimestamp | The estimated playout time of the corresponding synchronization source jitterBufferDelay | The total time of RTP packets spent in the jitter buffer waiting for frame completion due to network uncertainty. jitterBufferTargetDelay | This value is increased by the target jitter buffer delay every time a sample is emitted by the jitter buffer. The added target is the target delay, in seconds, at the time that the sample was emitted from the jitter buffer. jitterBufferEmittedCount | The total number of audio samples or video frames that have come out of the jitter buffer on the corresponding synchronization source (ssrc) jitterBufferMinimumDelay | This metric is purely based on the network characteristics such as jitter and packet loss, and can be seen as the minimum obtainable jitter buffer delay if no external factors would affect it totalSamplesReceived | The total number of audio samples received on the corresponded RTP stream concealedSamples | The total number of samples decoded by the media decoder from the corresponded RTP stream silentConcealedSamples | The total number of samples concealed from the corresponded RTP stream concealmentEvents | The total number of concealed event emitted to the media codec by the corresponded jitterbuffer insertedSamplesForDeceleration | The total number of samples inserted to decelarete the audio playout (happens when the jitterbuffer detects a shrinking buffer and need to increase the jitter buffer delay) removedSamplesForAcceleration | The total number of samples inserted to accelerate the audio playout (happens when the jitterbuffer detects a growing buffer and need to shrink the jitter buffer delay) audioLevel | The current audio level totalAudioEnergy | Represents the energy level reported by the media source totalSamplesDuration | Represents the total duration of the audio samples the media source actually transconverted in seconds decoderImplementation | Indicate the name of the decoder implementation library packetsSent | Total number of RTP packets sent at the remote endpoint to this endpoint on this synchronization source bytesSent | Total number of payload bytes sent at the remote endpoint to this endpoint on this synchronization source remoteTimestamp | The timestamp corresnponds to the time in UTC Epoch the remote endpoint reported the statistics belong to the sender side and correspond to the synchronization source (ssrc) reportsSent | The number of SR reports the remote endpoint sent corresponded to synchronization source (ssrc) this report belongs to roundTripTime | Estimated round trip time for the SR reports based on DLRR reports on the corresponded RTP stream totalRoundTripTime | Represents the cumulative sum of all round trip time measurements performed on the corresponded RTP stream roundTripTimeMeasurements | Represents the total number of SR reports received with DLRR reports to be able to calculate the round trip time on the corresponded RTP stream synthesizedSamplesDuration | This metric can be used together with totalSamplesDuration to calculate the percentage of played out media being synthesized synthesizedSamplesEvents | The number of synthesized samples events. totalPlayoutDelay | The playout delay includes the delay from being emitted to the actual time of playout on the device totalSamplesCount | When audio samples are pulled by the playout device, this counter is incremented with the number of samples emitted for playout

InboundVideoTrack

Field | Description --- | --- ssrc (Mandatory) | The RTP SSRC field trackId | The id of the track peerConnectionId | The unique generated identifier of the peer connection the inbound audio track belongs to remoteClientId | The remote clientId the source outbound track belongs to sfuStreamId | The id of the SFU stream this track is sinked from sfuSinkId | The id of the sink this track belongs to in the SFU packetsReceived | The total number of packets received on the corresponded synchronization source packetsLost | The total number of bytes received on the corresponded synchronization source jitter | The corresponded synchronization source reported jitter framesDropped | The number of frames dropped prior to decode or missing chunks lastPacketReceivedTimestamp | Represents the timestamp at which the last packet was received on the corresponded synchronization source (ssrc) headerBytesReceived | Total number of RTP header and padding bytes received over the corresponding synchronization source (ssrc) packetsDiscarded | The total number of packets missed the playout point and therefore discarded by the jitterbuffer fecPacketsReceived | Total number of FEC packets received over the corresponding synchronization source (ssrc) fecPacketsDiscarded | Total number of FEC packets discarded over the corresponding synchronization source (ssrc) due to 1) late arrive; 2) the target RTP packet has already been repaired. bytesReceived | Total number of bytes received over the corresponding synchronization source (ssrc) due to 1) late arrive; 2) the target RTP packet has already been repaired. nackCount | Count the total number of Negative ACKnowledgement (NACK) packets sent and belongs to the corresponded synchronization source (ssrc) totalProcessingDelay | The total processing delay in seconds spend on buffering RTP packets from received up until packets are decoded estimatedPlayoutTimestamp | The estimated playout time of the corresponded synchronization source jitterBufferDelay | The total time of RTP packets spent in jitterbuffer waiting for frame completion due to network uncertenity. jitterBufferTargetDelay | This value is increased by the target jitter buffer delay every time a sample is emitted by the jitter buffer. The added target is the target delay, in seconds, at the time that the sample was emitted from the jitter buffer. jitterBufferEmittedCount | The total number of audio samples or video frames that have come out of the jitter buffer on the corresponded synchronization source (ssrc) jitterBufferMinimumDelay | This metric is purely based on the network characteristics such as jitter and packet loss, and can be seen as the minimum obtainable jitter buffer delay if no external factors would affect it decoderImplementation | Indicate the name of the decoder implementation library framesDecoded | The total number of frames decoded on the corresponded RTP stream keyFramesDecoded | The total number of keyframes decoded on the corresponding RTP stream frameWidth | The width of the frame of the video sent by the remote source on the corresponding RTP stream frameHeight | The height of the frame of the video sent by the remote source on the corresponding RTP stream framesPerSecond | The frame rate of the video sent by the remote source on the corresponding RTP stream qpSum | The QP sum (only interested in VP8,9) of the frame of the video sent by the remote source on the corresponding RTP stream totalDecodeTime | The total time spent on decoding video on the corresponding RTP stream totalInterFrameDelay | The total interframe delay on the corresponding RTP stream totalSquaredInterFrameDelay | The total squared interframe delay on the corresponding synchronization source (ssrc). Useful for variance calculation for interframe delays firCount | The total number of Full Intra Request (FIR) packets sent from this endpoint to the source on the corresponding RTP stream pliCount | The total number of Picture Loss Indication (PLI) packets sent on the corresponding RTP stream framesReceived | The total number of frames received on the corresponding RTP stream packetsSent | Total number of RTP packets sent at the remote endpoint to this endpoint on this synchronization source bytesSent | Total number of payload bytes sent at the remote endpoint to this endpoint on this synchronization source remoteTimestamp | The timestamp 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) reportsSent | The number of SR reports the remote endpoint sent corresponded to synchronization source (ssrc) this report belongs to roundTripTime | Estimated round trip time for the SR reports based on DLRR reports on the corresponded RTP stream totalRoundTripTime | Represents the cumulative sum of all round trip time measurements performed on the corresponded RTP stream roundTripTimeMeasurements | Represents the total number of SR reports received with DLRR reports to be able to calculate the round trip time on the corresponded RTP stream

OutboundAudioTrack

Field | Description --- | --- ssrc (Mandatory) | The RTP SSRC field trackId | The id of the track peerConnectionId | The unique generated identifier of the peer connection the inbound audio track belongs to sfuStreamId | The id of the SFU stream this track is related to packetsSent | The total number of packets sent on the corresponded synchronization source bytesSent | The total number of bytes sent on the corresponded synchronization source rid | The rid encoding parameter of the corresponded synchronization source headerBytesSent | Total number of RTP header and padding bytes sent over the corresponding synchronization source (ssrc) retransmittedPacketsSent | Total number of retransmitted packets sent over the corresponding synchronization source (ssrc). retransmittedBytesSent | Total number of retransmitted bytes sent over the corresponding synchronization source (ssrc). targetBitrate | Reflects the current encoder target in bits per second. totalEncodedBytesTarget | The total number of bytes of RTP coherent frames encoded completly depending on the frame size the encoder targets totalPacketSendDelay | The total number of delay packets buffered at the sender side in seconds over the corresponding synchronization source averageRtcpInterval | The average RTCP interval between two consecutive compound RTCP packets sent for the corresponding synchronization source (ssrc) nackCount | Count the total number of Negative ACKnowledgement (NACK) packets received over the corresponding synchronization source (ssrc) encoderImplementation | Indicate the name of the encoder implementation library active | Indicates whether this RTP stream is configured to be sent or disabled packetsReceived | The total number of packets received on the corresponded synchronization source packetsLost | The total number of bytes received on the corresponded synchronization source jitter | The corresponded synchronization source reported jitter roundTripTime | RTT measurement in seconds based on (most likely) SR, and RR belongs to the corresponded synchronization source totalRoundTripTime | The sum of RTT measurements belongs to the corresponded synchronization source fractionLost | The receiver reported fractional lost belongs to the corresponded synchronization source roundTripTimeMeasurements | The total number of calculated RR measurements received on this source relayedSource | True if the corresponded media source is remote, false otherwise (or null depending on browser and version) audioLevel | Represents the audio level reported by the media source totalAudioEnergy | Represents the energy level reported by the media source totalSamplesDuration | Represents the total duration of the audio samples the media source actually transconverted in seconds echoReturnLoss | Represents the echo cancellation in decibels corresponded to the media source. echoReturnLossEnhancement | Represents the echo cancellation in decibels added as a postprocessing by the library after the audio is caught from the media source. droppedSamplesDuration | The total duration, in seconds, of samples produced by the device that got dropped before reaching the media source droppedSamplesEvents | A counter increases every time a sample is dropped after a non-dropped sample totalCaptureDelay | Total delay, in seconds, for each audio sample between the time the sample was emitted by the capture device and the sample reaching the source totalSamplesCaptured | The total number of captured samples reaching the audio source

OutboundVideoTrack

Field | Description --- | --- ssrc (Mandatory) | The RTP SSRC field trackId | The id of the track peerConnectionId | The unique generated identifier of the peer connection the inbound audio track belongs to sfuStreamId | The id of the SFU stream this track is related to packetsSent | The total number of packets sent on the corresponded synchronization source bytesSent | The total number of bytes sent on the corresponded synchronization source rid | The rid encoding parameter of the corresponded synchronization source headerBytesSent | Total number of RTP header and padding bytes sent over the corresponding synchronization source (ssrc) retransmittedPacketsSent | Total number of retransmitted packets sent over the corresponding synchronization source (ssrc). retransmittedBytesSent | Total number of retransmitted bytes sent over the corresponding synchronization source (ssrc). targetBitrate | Reflects the current encoder target in bits per second. totalEncodedBytesTarget | The total number of bytes of RTP coherent frames encoded completly depending on the frame size the encoder targets totalPacketSendDelay | The total number of delay packets buffered at the sender side in seconds over the corresponding synchronization source averageRtcpInterval | The average RTCP interval between two consecutive compound RTCP packets sent for the corresponding synchronization source (ssrc) nackCount | Count the total number of Negative ACKnowledgement (NACK) packets received over the corresponding synchronization source (ssrc) encoderImplementation | Indicate the name of the encoder implementation library active | Indicates whether this RTP stream is configured to be sent or disabled frameWidth | The frame width in pixels of the frames targeted by the media encoder frameHeight | The frame height in pixels of the frames targeted by the media encoder framesPerSecond | The encoded number of frames in the last second on the corresponding media source framesSent | The total number of frames sent on the corresponding RTP stream hugeFramesSent | The total number of huge frames (avgFrameSize * 2.5) on the corresponding RTP stream framesEncoded | The total number of frames encoded by the media source keyFramesEncoded | The total number of keyframes encoded on the corresponding RTP stream qpSum | The sum of the QP the media encoder provided on the corresponding RTP stream. totalEncodeTime | The total time in seconds spent in encoding media frames for the corresponding RTP stream. qualityLimitationDurationNone | Time elapsed in seconds when the RTC connection has not limited the quality qualityLimitationDurationCPU | Time elapsed in seconds the RTC connection had a limitation because of CPU qualityLimitationDurationBandwidth | Time elapsed in seconds the RTC connection had a limitation because of Bandwidth qualityLimitationDurationOther | Time elapsed in seconds the RTC connection had a limitation because of Other factor qualityLimitationReason | Indicate a reason for the quality limitation of the corresponded synchronization source qualityLimitationResolutionChanges | The total number of resolution changes occurred on the corresponded RTP stream due to quality changes firCount | The total number FIR packets sent from this endpoint to the source on the corresponded RTP stream pliCount | The total number of Picture Loss Indication sent on the corresponded RTP stream packetsReceived | The total number of packets received on the corresponded synchronization source packetsLost | The total number of bytes received on the corresponded synchronization source jitter | The corresponded synchronization source reported jitter roundTripTime | RTT measurement in seconds based on (most likely) SR, and RR belongs to the corresponded synchronization source totalRoundTripTime | The sum of RTT measurements belongs to the corresponded synchronization source fractionLost | The receiver reported fractional lost belongs to the corresponded synchronization source roundTripTimeMeasurements | The total number of calculated RR measurements received on this source framesDropped | The total number of frames reported to be lost by the remote endpoint on the corresponded RTP stream relayedSource | True if the corresponded media source is remote, false otherwise (or null depending on browser and version) width | The width, in pixels, of the last frame originating from the media source height | The height, in pixels, of the last frame originating from the media source frames | The total number of frames originated from the media source

IceLocalCandidate

Field | Description --- | --- peerConnectionId | Refers to the peer connection the local candidate belongs to id | The unique identifier of the local candidate address | The address of the local endpoint (Ipv4, Ipv6, FQDN) port | The port number of the local endpoint the ICE uses protocol | The protocol for the ICE (Possible values are: tcp,udp) candidateType | The type of the local candidate priority | The priority of the local candidate url | The url of the ICE server relayProtocol | The relay protocol the local candidate uses (Possible values are: tcp,udp,tls)

IceRemoteCandidate

Field | Description --- | --- peerConnectionId | Refers to the peer connection the local candidate belongs to id | The unique identifier of the local candidate address | The address of the local endpoint (Ipv4, Ipv6, FQDN) port | The port number of the local endpoint the ICE uses protocol | The protocol for the ICE (Possible values are: tcp,udp) candidateType | The type of the local candidate priority | The priority of the local candidate url | The url of the ICE server relayProtocol | The relay protocol the local candidate uses (Possible values are: tcp,udp,tls)## ClientSample

docs

Field | Description --- | --- clientId (Mandatory) | Unique id of the client providing samples. Must be a valid UUID. timestamp (Mandatory) | The timestamp the sample is created in GMT callId | If provided, the server uses the given id to match clients in the same call. Must be a valid UUID. sampleSeq | The sequence number a source assigns to the sample. Each time the source takes a sample at a client, this number should be monotonically incremented. roomId | The WebRTC app configured room id the client joined for the call. userId | The WebRTC app configured human-readable user id the client is joined. engine | WebRTC App provided information related to the engine the client uses. platform | WebRTC App provided information related to the platform the client uses. browser | WebRTC App provided information related to the browser the client uses. os | WebRTC App provided information related to the operating system the client uses. mediaConstraints | The WebRTC app provided list of the media constraints the client has. mediaDevices | The WebRTC app provided list of the media devices the client has. userMediaErrors | The WebRTC app provided list of user media errors the client has. extensionStats | The WebRTC app provided custom stats payload customCallEvents | User provided custom call events customObserverEvents | User provided custom observer events iceServers | The WebRTC app provided list of ICE servers the client used. localSDPs | The local part of the Signal Description Protocol to establish connections dataChannels | Measurements about the data channels currently available on peer connections pcTransports | Transport stats of Peer Connection iceCandidatePairs | Candidate pair stats mediaSources | WebRTC App provided information related to the operation system the client uses. codecs | List of codec the client has certificates | List of certificates the client provided inboundAudioTracks | List of compound measurements related to inbound audio tracks inboundVideoTracks | List of compound measurements related to inbound video tracks outboundAudioTracks | List of compound measurements related to outbound audio tracks outboundVideoTracks | List of compound measurements related to outbound video tracks iceLocalCandidates | List of local ICE candidates iceRemoteCandidates | List of remote ICE candidates timeZoneOffsetInHours | The offset from GMT in hours marker | Special marker for the samples

CustomSfuEvent

Field | Description --- | --- name (Mandatory) | the name of the event used as identifier. (e.g.: CLIENT_REJOINED, etc..) value | the value of the event transportId | The unique identifier of the sfu transport the event is related to sfuStreamId | The identifier of the sfu stream the event is related to sfuSinkId | The identifier of the sfu sink the event is related to message | the human readable message of the event attachments | Additional attachment relevant for the event timestamp | The EPOCH timestamp the event is generated

SfuTransport

Field | Description --- | --- transportId (Mandatory) | The generated unique identifier of the transport noReport | Flag indicate to not generate report from this sample internal | Flag to indicate that the transport is used as an internal transport between SFU instances dtlsState | Represent the current value of the state attribute of the underlying RTCDtlsTransport. iceState | Represent the current value of the state attribute of the underlying RTCIceTransport sctpState | Represents the the current value of the SCTP state of the transport of the SFU iceRole | Represent the current value of the role SFU takes place in ICE localAddress | The local address of the ICE candidate selected for the transport (IPv4, IPv6, FQDN) localPort | The local port number protocol | The protocol used by the transport remoteAddress | The remote address of the ICE candidate selected for the transport (IPv4, IPv6, FQDN) remotePort | The remote port number rtpBytesReceived | The total amount of RTP bytes received on this transport rtpBytesSent | The total amount of RTP bytes sent on this transport rtpPacketsReceived | The total amount of RTP packets received on this transport rtpPacketsSent | The total amount of RTP packets sent on this transport rtpPacketsLost | The total amount of RTP packets lost on this transport rtxBytesReceived | The total amount of RTX bytes received on this transport rtxBytesSent | The total amount of RTX bytes sent on this transport rtxPacketsReceived | The total amount of RTX packets received on this transport rtxPacketsSent | The total amount of RTX packets sent on this transport rtxPacketsLost | The total amount of RTX packets lost on this transport rtxPacketsDiscarded | The total amount of RTX packets discarded on this transport sctpBytesReceived | The total amount of SCTP bytes received on this transport sctpBytesSent | The total amount of SCTP bytes sent on this transport sctpPacketsReceived | The total amount of SCTP packets received on this transport sctpPacketsSent | The total amount of SCTP packets sent on this transport

SfuInboundRtpPad

Field | Description --- | --- 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 noReport | Flag indicate to not generate report from this sample internal | Flag to indicate that the rtp pad is used as an internal communication between SFU instances mediaType | the type of the media the stream carries ("audio" or "video") (Possible values are: audio,video) payloadType | The payload type field of the RTP header mimeType | The negotiated mimeType in the SDP clockRate | The clock rate of the media source the RTP header carries sdpFmtpLine | The actual SDP line from the negotiation related to this RTP stream rid | The rid parameter of the corresponded RTP stream rtxSsrc | If RTX is negotiated as a separate stream, this is the SSRC of the RTX stream that is associated with this stream's ssrc. targetBitrate | he bitrate the corresponded stream targets. voiceActivityFlag | The RTP header V flag indicate of the activity of the media source by the media codec if the RTP transport ships it through firCount | The total number FIR packets sent from this endpoint to the source on the corresponded RTP stream. Only for Video streams pliCount | The total number of Picture Loss Indication sent on the corresponded RTP stream. Only for Video streams nackCount | The total number of negative acknowledgement received on the corresponded RTP stream. sliCount | The total number of SLI indicator sent from the endpoint on the corresponded RTP stream. Only for Audio stream packetsLost | The total number of packets lost on the corresponded RTP stream. packetsReceived | The total number of packets received on the corresponded RTP stream. packetsDiscarded | The total number of discarded packets on the corresponded RTP stream. packetsRepaired | The total number of packets repaired by either retransmission or FEC on the corresponded RTP stream. packetsFailedDecryption | The total number of packets failed to be decrypted on the corresponded RTP stream. packetsDuplicated | The total number of duplicated packets appeared on the corresponded RTP stream. fecPacketsReceived | The total number of FEC packets received on the corresponded RTP stream. fecPacketsDiscarded | The total number of FEC packets discarded on the corresponded RTP stream. bytesReceived | The total amount of payload bytes received on the corresponded RTP stream. rtcpSrReceived | The total number of SR reports received by the corresponded RTP stream rtcpRrSent | The total number of RR reports sent on the corresponded RTP stream rtxPacketsReceived | If rtx packets are sent or received on the same stream then this number indicates how may has been sent rtxPacketsDiscarded | If rtx packets are received on the same stream then this number indicates how may has been discarded framesReceived | The number of frames received on the corresponded RTP stream framesDecoded | Indicate the number of frames the Sfu has been decoded keyFramesDecoded | Indicate the number of keyframes the Sfu has been decoded fractionLost | The calculated fractionLost of the stream jitter | The calculated jitter of the stream roundTripTime | The calculated RTT of the stream

SfuOutboundRtpPad

Field | Description --- | --- 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 noReport | Flag indicate to not generate report from this sample internal | Flag to indicate that the rtp pad is used as an internal communication between SFU instances callId | The callId the event belongs to clientId | If the track id was provided by the Sfu, the observer can fill up the information of which client it belongs to trackId | The id of the track the RTP stream related to at the client side mediaType | the type of the media the stream carries ("audio" or "video") (Possible values are: audio,video) payloadType | The payload type field of the RTP header mimeType | The negotiated mimeType in the SDP clockRate | The clock rate of the media source the RTP header carries sdpFmtpLine | The actual SDP line from the negotiation related to this RTP stream rid | The rid parameter of the corresponded RTP stream rtxSsrc | If RTX is negotiated as a separate stream, this is the SSRC of the RTX stream that is associated with this stream's ssrc. targetBitrate | he bitrate the corresponded stream targets. voiceActivityFlag | The RTP header V flag indicate of the activity of the media source by the media codec if the RTP transport ships it through firCount | The total number FIR packets sent from this endpoint to the source on the corresponded RTP stream. Only for Video streams pliCount | The total number of Picture Loss Indication sent on the corresponded RTP stream. Only for Video streams nackCount | The total number of negative acknowledgement received on the corresponded RTP stream. sliCount | The total number of SLI indicator sent from the endpoint on the corresponded RTP stream. Only for Audio stream packetsLost | The total number of packets lost on the corresponded RTP stream. packetsSent | The total number of packets sent on the corresponded RTP stream. packetsDiscarded | The total number of discarded packets on the corresponded RTP stream. packetsRetransmitted | The total number of packets retransmitted on the corresponded RTP stream. packetsFailedEncryption | The total number of packets failed to be encrypted on the corresponded RTP stream. packetsDuplicated | The total number of duplicated packets appeared on the corresponded RTP stream. fecPacketsSent | The total number of FEC packets sent on the corresponded RTP stream. fecPacketsDiscarded | The total number of FEC packets discarded on the corresponded RTP stream. bytesSent | The total amount of payload bytes sent on the corresponded RTP stream. rtcpSrSent | The total number of SR reports sent by the corresponded RTP stream rtcpRrReceived | The total number of RR reports received on the corresponded RTP stream rtxPacketsSent | If rtx packets sent on the same stream then this number indicates how may has been sent rtxPacketsDiscarded | If rtx packets are received on the same stream then this number indicates how may has been discarded framesSent | The number of frames sent on the corresponded RTP stream framesEncoded | Indicate the number of frames the Sfu has been encoded keyFramesEncoded | Indicate the number of keyframes the Sfu has been encoded on the corresponded RTP stream fractionLost | The calculated fractionLost of the stream jitter | The calculated jitter of the stream roundTripTime | The calculated RTT of the stream

SfuSctpChannel

Field | Description --- | --- 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 noReport | Flag indicate to not generate report from this sample internal | Flag to indicate that the SCTP channel is used as an internally between SFU instances label | The label of the sctp stream protocol | The protocol used to establish an sctp stream sctpSmoothedRoundTripTime | The latest smoothed round-trip time value, corresponding to spinfo_srtt defined in [RFC6458] but converted to seconds. If there has been no round-trip time measurements yet, this value is undefined. sctpCongestionWindow | The latest congestion window, corresponding to spinfo_cwnd defined in [RFC6458]. sctpReceiverWindow | The latest receiver window, corresponding to sstat_rwnd defined in [RFC6458]. sctpMtu | The latest maximum transmission unit, corresponding to spinfo_mtu defined in [RFC6458]. sctpUnackData | The number of unacknowledged DATA chunks, corresponding to sstat_unackdata defined in [RFC6458]. messageReceived | The number of message received on the corresponded SCTP stream. messageSent | The number of message sent on the corresponded SCTP stream. bytesReceived | The number of bytes received on the corresponded SCTP stream. bytesSent | The number of bytes sent on the corresponded SCTP stream.

SfuExtensionStats

Field | Description --- | --- 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

Field | Description --- | --- sfuId (Mandatory) | Unique generated id for the sfu samples are originated from timestamp (Mandatory) | The timestamp the sample is created in GMT timeZoneOffsetInHours | The offset from GMT in hours marker | Special marker for the samples customSfuEvents | User provided custom call events transports | The Sfu Transports obtained measurements inboundRtpPads | The Sfu Inbound Rtp Pad obtained measurements outboundRtpPads | The Sfu Outbound Rtp Pad obtained measurements sctpChannels | The Sfu Outbound Rtp Pad obtained measurements extensionStats | The Sfu provided custom stats payload

TurnPeerAllocation

Field | Description --- | --- 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) peerAddress | The address of the address the serever connect to peerPort | The portnumber the server connects to sendingBitrate | the bitrate the TURN server sending to the peer receivingBitrate | the bitrate the TURN server receiving from the peer sentBytes | the amount of bytes sent to the peer receivedBytes | the amount of bytes received from the peer sentPackets | the amount of packets sent to the peer receivedPackets | the amount of packets received from the peer

TurnSession

Field | Description --- | --- sessionId (Mandatory) | Flag indicate to not generate report from this sample realm | The Authentication Realm (RFC 8656) username | The username of the used in authentication clientId | The id of the client the TURN session belongs to (ClientSample) started | The timestamp when the session has been started. Epoch in milliseconds, GMT nonceExpirationTime | For 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 serverAddress | The address of the server the client connected to serverPort | The portnumber the server listens the client requests transportProtocol | the transport protocol betwwen the client and the server (TCP, UDP, TCPTLS, UDPTLS, SCTP, SCTPTLS) clientAddress | The address of the client connected from clientPort | The portnumber the client requested from sendingBitrate | the bitrate the TURN server sending to the client receivingBitrate | the bitrate the TURN server receiving from the client sentBytes | the amount of bytes sent to the client receivedBytes | the amount of bytes received from the client sentPackets | the amount of packets sent to the client receivedPackets | the amount of packets received from the client## TurnSample

docs

Field | Description --- | --- serverId (Mandatory) | A unique id of the turn server allocations | Peer Alloocation data sessions | Session data## Samples

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

Field | Description --- | --- controls | Additional control flags indicate various operation has to be performed clientSamples | Samples taken from the client sfuSamples | Samples taken from an Sfu turnSamples | Samples 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