export const schema = {
  "type": "record",
  "name": "PeerConnectionTransportReport",
  "namespace": "org.observertc.schemas.reports",
  "doc": "A Report created for Client PeerConnection Transport.",
  "fields": [
    {
      "name": "serviceId",
      "doc": "The unique identifier of the service",
      "type": "string"
    },
    {
      "name": "mediaUnitId",
      "doc": "The media unit id the report belongs to",
      "type": "string"
    },
    {
      "name": "marker",
      "doc": "The marker the originated sample is reported with",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "timestamp",
      "doc": "The timestamp when the corresponded data is generated for the report (UTC Epoch in ms)",
      "type": "long"
    },
    {
      "name": "callId",
      "doc": "The generated unique identifier of the call",
      "type": "string"
    },
    {
      "name": "roomId",
      "doc": "webrtc app provided room id",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "clientId",
      "doc": "The generated unique identifier of the client",
      "type": "string"
    },
    {
      "name": "userId",
      "doc": "webrtc app provided user identifier",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "peerConnectionId",
      "doc": "The unique identifier of the peer connection",
      "type": "string"
    },
    {
      "name": "label",
      "doc": "The webrtc app provided label the peer connection is marked with",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "sampleSeq",
      "doc": "The sequence number of the sample the report is generated from",
      "type": "int"
    },
    {
      "name": "packetsSent",
      "doc": "Represents the total number of packets sent on the corresponded transport",
      "type": [
        "null",
        "int"
      ],
      "default": null
    },
    {
      "name": "packetsReceived",
      "doc": "Represents the total number of packets received on the corresponded transport",
      "type": [
        "null",
        "int"
      ],
      "default": null
    },
    {
      "name": "bytesSent",
      "doc": "Represents the total amount of bytes sent on the corresponded transport",
      "type": [
        "null",
        "long"
      ],
      "default": null
    },
    {
      "name": "bytesReceived",
      "doc": "Represents the total amount of bytes received on the corresponded transport",
      "type": [
        "null",
        "long"
      ],
      "default": null
    },
    {
      "name": "iceRole",
      "doc": "Represent the current role of ICE under DTLS Transport",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "iceLocalUsernameFragment",
      "doc": "Represent the current local username fragment used in message validation procedures for ICE under DTLS Transport",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "dtlsState",
      "doc": "Represents the current state of DTLS for the peer connection transport layer",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "selectedCandidatePairId",
      "doc": "The identifier of the candidate pair the transport currently uses",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "iceState",
      "doc": "Represents the current transport state (RTCIceTransportState) of ICE for the peer connection transport layer",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "localCertificateId",
      "doc": "If DTLS negotiated it gives the id of the local certificate",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "remoteCertificateId",
      "doc": "If DTLS negotiated it gives the id of the remote certificate",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "tlsVersion",
      "doc": "Represents the version number of the TLS used in the corresponded transport",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "dtlsCipher",
      "doc": "Represents the name of the DTLS cipher used in the corresponded transport",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "srtpCipher",
      "doc": "Represents the name of the SRTP cipher used in the corresponded transport",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "tlsGroup",
      "doc": "Represents the name of the IANA TLS Supported Groups used in the corresponded transport",
      "type": [
        "null",
        "string"
      ],
      "default": null
    },
    {
      "name": "selectedCandidatePairChanges",
      "doc": "The total number of candidate pair changes over the peer connection",
      "type": [
        "null",
        "int"
      ],
      "default": null
    }
  ]
}