{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-graph/json-schema/microsoft-graph-microsoft-graph-call-records-segment-schema.json",
  "title": "microsoft.graph.callRecords.segment",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/microsoft-graph-communications-callrecord-api-openapi.yml#/components/schemas/microsoft.graph.callRecords.segment",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "segment",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "callee": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.endpoint"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Endpoint that answered this segment."
        },
        "caller": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.endpoint"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Endpoint that initiated this segment."
        },
        "endDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": "string",
          "description": "UTC time when the segment ended. The DateTimeOffset type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
          "format": "date-time"
        },
        "failureInfo": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.failureInfo"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Failure information associated with the segment if it failed."
        },
        "media": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.callRecords.media"
          },
          "description": "Media associated with this segment."
        },
        "startDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": "string",
          "description": "UTC time when the segment started. The DateTimeOffset type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z",
          "format": "date-time"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    }
  ],
  "x-ms-discriminator-value": "#microsoft.graph.callRecords.segment",
  "$defs": {
    "ReferenceNumeric": {
      "enum": [
        "-INF",
        "INF",
        "NaN"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "microsoft.graph.callRecords.audioCodec": {
      "title": "audioCodec",
      "enum": [
        "unknown",
        "invalid",
        "cn",
        "pcma",
        "pcmu",
        "amrWide",
        "g722",
        "g7221",
        "g7221c",
        "g729",
        "multiChannelAudio",
        "muchv2",
        "opus",
        "satin",
        "satinFullband",
        "rtAudio8",
        "rtAudio16",
        "silk",
        "silkNarrow",
        "silkWide",
        "siren",
        "xmsRta",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.callRecords.deviceInfo": {
      "title": "deviceInfo",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "captureDeviceDriver": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the capture device driver used by the media endpoint."
        },
        "captureDeviceName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the capture device used by the media endpoint."
        },
        "captureNotFunctioningEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected the capture device was not working properly."
        },
        "cpuInsufficentEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected the CPU resources available were insufficient and caused poor quality of the audio sent and received."
        },
        "deviceClippingEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected clipping in the captured audio that caused poor quality of the audio being sent."
        },
        "deviceGlitchEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected glitches or gaps in the audio played or captured that caused poor quality of the audio being sent or received."
        },
        "howlingEventCount": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Number of times during the call that the media endpoint detected howling or screeching audio.",
          "format": "int32"
        },
        "initialSignalLevelRootMeanSquare": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "The root mean square (RMS) of the incoming signal of up to the first 30 seconds of the call."
        },
        "lowSpeechLevelEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected low speech level that caused poor quality of the audio being sent."
        },
        "lowSpeechToNoiseEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected low speech to noise level that caused poor quality of the audio being sent."
        },
        "micGlitchRate": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Glitches per 5 minute interval for the media endpoint's microphone."
        },
        "receivedNoiseLevel": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Average energy level of received audio for audio classified as mono noise or left channel of stereo noise by the media endpoint.",
          "format": "int32"
        },
        "receivedSignalLevel": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Average energy level of received audio for audio classified as mono speech, or left channel of stereo speech by the media endpoint.",
          "format": "int32"
        },
        "renderDeviceDriver": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the render device driver used by the media endpoint."
        },
        "renderDeviceName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the render device used by the media endpoint."
        },
        "renderMuteEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that media endpoint detected device render is muted."
        },
        "renderNotFunctioningEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected the render device was not working properly."
        },
        "renderZeroVolumeEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that media endpoint detected device render volume is set to 0."
        },
        "sentNoiseLevel": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Average energy level of sent audio for audio classified as mono noise or left channel of stereo noise by the media endpoint.",
          "format": "int32"
        },
        "sentSignalLevel": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Average energy level of sent audio for audio classified as mono speech, or left channel of stereo speech by the media endpoint.",
          "format": "int32"
        },
        "speakerGlitchRate": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Glitches per 5 minute internal for the media endpoint's loudspeaker."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.callRecords.endpoint": {
      "title": "endpoint",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "userAgent": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.userAgent"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "User-agent reported by this endpoint."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.callRecords.failureInfo": {
      "title": "failureInfo",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "reason": {
          "type": [
            "string",
            "null"
          ],
          "description": "Classification of why a call or portion of a call failed."
        },
        "stage": {
          "$ref": "#/$defs/microsoft.graph.callRecords.failureStage"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.callRecords.failureStage": {
      "title": "failureStage",
      "enum": [
        "unknown",
        "callSetup",
        "midcall",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.callRecords.media": {
      "title": "media",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "calleeDevice": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.deviceInfo"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Device information associated with the callee endpoint of this media."
        },
        "calleeNetwork": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.networkInfo"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Network information associated with the callee endpoint of this media."
        },
        "callerDevice": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.deviceInfo"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Device information associated with the caller endpoint of this media."
        },
        "callerNetwork": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.networkInfo"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Network information associated with the caller endpoint of this media."
        },
        "label": {
          "type": [
            "string",
            "null"
          ],
          "description": "How the media was identified during media negotiation stage."
        },
        "streams": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.callRecords.mediaStream"
          },
          "description": "Network streams associated with this media."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.callRecords.mediaStream": {
      "title": "mediaStream",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "audioCodec": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.audioCodec"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Codec name used to encode audio for transmission on the network. The possible values are: unknown, invalid, cn, pcma, pcmu, amrWide, g722, g7221, g7221c, g729, multiChannelAudio, muchv2, opus, satin, satinFullband, rtAudio8, rtAudio16, silk, silkNarrow, silkWide, siren, xmsRta, unknownFutureValue."
        },
        "averageAudioDegradation": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Average Network Mean Opinion Score degradation for stream. Represents how much the network loss and jitter has impacted the quality of received audio."
        },
        "averageAudioNetworkJitter": {
          "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
          "type": [
            "string",
            "null"
          ],
          "description": "Average jitter for the stream computed as specified in RFC 3550, denoted in ISO 8601 format. For example, 1 second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is the second designator.",
          "format": "duration"
        },
        "averageBandwidthEstimate": {
          "type": [
            "number",
            "null"
          ],
          "description": "Average estimated bandwidth available between two endpoints in bits per second.",
          "format": "int64"
        },
        "averageFreezeDuration": {
          "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
          "type": [
            "string",
            "null"
          ],
          "description": "Average duration of the received freezing time in the video stream.",
          "format": "duration"
        },
        "averageJitter": {
          "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
          "type": [
            "string",
            "null"
          ],
          "description": "Average jitter for the stream computed as specified in RFC 3550, denoted in ISO 8601 format. For example, 1 second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is the second designator.",
          "format": "duration"
        },
        "averagePacketLossRate": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Average packet loss rate for stream."
        },
        "averageRatioOfConcealedSamples": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Ratio of the number of audio frames with samples generated by packet loss concealment to the total number of audio frames."
        },
        "averageReceivedFrameRate": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Average frames per second received for all video streams computed over the duration of the session."
        },
        "averageRoundTripTime": {
          "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
          "type": [
            "string",
            "null"
          ],
          "description": "Average network propagation round-trip time computed as specified in RFC 3550, denoted in ISO 8601 format. For example, 1 second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is the second designator.",
          "format": "duration"
        },
        "averageVideoFrameLossPercentage": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Average percentage of video frames lost as displayed to the user."
        },
        "averageVideoFrameRate": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Average frames per second received for a video stream, computed over the duration of the session."
        },
        "averageVideoPacketLossRate": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Average fraction of packets lost, as specified in RFC 3550, computed over the duration of the session."
        },
        "endDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "UTC time when the stream ended. The DateTimeOffset type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. This field is only available for streams that use the SIP protocol.",
          "format": "date-time"
        },
        "isAudioForwardErrorCorrectionUsed": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Indicates whether the forward error correction (FEC) was used at some point during the session. The default value is null."
        },
        "lowFrameRateRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call where frame rate is less than 7.5 frames per second."
        },
        "lowVideoProcessingCapabilityRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the client is running less than 70% expected video processing capability."
        },
        "maxAudioNetworkJitter": {
          "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
          "type": [
            "string",
            "null"
          ],
          "description": "Maximum of audio network jitter computed over each of the 20 second windows during the session, denoted in ISO 8601 format. For example, 1 second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is the second designator.",
          "format": "duration"
        },
        "maxJitter": {
          "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
          "type": [
            "string",
            "null"
          ],
          "description": "Maximum jitter for the stream computed as specified in RFC 3550, denoted in ISO 8601 format. For example, 1 second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is the second designator.",
          "format": "duration"
        },
        "maxPacketLossRate": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Maximum packet loss rate for the stream."
        },
        "maxRatioOfConcealedSamples": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Maximum ratio of packets concealed by the healer."
        },
        "maxRoundTripTime": {
          "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
          "type": [
            "string",
            "null"
          ],
          "description": "Maximum network propagation round-trip time computed as specified in RFC 3550, denoted in ISO 8601 format. For example, 1 second is denoted as 'PT1S', where 'P' is the duration designator, 'T' is the time designator, and 'S' is the second designator.",
          "format": "duration"
        },
        "packetUtilization": {
          "type": [
            "number",
            "null"
          ],
          "description": "Packet count for the stream.",
          "format": "int64"
        },
        "postForwardErrorCorrectionPacketLossRate": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Packet loss rate after FEC has been applied aggregated across all video streams and codecs."
        },
        "rmsFreezeDuration": {
          "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
          "type": [
            "string",
            "null"
          ],
          "description": "Average duration of the received freezing time in the video stream represented in root mean square.",
          "format": "duration"
        },
        "startDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "UTC time when the stream started. The DateTimeOffset type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. This field is only available for streams that use the SIP protocol.",
          "format": "date-time"
        },
        "streamDirection": {
          "$ref": "#/$defs/microsoft.graph.callRecords.mediaStreamDirection"
        },
        "streamId": {
          "type": [
            "string",
            "null"
          ],
          "description": "Unique identifier for the stream."
        },
        "videoCodec": {
          "anyOf": [
            {
              "$ref": "#/$defs/microsoft.graph.callRecords.videoCodec"
            },
            {
              "type": [
                "object",
                "null"
              ]
            }
          ],
          "description": "Codec name used to encode video for transmission on the network. The possible values are: unknown, invalid, av1, h263, h264, h264s, h264uc, h265, rtvc1, rtVideo, xrtvc1, unknownFutureValue."
        },
        "wasMediaBypassed": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "True if the media stream bypassed the Mediation Server and went straight between client and PSTN Gateway/PBX, false otherwise."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.callRecords.mediaStreamDirection": {
      "title": "mediaStreamDirection",
      "enum": [
        "callerToCallee",
        "calleeToCaller"
      ],
      "type": "string"
    },
    "microsoft.graph.callRecords.networkConnectionType": {
      "title": "networkConnectionType",
      "enum": [
        "unknown",
        "wired",
        "wifi",
        "mobile",
        "tunnel",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.callRecords.networkInfo": {
      "title": "networkInfo",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "bandwidthLowEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected the available bandwidth or bandwidth policy was low enough to cause poor quality of the audio sent."
        },
        "basicServiceSetIdentifier": {
          "type": [
            "string",
            "null"
          ],
          "description": "The wireless LAN basic service set identifier of the media endpoint used to connect to the network. This property isn't available if the user disables precise location sharing in their operating system or Microsoft Teams app settings."
        },
        "connectionType": {
          "$ref": "#/$defs/microsoft.graph.callRecords.networkConnectionType"
        },
        "delayEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected the network delay was significant enough to impact the ability to have real-time two-way communication."
        },
        "dnsSuffix": {
          "type": [
            "string",
            "null"
          ],
          "description": "DNS suffix associated with the network adapter of the media endpoint."
        },
        "ipAddress": {
          "type": [
            "string",
            "null"
          ],
          "description": "IP address of the media endpoint."
        },
        "linkSpeed": {
          "type": [
            "number",
            "null"
          ],
          "description": "Link speed in bits per second reported by the network adapter used by the media endpoint.",
          "format": "int64"
        },
        "macAddress": {
          "type": [
            "string",
            "null"
          ],
          "description": "The media access control (MAC) address of the media endpoint's network device. This value may be missing or shown as 02:00:00:00:00:00 due to operating system privacy policies."
        },
        "networkTransportProtocol": {
          "$ref": "#/$defs/microsoft.graph.callRecords.networkTransportProtocol"
        },
        "port": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Network port number used by media endpoint.",
          "format": "int32"
        },
        "receivedQualityEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected the network was causing poor quality of the audio received."
        },
        "reflexiveIPAddress": {
          "type": [
            "string",
            "null"
          ],
          "description": "IP address of the media endpoint as seen by the media relay server. This is typically the public internet IP address associated to the endpoint."
        },
        "relayIPAddress": {
          "type": [
            "string",
            "null"
          ],
          "description": "IP address of the media relay server allocated by the media endpoint."
        },
        "relayPort": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Network port number allocated on the media relay server by the media endpoint.",
          "format": "int32"
        },
        "sentQualityEventRatio": {
          "oneOf": [
            {
              "type": [
                "number",
                "null"
              ],
              "format": "float"
            },
            {
              "type": [
                "string",
                "null"
              ]
            },
            {
              "$ref": "#/$defs/ReferenceNumeric"
            }
          ],
          "description": "Fraction of the call that the media endpoint detected the network was causing poor quality of the audio sent."
        },
        "subnet": {
          "type": [
            "string",
            "null"
          ],
          "description": "Subnet used for media stream by the media endpoint."
        },
        "traceRouteHops": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.callRecords.traceRouteHop"
          },
          "description": "List of network trace route hops collected for this media stream.*"
        },
        "wifiBand": {
          "$ref": "#/$defs/microsoft.graph.callRecords.wifiBand"
        },
        "wifiBatteryCharge": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "Estimated remaining battery charge in percentage reported by the media endpoint.",
          "format": "int32"
        },
        "wifiChannel": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "WiFi channel used by the media endpoint.",
          "format": "int32"
        },
        "wifiMicrosoftDriver": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the Microsoft WiFi driver used by the media endpoint. Value may be localized based on the language used by endpoint."
        },
        "wifiMicrosoftDriverVersion": {
          "type": [
            "string",
            "null"
          ],
          "description": "Version of the Microsoft WiFi driver used by the media endpoint."
        },
        "wifiRadioType": {
          "$ref": "#/$defs/microsoft.graph.callRecords.wifiRadioType"
        },
        "wifiSignalStrength": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "WiFi signal strength in percentage reported by the media endpoint.",
          "format": "int32"
        },
        "wifiVendorDriver": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the WiFi driver used by the media endpoint. Value may be localized based on the language used by endpoint."
        },
        "wifiVendorDriverVersion": {
          "type": [
            "string",
            "null"
          ],
          "description": "Version of the WiFi driver used by the media endpoint."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.callRecords.networkTransportProtocol": {
      "title": "networkTransportProtocol",
      "enum": [
        "unknown",
        "udp",
        "tcp",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.callRecords.traceRouteHop": {
      "title": "traceRouteHop",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "hopCount": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "The network path count of this hop that was used to compute the RTT.",
          "format": "int32"
        },
        "ipAddress": {
          "type": [
            "string",
            "null"
          ],
          "description": "IP address used for this hop in the network trace."
        },
        "roundTripTime": {
          "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
          "type": [
            "string",
            "null"
          ],
          "description": "The time from when the trace route packet was sent from the client to this hop and back to the client, denoted in ISO 8601 format. For example, 1 second is denoted as PT1S, where P is the duration designator, T is the time designator, and S is the second designator.",
          "format": "duration"
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.callRecords.userAgent": {
      "title": "userAgent",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "applicationVersion": {
          "type": [
            "string",
            "null"
          ],
          "description": "Identifies the version of application software used by this endpoint."
        },
        "headerValue": {
          "type": [
            "string",
            "null"
          ],
          "description": "User-agent header value reported by this endpoint."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    },
    "microsoft.graph.callRecords.videoCodec": {
      "title": "videoCodec",
      "enum": [
        "unknown",
        "invalid",
        "av1",
        "h263",
        "h264",
        "h264s",
        "h264uc",
        "h265",
        "rtvc1",
        "rtVideo",
        "xrtvc1",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.callRecords.wifiBand": {
      "title": "wifiBand",
      "enum": [
        "unknown",
        "frequency24GHz",
        "frequency50GHz",
        "frequency60GHz",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.callRecords.wifiRadioType": {
      "title": "wifiRadioType",
      "enum": [
        "unknown",
        "wifi80211a",
        "wifi80211b",
        "wifi80211g",
        "wifi80211n",
        "wifi80211ac",
        "wifi80211ax",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.entity": {
      "title": "entity",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        },
        "@odata.type": {
          "type": "string"
        }
      }
    }
  }
}