openapi: 3.0.0
info:
  title: 5GMS Data Reporting data types
  version: 1.0.1
  description: |
    5GMS Data Reporting data types
    © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
tags:
  - name: 5GMS Data Reporting data types
    description: '5G Media Streaming: Data Reporting data types'

externalDocs:
  description: 'TS 26.512 V17.4.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'

paths: {}

components:
  schemas:
   MediaStreamingAccessRecord:
       allOf:
        - $ref: 'TS26532_Ndcaf_DataReporting.yaml#/components/schemas/BaseRecord'
        - type: object
          required:
            - mediaStreamHandlerEndpointAddress
            - applicationServerEndpointAddress
            - requestMessage
            - responseMessage
            - processingLatency
          properties:
            mediaStreamHandlerEndpointAddress:
              $ref: 'TS26512_CommonData.yaml#/components/schemas/EndpointAddress'
            applicationServerEndpointAddress:
              $ref: 'TS26512_CommonData.yaml#/components/schemas/EndpointAddress'
            sessionIdentifier:
              type: string
            requestMessage:
              type: object
              required:
                - method
                - url
                - protocolVersion
                - size
                - bodySize
              properties:
                method:
                  type: string
                url:
                  $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl'
                protocolVersion:
                  type: string
                range:
                  type: string
                size:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
                bodySize:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
                contentType:
                  type: string
                userAgent:
                  type: string
                userIdentity:
                  type: string
                referer:
                  $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl'
            cacheStatus:
              $ref: 'TS26512_CommonData.yaml#/components/schemas/CacheStatus'
            responseMessage:
              type: object
              required:
                - responseCode
                - size
                - bodySize
              properties:
                responseCode:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
                size:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
                bodySize:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
                contentType:
                  type: string
            processingLatency:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
            connectionMetrics:
              type: object
              required:
                - meanNetworkRoundTripTime
                - networkRoundTripTimeVariation
                - congestionWindowSize
              properties:
                meanNetworkRoundTripTime:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
                networkRoundTripTimeVariation:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
                congestionWindowSize:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
