Commit 5d69277c authored by bradburyr's avatar bradburyr
Browse files

Proposed refactoring of QoS-related data types.

parent 80dd572c
Loading
Loading
Loading
Loading
+63 −38
Original line number Diff line number Diff line
@@ -22,6 +22,21 @@ components:
    #################################
    # Clause 6.4.2: Simple data types
    #################################
    Uint6:
      type: integer
      minimum: 0
      maximum: 32
      description: Integer where the allowed values correspond to the value range of an unsigned 8-bit integer.
    Uint8:
      type: integer
      minimum: 0
      maximum: 256
      description: Integer where the allowed values correspond to the value range of an unsigned 8-bit integer.
    Uint20:
      type: integer
      minimum: 0
      maximum: 1048575
      description: Integer where the allowed values correspond to the value range of an unsigned 20-bit integer.
    ResourceId:
      type: string
      description: String chosen by the 5GMS AF to serve as an identifier in a resource URI.
@@ -60,22 +75,22 @@ components:
      required:
        - direction
      properties:
        srcIp:
        sourceIp:
          type: string
        dstIp:
        destinationIp:
          type: string
        protocol:
          type: integer
        srcPort:
          type: integer
        dstPort:
          type: integer
        toSTc:
        protocolNumber:
          $ref: '#/components/schemas/Uint8'
        sourcePort:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16'
        destinationPort:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16'
        toSTrafficClass:
          type: string
        flowLabel:
          type: integer
        spi:
          type: integer
          type: '#/components/schemas/Uint20'
        securityParametersIndex:
          $ref: '#/components/schemas/Uint32'
        direction:
          type: string

@@ -94,29 +109,18 @@ components:
        domainName:
          type: string

    M5QoSSpecification:
    M1UnidirectionalQoSSpecification:
      type: object
      required:
        - marBwDlBitRate
        - marBwUlBitRate
        - mirBwDlBitRate
        - mirBwUlBitRate
        - maximumBitRate
      properties:
        marBwDlBitRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        marBwUlBitRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        minDesBwDlBitRate:
        maximumBitRate:
          readOnly: true
          allOf:
            - $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        maximumAuthorisedBitRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        minDesBwUlBitRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        mirBwDlBitRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        mirBwUlBitRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        desLatency:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        desLoss:
        defaultPacketLossRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'

    M1QoSSpecification:
@@ -124,17 +128,38 @@ components:
      properties:
        qosReference:
          type: string
        maxBtrUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        maxBtrDl:
        downlink:
          $ref: '#/components/schemas/M1UnidirectionalQoSSpecification'
        uplink:
          $ref: '#/components/schemas/M1UnidirectionalQoSSpecification'

    M5BitRateSpecification:
      type: object
      required:
        - maximumRequestedBitRate
        - minimumDesiredBitRate
        - minimumRequestedBitRate
      properties:
        maximumRequestedBitRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        maxAuthBtrUl:
        minimumDesiredBitRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        maxAuthBtrDl:
        minimumRequestedBitRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        defPacketLossRateDl:

    M5QoSSpecification:
      type: object
      required:
        - downlinkBitRates
        - uplinkBitRates
      properties:
        downlinkBitRates:
          $ref: '#/components/schemas/M5BitRateSpecification'
        uplinkBitRates:
          $ref: '#/components/schemas/M5BitRateSpecification'
        desiredPacketLatency:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        defPacketLossRateUl:
        desiredPacketLossRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'

    ChargingSpecification: