openapi: 3.0.0
info:
  title: Nchf_ConvergedCharging
  version: 3.3.0-alpha.4
  description: |
    ConvergedCharging Service    © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: >
    3GPP TS 32.291 V19.4.0: Telecommunication management; Charging management; 
    5G system, charging service; Stage 3.
  url: 'http://www.3gpp.org/ftp/Specs/archive/32_series/32.291/'
servers:
  - url: '{apiRoot}/nchf-convergedcharging/v3'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501.
security:
  - {}
  - oAuth2ClientCredentials:
    - nchf-convergedcharging
paths:
  /chargingdata:
    post:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargingDataRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChargingDataResponse'
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          description: Bad request
          content:
            application/problem+json:
              schema:
                oneOf:
                  - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/ChargingDataResponse'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                oneOf:
                  - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/ChargingDataResponse'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                oneOf:
                  - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/ChargingDataResponse'
        '405':
          $ref: 'TS29571_CommonData.yaml#/components/responses/405'
        '408':
          $ref: 'TS29571_CommonData.yaml#/components/responses/408'
        '410':
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
      callbacks:
        chargingNotification:
          '{$request.body#/notifyUri}':
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ChargingNotifyRequest'
              responses:
                '200':
                  description: OK.
                  content:
                    application/ json:
                      schema:
                        $ref: '#/components/schemas/ChargingNotifyResponse'
                '204':
                  description: 'No Content, Notification was succesfull'
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  description: Bad request
                  content:
                    application/problem+json:
                      schema:
                        oneOf:
                          - $ref: TS29571_CommonData.yaml#/components/schemas/ProblemDetails
                          - $ref: '#/components/schemas/ChargingNotifyResponse'
                '401':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/401'
                '403':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/500'
                '502':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/502'
                '503':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/503'
                '504':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/504'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'
  '/chargingdata/{ChargingDataRef}/update':
    post:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargingDataRequest'
      parameters:
        - name: ChargingDataRef
          in: path
          description: a unique identifier for a charging data resource in a PLMN
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK. Updated Charging Data resource is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChargingDataResponse'
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          description: Bad request
          content:
            application/problem+json:
              schema:
                oneOf:
                  - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/ChargingDataResponse'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                oneOf:
                  - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/ChargingDataResponse'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                oneOf:
                  - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/ChargingDataResponse'
        '405':
          $ref: 'TS29571_CommonData.yaml#/components/responses/405'
        '408':
          $ref: 'TS29571_CommonData.yaml#/components/responses/408'
        '410':
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
  '/chargingdata/{ChargingDataRef}/release':
    post:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargingDataRequest'
      parameters:
        - name: ChargingDataRef
          in: path
          description: a unique identifier for a charging data resource in a PLMN
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No Content.
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29571_CommonData.yaml#/components/responses/403'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                oneOf:
                  - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  - $ref: '#/components/schemas/ChargingDataResponse'
        '410':
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '411':
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '502':
          $ref: 'TS29571_CommonData.yaml#/components/responses/502'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        '504':
          $ref: 'TS29571_CommonData.yaml#/components/responses/504'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            nchf-convergedcharging: Access to the Nchf_ConvergedCharging API
  schemas:
    ChargingDataRequest:
      type: object
      properties:
        subscriberIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        tenantIdentifier:
          type: string
        chargingId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId'
        mnSConsumerIdentifier:
          type: string
        nfConsumerIdentification:
          $ref: '#/components/schemas/NFIdentification'
        invocationTimeStamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        invocationSequenceNumber:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        retransmissionIndicator:
          type: boolean
        oneTimeEvent:
          type: boolean
        oneTimeEventType:
          $ref: '#/components/schemas/oneTimeEventType'
        notifyUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        serviceSpecificationInfo:
          type: string
        multipleUnitUsage:
          type: array
          items:
            $ref: '#/components/schemas/MultipleUnitUsage'
          minItems: 0
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/Trigger'
          minItems: 0
        easid:
          type: string
        ednid:
          type: string
        eASProviderIdentifier:
          type: string
        aMFId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfId'
        pDUSessionChargingInformation:
          $ref: '#/components/schemas/PDUSessionChargingInformation'
        roamingQBCInformation:
          $ref: '#/components/schemas/RoamingQBCInformation'
        sMSChargingInformation:
          $ref: '#/components/schemas/SMSChargingInformation'
        nEFChargingInformation:
          $ref: '#/components/schemas/NEFChargingInformation'
        registrationChargingInformation:
          $ref: '#/components/schemas/RegistrationChargingInformation'
        n2ConnectionChargingInformation:
          $ref: '#/components/schemas/N2ConnectionChargingInformation'
        locationReportingChargingInformation:
          $ref: '#/components/schemas/LocationReportingChargingInformation'
        nSPAChargingInformation:
          $ref: '#/components/schemas/NSPAChargingInformation'
        networkSharingChargingInformation:
          $ref: '#/components/schemas/NetworkSharingChargingInformation'        
        nSMChargingInformation:
          $ref: '#/components/schemas/NSMChargingInformation'
        mMTelChargingInformation:
          $ref: '#/components/schemas/MMTelChargingInformation'
        iMSChargingInformation:
          $ref: '#/components/schemas/IMSChargingInformation'
        edgeInfrastructureUsageChargingInformation:
          $ref: '#/components/schemas/EdgeInfrastructureUsageChargingInformation'
        eASDeploymentChargingInformation:
          $ref: '#/components/schemas/EASDeploymentChargingInformation'
        directEdgeEnablingServiceChargingInformation:
          $ref: '#/components/schemas/NEFChargingInformation'
        exposedEdgeEnablingServiceChargingInformation:
          $ref: '#/components/schemas/NEFChargingInformation'
        proSeChargingInformation:
          $ref: '#/components/schemas/ProseChargingInformation'
        mMSChargingInformation:
          $ref: '#/components/schemas/MMSChargingInformation'
        mBSSessionChargingInformation:
          $ref: '#/components/schemas/MBSSessionChargingInformation'
        tSNChargingInformation:
          $ref: '#/components/schemas/TSNChargingInformation'
        interCHFInformation:
          $ref: '#/components/schemas/InterCHFInformation'
        nSACFChargingInformation:
          $ref: '#/components/schemas/NSACFChargingInformation'
        nSSAAChargingInformation:
          $ref: '#/components/schemas/NSSAAChargingInformation'
        rangingSLChargingInformation:
          $ref: '#/components/schemas/RangingSLChargingInformation'
        lCSInformation:
          $ref: '#/components/schemas/LCSInformation'
      required:
        - nfConsumerIdentification 
        - invocationTimeStamp
        - invocationSequenceNumber
    ChargingDataResponse:
      type: object
      properties:
        invocationTimeStamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        invocationSequenceNumber:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        invocationResult:
          $ref: '#/components/schemas/InvocationResult'
        sessionFailover:
          $ref: '#/components/schemas/SessionFailover'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        multipleUnitInformation:
          type: array
          items:
            $ref: '#/components/schemas/MultipleUnitInformation'
          minItems: 0
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/Trigger'
          minItems: 0
        pDUSessionChargingInformation:
          $ref: '#/components/schemas/PDUSessionChargingInformation'
        roamingQBCInformation:
          $ref: '#/components/schemas/RoamingQBCInformation'
        locationReportingChargingInformation:
          $ref: '#/components/schemas/LocationReportingChargingInformation'
        mBSSessionChargingInformation:
          $ref: '#/components/schemas/MBSSessionChargingInformation'
        interCHFInformation:
          $ref: '#/components/schemas/InterCHFInformation'
      required:
        - invocationTimeStamp
        - invocationSequenceNumber
    ChargingNotifyRequest:
      type: object
      properties:
        notificationType:
          $ref: '#/components/schemas/NotificationType'
        reauthorizationDetails:
          type: array
          items:
            $ref: '#/components/schemas/ReauthorizationDetails'
          minItems: 0
      required:
        - notificationType
    ChargingNotifyResponse:
      type: object
      properties:
        invocationResult:
          $ref: '#/components/schemas/InvocationResult'
    NFIdentification:
      type: object
      properties:
        nFName:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        nFIPv4Address:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        nFIPv6Address:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
        nFPLMNID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        nodeFunctionality:
          $ref: '#/components/schemas/NodeFunctionality'
        nFFqdn:
          type: string
      required:
        - nodeFunctionality
    MultipleUnitUsage:
      type: object
      properties:
        ratingGroup:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup'
        requestedUnit:
          $ref: '#/components/schemas/RequestedUnit'
        allocateUnit:
          $ref: '#/components/schemas/AllocateUnit'
        usedUnitContainer:
          type: array
          items:
            $ref: '#/components/schemas/UsedUnitContainer'
          minItems: 0
        allocatedUnit:
          $ref: '#/components/schemas/AllocatedUnit'
        uPFID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        multihomedPDUAddress:
          $ref: '#/components/schemas/PDUAddress'
        mBUPFID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
      required:
        - ratingGroup
    InvocationResult:
      type: object
      properties:
        error:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        failureHandling:
          $ref: '#/components/schemas/FailureHandling'
    Trigger:
      type: object
      properties:
        triggerType:
          $ref: '#/components/schemas/TriggerType'
        triggerCategory:
          $ref: '#/components/schemas/TriggerCategory'
        timeLimit:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        volumeLimit:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        volumeLimit64:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        eventLimit:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        maxNumberOfccc:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        tariffTimeChange:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
      required:
        - triggerCategory
    MultipleUnitInformation:
      type: object
      properties:
        resultCode:
          $ref: '#/components/schemas/ResultCode'
        ratingGroup:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup'
        grantedUnit:
          $ref: '#/components/schemas/GrantedUnit'
        allocatedUnit:
          $ref: '#/components/schemas/AllocatedUnit'
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/Trigger'
          minItems: 0
        validityTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        quotaHoldingTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        finalUnitIndication:
          $ref: '#/components/schemas/FinalUnitIndication'
        timeQuotaThreshold:
          type: integer
        volumeQuotaThreshold:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        unitQuotaThreshold:
          type: integer
        uPFID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        announcementInformation:
          $ref: '#/components/schemas/AnnouncementInformation'
        mBUPFID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
      required:
        - ratingGroup
    RequestedUnit:
      type: object
      properties:
        time:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        totalVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        uplinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        downlinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        serviceSpecificUnits:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
    UsedUnitContainer:
      type: object
      properties:
        serviceId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId'
        quotaManagementIndicator:
          $ref: '#/components/schemas/QuotaManagementIndicator'
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/Trigger'
          minItems: 0
        triggerTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        time:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        totalVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        uplinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        downlinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        serviceSpecificUnits:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        eventTimeStamps:
          
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
          minItems: 0
        localSequenceNumber:
          type: integer
        pDUContainerInformation:
          $ref: '#/components/schemas/PDUContainerInformation'
        nSPAContainerInformation:
          $ref: '#/components/schemas/NSPAContainerInformation'
        networkSharingContainerInformation:
          $ref: '#/components/schemas/NetworkSharingContainerInformation'
        pC5ContainerInformation:
          $ref: '#/components/schemas/PC5ContainerInformation'
        mBSContainerInformation:
          $ref: '#/components/schemas/MBSContainerInformation'
      required:
        - localSequenceNumber
    AllocateUnit:
      type: object
      properties:
        allocateUnitIndicator:
          $ref: '#/components/schemas/AllocateUnitIndicator'
        nSACContainerInformation:
          $ref: '#/components/schemas/NSACContainerInformation'
    AllocatedUnit:
      type: object
      properties:
        quotaManagementIndicator:
          $ref: '#/components/schemas/QuotaManagementIndicator'
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/Trigger'
          minItems: 0
        triggerTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        localSequenceNumber:
          type: integer
        nSACContainerInformation:
          $ref: '#/components/schemas/NSACContainerInformation'
      required:
        - localSequenceNumber
    GrantedUnit:
      type: object
      properties:
        tariffTimeChange:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        time:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        totalVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        uplinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        downlinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        serviceSpecificUnits:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
    FinalUnitIndication:
      type: object
      properties:
        finalUnitAction:
          $ref: '#/components/schemas/FinalUnitAction'
        restrictionFilterRule:
          $ref: '#/components/schemas/IPFilterRule'
        restrictionFilterRuleList:
          type: array
          items:
            $ref: '#/components/schemas/IPFilterRule'
          minItems: 1
        filterId:
          type: string
        filterIdList:
          type: array
          items:
            type: string
          minItems: 1
        redirectServer:
          $ref: '#/components/schemas/RedirectServer'
      required:
        - finalUnitAction
    RedirectServer:
      type: object
      properties:
        redirectAddressType:
          $ref: '#/components/schemas/RedirectAddressType'
        redirectServerAddress:
          type: string
      required:
        - redirectAddressType
        - redirectServerAddress
    ReauthorizationDetails:
      type: object
      properties:
        serviceId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceId'
        ratingGroup:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatingGroup'
        quotaManagementIndicator:
          $ref: '#/components/schemas/QuotaManagementIndicator'
    PDUSessionChargingInformation:
      type: object
      properties:
        chargingId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId'
        sMFchargingId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmfChargingId'
        homeProvidedChargingId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId'
        sMFHomeProvidedChargingId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SmfChargingId'
        userInformation:
          $ref: '#/components/schemas/UserInformation'
        userLocationinfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        iMSSessionInformation:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/CallInfo'
        mAPDUNon3GPPUserLocationInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        non3GPPUserLocationTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        mAPDUNon3GPPUserLocationTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        presenceReportingAreaInformation:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 0
        uetimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        pduSessionInformation:
          $ref: '#/components/schemas/PDUSessionInformation'
        unitCountInactivityTimer:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        rANSecondaryRATUsageReport:
          $ref: '#/components/schemas/RANSecondaryRATUsageReport'
    UserInformation:
      type: object
      properties:
        servedGPSI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        servedPEI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        unauthenticatedFlag:
          type: boolean
        roamerInOut:
          $ref: '#/components/schemas/RoamerInOut'
        disasterRoamingInd:
          type: boolean
    PDUSessionInformation:
      type: object
      properties:
        networkSlicingInfo:
          $ref: '#/components/schemas/NetworkSlicingInfo'
        pduSessionID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
        pduType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType'
        sscMode:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode'
        hPlmnId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        servingNetworkFunctionID:
          $ref: '#/components/schemas/ServingNetworkFunctionID'
        ratType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        mAPDUNon3GPPRATType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        dnnId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        dnnSelectionMode:
          $ref: '#/components/schemas/dnnSelectionMode'
        chargingCharacteristics:
          type: string
          pattern: '^[0-9a-fA-F]{1,4}$'
        chargingCharacteristicsSelectionMode:
          $ref: '#/components/schemas/ChargingCharacteristicsSelectionMode'
        startTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        stopTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        3gppPSDataOffStatus:
          $ref: '#/components/schemas/3GPPPSDataOffStatus'
        sessionStopIndicator:
          type: boolean
        pduAddress:
          $ref: '#/components/schemas/PDUAddress'
        diagnostics:
          $ref: '#/components/schemas/Diagnostics'
        authorizedQoSInformation:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AuthorizedDefaultQos'
        subscribedQoSInformation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos'
        authorizedSessionAMBR:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        subscribedSessionAMBR:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        servingCNPlmnId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        mAPDUSessionInformation:
          $ref: '#/components/schemas/MAPDUSessionInformation'
        enhancedDiagnostics:
          $ref: '#/components/schemas/EnhancedDiagnostics5G'
        redundantTransmissionType:
          $ref: '#/components/schemas/RedundantTransmissionType'
        pDUSessionPairID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        cpCIoTOptimisationIndicator:
          type: boolean
        5GSControlPlaneOnlyIndicator:
          type: boolean
        smallDataRateControlIndicator:
          type: boolean
        5GLANTypeService:
            $ref: '#/components/schemas/5GLANTypeService'
        sNPNInformation:
            $ref: '#/components/schemas/SNPNInformation'
        5GMulticastService:
            $ref: '#/components/schemas/5GMulticastService'
        5GSBridgeInformation:
          $ref: '#/components/schemas/5GSBridgeInformation'
        satelliteAccessIndicator:
          type: boolean
        satelliteBackhaulInformation:
            $ref: '#/components/schemas/SatelliteBackhaulInformation'
        serviceLevelAA:
          type: string
      required:
        - pduSessionID
        - dnnId
    PDUContainerInformation:
      type: object
      properties:
        timeofFirstUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        timeofLastUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        qoSInformation:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData'
        qoSCharacteristics:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics'
        afChargingIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId'
        afChargingIdString:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationChargingId'
        userLocationInformation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        uetimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        rATType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        servingNodeID:
          type: array
          items:
            $ref: '#/components/schemas/ServingNetworkFunctionID'
          minItems: 0
        presenceReportingAreaInformation:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 0
        3gppPSDataOffStatus:
          $ref: '#/components/schemas/3GPPPSDataOffStatus'
        sponsorIdentity:
          type: string
        applicationserviceProviderIdentity:
          type: string
        chargingRuleBaseName:
          type: string
        mAPDUSteeringFunctionality:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality'
        mAPDUSteeringMode:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringMode'
        trafficForwardingWay:
          $ref: '#/components/schemas/TrafficForwardingWay'
        qosMonitoringReport:
          type: array
          items:
            $ref: '#/components/schemas/QosMonitoringReport'
          minItems: 0
        mBSSessionID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId'
        mBSDeliveryMethod:
          $ref: '#/components/schemas/MbsDeliveryMethod'
    NSPAContainerInformation:
      type: object
      properties:
        uplinkLatency:
          type: integer
        downlinkLatency:
          type: integer
        uplinkThroughput:
          $ref: '#/components/schemas/Throughput'
        downlinkThroughput:
          $ref: '#/components/schemas/Throughput'
        maximumPacketLossRateUL:
          type: integer
        maximumPacketLossRateDL:
          type: integer
        serviceExperienceStatisticsData:
          $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo'
        theNumberOfPDUSessions:
          type: integer
        theNumberOfRegisteredSubscribers:
          type: integer
        loadLevel:
          $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiLoadLevelInfo'
        estimatedEnergyConsumption:
          type: integer
    NSPAChargingInformation:
      type: object
      properties:
        singleNSSAI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
      required:
        - singleNSSAI
    NetworkSharingContainerInformation:
      type: object
      properties:
        uplinkVolume:
          type: integer
        downlinkVolume:
          type: integer
        numberOfPDUSessionsReq:
          type: integer
        numberOfPDUSessionsSuccess:
          type: integer
    NetworkSharingChargingInformation:
      type: object
      properties:
        plmnId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        singleNSSAI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
      required:
        - plmnId
    NetworkSlicingInfo:
      type: object
      properties:
        sNSSAI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        hPlmnSNSSAI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        alternativeSNSSAI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
      required:
        - sNSSAI
    PDUAddress:
      type: object
      properties:
        pduIPv4Address:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        pduIPv6AddresswithPrefix:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
        pduAddressprefixlength:
          type: integer
        iPv4dynamicAddressFlag:
          type: boolean
        iPv6dynamicPrefixFlag:
          type: boolean
        addIpv6AddrPrefixes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
        addIpv6AddrPrefixList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
    ServingNetworkFunctionID:
      type: object
      properties:
        servingNetworkFunctionInformation:
          $ref: '#/components/schemas/NFIdentification'
        aMFId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfId'
      required:
        - servingNetworkFunctionInformation
    RoamingQBCInformation:
      type: object
      properties:
        multipleQFIcontainer:
          type: array
          items:
            $ref: '#/components/schemas/MultipleQFIcontainer'
          minItems: 0
        uPFID: # Included for backwards compatibility and
               # can be included based on operators requirement
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        roamingChargingProfile:
          $ref: '#/components/schemas/RoamingChargingProfile'
    MultipleQFIcontainer:
      type: object
      properties:
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/Trigger'
          minItems: 0
        triggerTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        time:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        totalVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        uplinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        downlinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        localSequenceNumber:
          type: integer
        qFIContainerInformation:
          $ref: '#/components/schemas/QFIContainerInformation'
      required:
        - localSequenceNumber
    QFIContainerInformation:
      type: object
      properties:
        qFI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi'
        reportTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        timeofFirstUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        timeofLastUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        qoSInformation:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData'
        qoSCharacteristics:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics'
        userLocationInformation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        uetimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        presenceReportingAreaInformation:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 0
        rATType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        servingNetworkFunctionID:
          type: array
          items:
            $ref: '#/components/schemas/ServingNetworkFunctionID'
          minItems: 0
        3gppPSDataOffStatus:
          $ref: '#/components/schemas/3GPPPSDataOffStatus'
        3gppChargingId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId'
        diagnostics:
          $ref: '#/components/schemas/Diagnostics'
        enhancedDiagnostics:
          type: array
          items:
            type: string
      required:
        - reportTime
    RoamingChargingProfile:
      type: object
      properties:
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/Trigger'
          minItems: 0
        partialRecordMethod:
          $ref: '#/components/schemas/PartialRecordMethod'
    SMSChargingInformation:
      type: object
      properties:
        originatorInfo:
          $ref: '#/components/schemas/OriginatorInfo'
        recipientInfo:
          type: array
          items:
            $ref: '#/components/schemas/RecipientInfo'
          minItems: 0
        userEquipmentInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        roamerInOut:
          $ref: '#/components/schemas/RoamerInOut'
        userLocationinfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        uetimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        rATType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        sMSCAddress:
          type: string
        sMDataCodingScheme:
          type: integer
        sMMessageType:
          $ref: '#/components/schemas/SMMessageType'
        sMReplyPathRequested:
          $ref: '#/components/schemas/ReplyPathRequested'
        sMUserDataHeader:
          type: string
          pattern: '^[0-9a-fA-F]+$'
        sMStatus:
          type: string
          pattern: '^[0-9a-fA-F]+$'
        sMDischargeTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        numberofMessagesSent:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        sMServiceType:
          $ref: '#/components/schemas/SMServiceType'
        sMSequenceNumber:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        sMSresult:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        submissionTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        sMPriority:
          $ref: '#/components/schemas/SMPriority'
        messageReference:
          type: string
        messageSize:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        messageClass:
          $ref: '#/components/schemas/MessageClass'
        deliveryReportRequested:
          $ref: '#/components/schemas/DeliveryReportRequested'
    OriginatorInfo:
      type: object
      properties:
        originatorSUPI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        originatorGPSI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        originatorOtherAddress:
          $ref: '#/components/schemas/SMAddressInfo'
        originatorReceivedAddress:
          $ref: '#/components/schemas/SMAddressInfo'
        originatorSCCPAddress:
          type: string
        sMOriginatorInterface:
          $ref: '#/components/schemas/SMInterface'
        sMOriginatorProtocolId:
          type: string
    RecipientInfo:
      type: object
      properties:
        recipientSUPI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        recipientGPSI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        recipientOtherAddress: # Included for backwards compatibility, shall not be used
          $ref: '#/components/schemas/SMAddressInfo'
        recipientOtherAddresses:
          type: array
          items:
            $ref: '#/components/schemas/RecipientAddress'
          minItems: 0
        recipientReceivedAddress:
          $ref: '#/components/schemas/SMAddressInfo'
        recipientSCCPAddress:
          type: string
        sMDestinationInterface:
          $ref: '#/components/schemas/SMInterface'
        sMrecipientProtocolId:
          type: string
    SMAddressInfo:
      type: object
      properties:
        sMaddressType:
          $ref: '#/components/schemas/SMAddressType'
        sMaddressData:
          type: string
        sMaddressDomain:
          $ref: '#/components/schemas/SMAddressDomain'
    RecipientAddress:
      type: object
      properties:
        recipientAddressInfo:
          $ref: '#/components/schemas/SMAddressInfo'
        sMaddresseeType:
          $ref: '#/components/schemas/SMAddresseeType'
    MessageClass:
      type: object
      properties:
        classIdentifier:
          $ref: '#/components/schemas/ClassIdentifier'
        tokenText:
          type: string
    SMAddressDomain:
      type: object
      properties:
        domainName:
          type: string
        3GPPIMSIMCCMNC:
          type: string
    SMInterface:
      type: object
      properties:
        interfaceId:
          type: string
        interfaceText:
          type: string
        interfacePort:
          type: string
        interfaceType:
          $ref: '#/components/schemas/InterfaceType'
    RANSecondaryRATUsageReport:
      type: object
      properties:
        rANSecondaryRATType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        qosFlowsUsageReports:
          type: array
          items:
            $ref: '#/components/schemas/QosFlowsUsageReport'
    Diagnostics:
      type: integer
    IPFilterRule:
      type: string
    QosFlowsUsageReport:
      type: object
      properties:
        qFI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Qfi'
        startTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        endTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        uplinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        downlinkVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
    5GLANTypeService:
      type: object
      properties:
        internalGroupIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
    5GSBridgeInformation:
      type: object
      properties:
        bridgeId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        nWTTPortNumber:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16'
        dSTTPortNumber:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16'
      required:
        - bridgeId
    NEFChargingInformation:
      type: object
      properties:
        externalIndividualIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        externalIndividualIdList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
          minItems: 1
        internalIndividualIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        internalIndividualIdList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
          minItems: 1
        externalGroupIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ExternalGroupId'
        groupIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
        aPIDirection:
          $ref: '#/components/schemas/APIDirection'
        aPITargetNetworkFunction:
          $ref: '#/components/schemas/NFIdentification'
        aPIResultCode:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        aPIName:
          type: string
        aPIReference:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        aPIOperation:
          $ref: '#/components/schemas/APIOperation'
        aPIContent:
          type: string
      required:
        - aPIName
    SNPNInformation:
      type: object
      properties:
        sNPNID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        accessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        n3IwfFqdn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn'
      required:
        - sNPNID
    RegistrationChargingInformation:
      type: object
      properties:
        registrationMessagetype:
          $ref: '#/components/schemas/RegistrationMessageType'
        userInformation:
          $ref: '#/components/schemas/UserInformation'
        userLocationinfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        pSCellInformation:
          $ref: '#/components/schemas/PSCellInformation'
        uetimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        rATType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        5GMMCapability:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Bytes'
        mICOModeIndication:
          $ref: '#/components/schemas/MICOModeIndication'
        smsIndication:
          $ref: '#/components/schemas/SmsIndication'
        taiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'
          minItems: 0
        serviceAreaRestriction:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
          minItems: 0
        requestedNSSAI:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 0
        allowedNSSAI:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 0
        rejectedNSSAI:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 0
        nSSAIMapList:
          type: array
          items:
            $ref: '#/components/schemas/NSSAIMap'
          minItems: 0
        alternativeNSSAIMap:
          type: array
          items:
            $ref: '#/components/schemas/AlternativeNSSAIMap'
          minItems: 0
        amfUeNgapId:
          type: integer
        ranUeNgapId:
          type: integer
        ranNodeId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId'
        sNPNID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        cAGIDList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/CagId'
          minItems: 0
        satelliteAccessIndicator:
          type: boolean
        serviceLevelAA:
          type: string
      required:
        - registrationMessagetype
    PSCellInformation:
      type: object
      properties:
        nrcgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        ecgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
    NSSAIMap:
      type: object
      properties:
        servingSnssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        homeSnssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
      required:
        - servingSnssai
        - homeSnssai
    AlternativeNSSAIMap:
      type: object
      properties:
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        alternativeSnssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
      required:
        - snssai
        - alternativeSnssai
    N2ConnectionChargingInformation:
      type: object
      properties:
        n2ConnectionMessageType:
          $ref: '#/components/schemas/N2ConnectionMessageType'
        userInformation:
          $ref: '#/components/schemas/UserInformation'
        userLocationinfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        pSCellInformation:
          $ref: '#/components/schemas/PSCellInformation'
        uetimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        rATType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        amfUeNgapId:
          type: integer
        ranUeNgapId:
          type: integer
        ranNodeId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId'
        restrictedRatList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
          minItems: 0
        forbiddenAreaList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Area'
          minItems: 0
        serviceAreaRestriction:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
          minItems: 0
        restrictedCnList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/CoreNetworkType'
          minItems: 0
        allowedNSSAI:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 0
        nSSAIMapList:
          type: array
          items:
            $ref: '#/components/schemas/NSSAIMap'
          minItems: 0
        rrcEstCause:
          type: string
          pattern: '^[0-9a-fA-F]+$'
        satelliteAccessIndicator:
          type: boolean
      required:
        - n2ConnectionMessageType
    LocationReportingChargingInformation:
      type: object
      properties:
        locationReportingMessageType:
          $ref: '#/components/schemas/LocationReportingMessageType'
        userInformation:
          $ref: '#/components/schemas/UserInformation'
        userLocationinfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        pSCellInformation:
          $ref: '#/components/schemas/PSCellInformation'
        uetimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        rATType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        presenceReportingAreaInformation:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 0
        satelliteAccessIndicator:
          type: boolean
      required:
        - locationReportingMessageType
    N2ConnectionMessageType:
      type: integer
    LocationReportingMessageType:
      type: integer
    NSMChargingInformation:
      type: object
      properties:
        managementOperation:
          $ref: '#/components/schemas/ManagementOperation'
        idNetworkSliceInstance:
          type: string
        listOfserviceProfileChargingInformation:
          type: array
          items:
            $ref: '#/components/schemas/ServiceProfileChargingInformation'
          minItems: 0
        managementOperationStatus:
          $ref: '#/components/schemas/ManagementOperationStatus'
        managementOperationalState:
           $ref: 'TS28623_ComDefs.yaml#/components/schemas/OperationalState'
        managementAdministrativeState:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState'
      required:
        - managementOperation
    ServiceProfileChargingInformation:
      type: object
      properties:
        serviceProfileIdentifier:
            type: string
        sNSSAIList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 0
        sST:
          $ref: 'TS28541_NrNrm.yaml#/components/schemas/Sst'
        latency:
          type: integer
        availability:
          type: number
        resourceSharingLevel:
          $ref: 'TS28541_SliceNrm.yaml#/components/schemas/SharingLevel'
        jitter:
          type: integer
        reliability:
          type: string
        maxNumberofUEs:
          type: integer
        coverageArea:
          type: string
        uEMobilityLevel:
          $ref: 'TS28541_SliceNrm.yaml#/components/schemas/MobilityLevel'
        delayToleranceIndicator:
          $ref: 'TS28541_SliceNrm.yaml#/components/schemas/Support'
        dLThptPerSlice:
          $ref: '#/components/schemas/Throughput'
        dLThptPerUE:
          $ref: '#/components/schemas/Throughput'
        uLThptPerSlice:
          $ref: '#/components/schemas/Throughput'
        uLThptPerUE:
          $ref: '#/components/schemas/Throughput'
        maxNumberofPDUsessions:
          type: integer
        kPIMonitoringList:
          type: string
        supportedAccessTechnology:
          type: integer
        v2XCommunicationModeIndicator:
          $ref: 'TS28541_SliceNrm.yaml#/components/schemas/Support'
        energyEfficiency:
          $ref: 'TS28541_SliceNrm.yaml#/components/schemas/EEPerfReq'
        addServiceProfileInfo:
          type: string
    Throughput:
      type: object
      properties:
        guaranteedThpt:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
        maximumThpt:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
    MAPDUSessionInformation:
      type: object
      properties:
        mAPDUSessionIndicator:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MaPduIndication'
        aTSSSCapability:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AtsssCapability'
    EnhancedDiagnostics5G:
      $ref: '#/components/schemas/RanNasCauseList'
    RanNasCauseList:
      type: array
      items:
        $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RanNasRelCause'
    QosMonitoringReport:
      description: Contains reporting information on QoS monitoring.
      type: object
      properties:
        ulDelays:
          type: array
          items:
            type: integer
          minItems: 0
        dlDelays:
          type: array
          items:
            type: integer
          minItems: 0
        rtDelays:
          type: array
          items:
            type: integer
          minItems: 0
    AnnouncementInformation:
      type: object
      properties:
        announcementIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        announcementReference:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        variableParts:
          type: array
          items:
            $ref: '#/components/schemas/VariablePart'
          minItems: 0
        timeToPlay:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        quotaConsumptionIndicator:
          $ref: '#/components/schemas/QuotaConsumptionIndicator'
        announcementPriority:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        playToParty:
          $ref: '#/components/schemas/PlayToParty'
        announcementPrivacyIndicator:
          $ref: '#/components/schemas/AnnouncementPrivacyIndicator'
        Language:
          $ref: '#/components/schemas/Language'
    VariablePart:
      type: object
      properties:
        variablePartType:
          $ref: '#/components/schemas/VariablePartType'
        variablePartValue:
          type: array
          items:
            type: string
          minItems: 1
        variablePartOrder:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
      required:
        - variablePartType
        - variablePartValue
    Language:
      type: string
    MMTelChargingInformation:
      type: object
      properties:
        supplementaryServices:
          type: array
          items:
            $ref: '#/components/schemas/SupplementaryService'
          minItems: 1
    SupplementaryService:
      type: object
      properties:
        supplementaryServiceType:
          $ref: '#/components/schemas/SupplementaryServiceType'
        supplementaryServiceMode:
          $ref: '#/components/schemas/SupplementaryServiceMode'
        numberOfDiversions:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        associatedPartyAddress:
          type: string
        conferenceId:
          type: string
        participantActionType:
          $ref: '#/components/schemas/ParticipantActionType'
        changeTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        numberOfParticipants:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        cUGInformation:
          $ref: '#/components/schemas/OctetString'
    IMSChargingInformation:
      type: object
      properties:
        eventType:
          $ref: '#/components/schemas/SIPEventType'
        iMSNodeFunctionality:
          $ref: '#/components/schemas/IMSNodeFunctionality'
        roleOfNode:
          $ref: '#/components/schemas/RoleOfIMSNode'
        userInformation:
          $ref: '#/components/schemas/UserInformation'
        userLocationInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        3gppPSDataOffStatus:
          $ref: '#/components/schemas/3GPPPSDataOffStatus'
        isupCause:
          $ref: '#/components/schemas/ISUPCause'
        controlPlaneAddress:
          $ref: '#/components/schemas/IMSAddress'
        vlrNumber:
          $ref: '#/components/schemas/E164'
        mscAddress:
          $ref: '#/components/schemas/E164'
        userSessionID:
          type: string
        outgoingSessionID:
          type: string
        sessionPriority:
          $ref: '#/components/schemas/IMSSessionPriority'
        callingPartyAddresses:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
          minItems: 1
        calledPartyAddress:
          type: string
        numberPortabilityRoutinginformation:
          type: string
        carrierSelectRoutingInformation:
          type: string
        alternateChargedPartyAddress:
          type: string
        requestedPartyAddress:
          type: array
          items:
            type: string
          minItems: 1
        calledAssertedIdentities:
          type: array
          items:
            type: string
          minItems: 1
        calledIdentityChanges:
          type: array
          items:
            $ref: '#/components/schemas/CalledIdentityChange'
          minItems: 1
        associatedURI:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
          minItems: 1
        timeStamps:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        applicationServerInformation:
          type: array
          items:
            type: string
          minItems: 1
        interOperatorIdentifier:
          type: array
          items:
            $ref: '#/components/schemas/InterOperatorIdentifier'
          minItems: 1
        imsChargingIdentifier:
          type: string
        relatedICID:
          type: string
        relatedICIDGenerationNode:
          type: string
        transitIOIList:
          type: array
          items:
            type: string
          minItems: 1
        earlyMediaDescription:
          type: array
          items:
            $ref: '#/components/schemas/EarlyMediaDescription'
          minItems: 1
        sdpSessionDescription:
          type: array
          items:
            type: string
          minItems: 1
        sdpMediaComponent:
          type: array
          items:
            $ref: '#/components/schemas/SDPMediaComponent'
          minItems: 1
        servedPartyIPAddress:
          $ref: '#/components/schemas/IMSAddress'
        serverCapabilities:
          $ref: '#/components/schemas/ServerCapabilities'
        trunkGroupID:
          $ref: '#/components/schemas/TrunkGroupID'
        bearerService:
          type: string
        imsServiceId:
          type: string
        messageBodies:
          type: array
          items:
            $ref: '#/components/schemas/MessageBody'
          minItems: 1
        accessNetworkInformation:
          type: array
          items:
            type: string
          minItems: 1
        additionalAccessNetworkInformation:
          type: string
        cellularNetworkInformation:
          type: string
        accessTransferInformation:
          type: array
          items:
            $ref: '#/components/schemas/AccessTransferInformation'
          minItems: 1
        accessNetworkInfoChange:
          type: array
          items:
            $ref: '#/components/schemas/AccessNetworkInfoChange'
          minItems: 1
        imsCommunicationServiceID:
          type: string
        imsApplicationReferenceID:
          type: string
        causeCode:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        reasonHeader:
          type: array
          items:
            type: string
          minItems: 1
        initialIMSChargingIdentifier:
          type: string
        nniInformation:
          type: array
          items:
            $ref: '#/components/schemas/NNIInformation'
          minItems: 1
        fromAddress:
          type: string
        imsEmergencyIndication:
          type: boolean
        imsVisitedNetworkIdentifier:
          type: string
        sipRouteHeaderReceived:
          type: string
        sipRouteHeaderTransmitted:
          type: string
        tadIdentifier:
          $ref: '#/components/schemas/TADIdentifier'
        feIdentifierList:
          type: string
        imsDCAppInfo:
          $ref: '#/components/schemas/IMSDCAppInfo'
        satelliteIdList:
          type: array
          items:
            $ref: '#/components/schemas/SatelliteId'
          minItems: 1
        mediaResource:
          $ref: '#/components/schemas/MediaResource'
    MediaResource:
      type: object
      required:
        - mediaID
        - mediaResourceCapability
      properties:
        mediaID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MediaId'
        mediaResourceCapability:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MediaResourceType'
        avatarMedia:
          $ref: '#/components/schemas/AvatarMedia'
    AvatarMedia:
      type: object
      properties:
        resourceURL:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        mediaProcessingSpecification:
          type: string
    IMSDCAppInfo:
      type: object
      properties:
        applicationId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
        httpUrl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ReplaceHttpUrl'
    EdgeInfrastructureUsageChargingInformation:
      type: object
      properties:
        meanVirtualCPUUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
        meanVirtualMemoryUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
        meanVirtualDiskUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
        measuredInBytes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        measuredOutBytes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        durationStartTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        durationEndTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
    EASDeploymentChargingInformation:
      type: object
      properties:
        eEASDeploymentRequirements:
          $ref: '#/components/schemas/EASRequirements'
        lCMEventType:
          $ref: '#/components/schemas/ManagementOperation'
        lCMStartTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        lCMEndTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        satelliteBackhaulInformation:
            $ref: '#/components/schemas/SatelliteBackhaulInformation'
    MMSChargingInformation:
      type: object
      properties:
        mmOriginatorInfo:
          $ref: '#/components/schemas/MMOriginatorInfo'
        mmRecipientInfoList:
          type: array
          items:
            $ref: '#/components/schemas/MMRecipientInfo'
          minItems: 0
        userLocationinfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        uetimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        rATType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        correlationInformation:
          type: string
        submissionTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        mmContentType:
          $ref: '#/components/schemas/MMContentType'
        mmPriority:
          $ref: '#/components/schemas/SMPriority'
        messageID:
          type: string
        messageType:
          type: string
        messageSize:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        messageClass:
          type: string
        deliveryReportRequested:
          type: boolean
        readReplyReportRequested:
          type: boolean
        applicID:
          type: string
        replyApplicID:
          type: string
        auxApplicInfo:
          type: string
        contentClass:
          type: string
        dRMContent:
          type: boolean
        adaptations:
          type: boolean
        vasID:
          type: string
        vaspID:
          type: string
    MMOriginatorInfo:
      type: object
      properties:
        originatorSUPI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        originatorGPSI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        originatorOtherAddress:
          type: array
          items:
            $ref: '#/components/schemas/SMAddressInfo'
          minItems: 0
    MMRecipientInfo:
      type: object
      properties:
        recipientSUPI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        recipientGPSI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        recipientOtherAddress:
          type: array
          items:
            $ref: '#/components/schemas/SMAddressInfo'
    TSNChargingInformation:
      type: object
      properties:
        dNN:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        sNSSAI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        internalGroupIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
        externalIndividualIdList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
          minItems: 0
        5GSBridgeInformation:
          $ref: '#/components/schemas/5GSBridgeInformation'
        tSNQoSInformation:
          $ref: '#/components/schemas/TSNQoSInformation'
        tSCAssistanceInformation:
          $ref: '#/components/schemas/TSCAssistanceInformation'
        timeSynchronizationInformation:
          $ref: '#/components/schemas/TimeSynchronizationInformation'

    TSNQoSInformation:
      type: object
      properties:
        priority:
          type: integer
        bridgeDelay:
          type: array
          items:
            type: integer
          minItems: 0

    TSCAssistanceInformation:
      type: object
      properties:
        flowDirection:
          $ref: '#/components/schemas/TSCFlowDirection'
        periodicity:
          type: integer

    TimeSynchronizationInformation:
      type: object
      properties:
        distributionMethod:
          $ref: '#/components/schemas/TimeDistributionMethod'
        tSNtimeDomainNumber:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        temporalValidityInformation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        spatialValidityInformation:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'
          minItems: 0
        timeSynchronizationErrorBudget:
          type: integer
        synchronizationState:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SynchronizationState'
        clockQuality:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ClockQuality'
        parentTimeSource:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeSource'
    PC5ContainerInformation:
      type: object
      properties:
        coverageInfoList:
          type: array
          items:
            $ref: '#/components/schemas/CoverageInfo'
        radioParameterSetInfoList:
          type: array
          items:
            $ref: '#/components/schemas/RadioParameterSetInfo'
        transmitterInfoList:
          type: array
          items:
            $ref: '#/components/schemas/TransmitterInfo'
          minItems: 0
        timeOfFirstTransmission:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        timeOfFirstReception:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
    CoverageInfo:
      type: object
      properties:
        coverageStatus:
          type: boolean
        changeTime:  
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        locationInfo:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
          minItems: 0
          
    RadioParameterSetInfo:
      type: object
      properties:
        radioParameterSetValues:
          type: array
          items:
            $ref: '#/components/schemas/OctetString'
          minItems: 0
        changeTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
    TransmitterInfo:
      type: object
      properties:
        proseSourceIPAddress:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
        proseSourceL2Id:
          type: string
    ProseChargingInformation:
      type: object
      properties:
        announcingPlmnID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        announcingUeHplmnIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        announcingUeVplmnIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        monitoringUeHplmnIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        monitoringUeVplmnIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        discovererUeHplmnIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        discovererUeVplmnIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        discovereeUeHplmnIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        discovereeUeVplmnIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        monitoredPlmnIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        proseApplicationID:
          type: string
        ApplicationId:
          type: string
        applicationSpecificDataList:
          type: array
          items:
            type: string
          minItems: 0
        proseFunctionality:
          $ref: '#/components/schemas/ProseFunctionality'
        proseEventType:
          $ref: '#/components/schemas/ProseEventType'
        directDiscoveryModel:
          $ref: '#/components/schemas/DirectDiscoveryModel'
        validityPeriod:
          type: integer
        roleOfUE:
          $ref: '#/components/schemas/RoleOfUE'
        proseRequestTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        pC3ProtocolCause:
          type: integer
        monitoringUEIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        requestedPLMNIdentifier:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        timeWindow:
          type: integer
        rangeClass:
          $ref: '#/components/schemas/RangeClass'
        proximityAlertIndication:
          type: boolean
        proximityAlertTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        proximityCancellationTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        hopCount:
          type: integer
        intermediateRelayInformationContainer:
          type: array
          items:
            $ref: '#/components/schemas/IntermediateRelayInformationContainer'
          minItems: 0
        relayIPAddress:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
        proseUEToNetworkRelayUEID :
          type: string
        proseUEToUERelayUEID:
          type: string
        proseUEToUETargetEndUEIPAddress:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
        proseDestinationLayer2ID:
          type: string
        pFIContainerInformation:
          type: array
          items:
            $ref: '#/components/schemas/PFIContainerInformation'
          minItems: 0
        transmissionDataContainer:
          type: array
          items:
            $ref: '#/components/schemas/PC5DataContainer'
          minItems: 0
        receptionDataContainer:
          type: array
          items:
            $ref: '#/components/schemas/PC5DataContainer'
          minItems: 0
      required:
        - aPIName
    InterCHFInformation:
      type: object
      properties:
        remoteCHFResource:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        originalNFConsumerId:
          $ref: '#/components/schemas/NFIdentification'
    NSACFChargingInformation:
      type: object
      properties:
        nSACChargingIndicator:
          type: boolean
    NSACContainerInformation:
      type: object
      properties:
        numberOfUEs:
          type: integer
        numberOfPDUs:
          type: integer
    NSSAAChargingInformation:
      type: object
      properties:
        nSSAAMessageType:
          $ref: '#/components/schemas/NSSAAMessageType'
        userIdentification:
          $ref: '#/components/schemas/UserInformation'
        aAAPAddress:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ServerAddressingInfo'
        aAASAddress:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ServerAddressingInfo'
        eAPIDResponse:
          type: string
        eAPauthstatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AuthStatus'
        aMFId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AmfId'
      required:
        - nSSAAMessageType
        - userIdentification
    RangingSLChargingInformation:
      type: object
      properties:
        targetUEID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        sLReferenceUEID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        sLPositioningServerUEID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        locatedUEID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        locationType:
          $ref: '#/components/schemas/LocationType'
        locationEstimate:
          $ref: '#/components/schemas/LocationEstimate'
    LCSInformation:
      type: object
      properties:
        lCSClientID:
          type: string
        locationType:
          $ref: '#/components/schemas/LocationType'
        locationEstimate:
          $ref: '#/components/schemas/LocationEstimate'
        positioningData:
          type: string
        targetUEID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
    LocationEstimate:
      type: object
      properties:
        userLocationInformation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        horizontalAccuracy:
          $ref: '#/components/schemas/OctetString'
        verticalAccuracy:
          $ref: '#/components/schemas/OctetString'
    IntermediateRelayInformationContainer:
      type: object
      properties:
        intermediateRelayIPAddress:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
        proseUEToNetworkIntermediateRelayUEID:
          type: string
    PFIContainerInformation:
      type: object
      properties:
        pFI:
          type: string
        reportTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        timeofFirstUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        timeofLastUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        qoSInformation:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData'
        qoSCharacteristics:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosCharacteristics'
        userLocationInformation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        uetimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' 
        presenceReportingAreaInformation:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 0

    PC5DataContainer:
      type: object
      properties:
        localSequenceNumber:
          type: string
        changeTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        coverageStatus:
          type: boolean
        userLocationInformation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        dataVolume:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint64'
        changeCondition:
          type: string
        radioResourcesId:
          $ref: '#/components/schemas/RadioResourcesIndicator'
        radioFrequency:
          type: string 
        pC5RadioTechnology:
          type: string

    OctetString:
      type: string
      pattern: '^[0-9a-fA-F]+$'
    E164:
      type: string
      pattern: '^[0-9a-fA-F]+$'
    IMSAddress:
      type: object
      properties:
        ipv4Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ipv6Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
        e164:
          $ref: '#/components/schemas/E164'
      anyOf:
        - required: [ ipv4Addr ]
        - required: [ ipv6Addr ]
        - required: [ e164 ]
    ServingNodeAddress:
      type: object
      properties:
        ipv4Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ipv6Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
      anyOf:
        - required: [ ipv4Addr ]
        - required: [ ipv6Addr ]
    SIPEventType:
      type: object
      properties:
        sIPMethod:
          type: string
        eventHeader:
          type: string
        expiresHeader:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
    ISUPCause:
      type: object
      properties:
        iSUPCauseLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        iSUPCauseValue:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        iSUPCauseDiagnostics:
          $ref: '#/components/schemas/OctetString'
        enhancedDiagnostics:
          $ref: '#/components/schemas/EnhancedDiagnostics5G'
    CalledIdentityChange:
      type: object
      properties:
        calledIdentity:
          type: string
        changeTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
    InterOperatorIdentifier:
      type: object
      properties:
        originatingIOI:
          type: string
        terminatingIOI:
          type: string
    EarlyMediaDescription:
      type: object
      properties:
        sDPTimeStamps:
          $ref: '#/components/schemas/SDPTimeStamps'
        sDPMediaComponent:
          type: array
          items:
            $ref: '#/components/schemas/SDPMediaComponent'
          minItems: 0
        sDPSessionDescription:
          type: array
          items:
            type: string
          minItems: 0
    SDPTimeStamps:
      type: object
      properties:
        sDPOfferTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        sDPAnswerTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
    SDPMediaComponent:
      type: object
      properties:
        sDPMediaName:
          type: string
        SDPMediaDescription:
          type: array
          items:
            type: string
          minItems: 0
        localGWInsertedIndication:
          type: boolean
        ipRealmDefaultIndication:
          type: boolean
        transcoderInsertedIndication:
          type: boolean
        mediaInitiatorFlag:
          $ref: '#/components/schemas/MediaInitiatorFlag'
        mediaInitiatorParty:
          type: string
        threeGPPChargingId:
          $ref: '#/components/schemas/OctetString'
        accessNetworkChargingIdentifierValue:
          $ref: '#/components/schemas/OctetString'
        sDPType:
          $ref: '#/components/schemas/SDPType'
    ServerCapabilities:
      type: object
      properties:
        mandatoryCapability:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
          minItems: 0
        optionalCapability :
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
          minItems: 0
        serverName:
          type: array
          items:
            type: string
          minItems: 0
    TrunkGroupID:
      type: object
      properties:
        incomingTrunkGroupID:
          type: string
        outgoingTrunkGroupID:
          type: string
    MessageBody:
      type: object
      properties:
        contentType:
          type: string
        contentLength:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        contentDisposition:
          type: string
        originator:
          $ref: '#/components/schemas/OriginatorPartyType'
      required:
        - contentType
        - contentLength
    AccessTransferInformation:
      type: object
      properties:
        accessTransferType:
          $ref: '#/components/schemas/AccessTransferType'
        accessNetworkInformation:
          type: array
          items:
            $ref: '#/components/schemas/OctetString'
          minItems: 0
        cellularNetworkInformation:
          $ref: '#/components/schemas/OctetString'
        interUETransfer:
          $ref: '#/components/schemas/UETransferType'
        userEquipmentInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        instanceId:
          type: string
        relatedIMSChargingIdentifier:
          type: string
        relatedIMSChargingIdentifierNode:
          $ref: '#/components/schemas/IMSAddress'
        changeTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
    AccessNetworkInfoChange:
      type: object
      properties:
        accessNetworkInformation:
          type: array
          items:
            $ref: '#/components/schemas/OctetString'
          minItems: 0
        cellularNetworkInformation:
          $ref: '#/components/schemas/OctetString'
        changeTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
    NNIInformation:
      type: object
      properties:
        sessionDirection:
          $ref: '#/components/schemas/NNISessionDirection'
        nNIType:
          $ref: '#/components/schemas/NNIType'
        relationshipMode:
          $ref: '#/components/schemas/NNIRelationshipMode'
        neighbourNodeAddress:
          $ref: '#/components/schemas/IMSAddress'
    SatelliteId:
          type: string
    EASRequirements:
      type: object
      properties:
        requiredEASservingLocation:
          $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/ServingLocation'
        softwareImageInfo:
          $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/SoftwareImageInfo'
        affinityAntiAffinity:
          $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/AffinityAntiAffinity'
        serviceContinuity:
          type: boolean
        virtualResource:
          $ref: 'TS28538_EdgeNrm.yaml#/components/schemas/VirtualResource'
    MMContentType:
      type: object
      properties:
        typeNumber:
          type: string
        addtypeInfo:
          type: string
        contentSize:
          type: integer
        mmAddContentInfo:
          type: array
          items:
            $ref: '#/components/schemas/MMAddContentInfo'
          minItems: 0
    MMAddContentInfo:
      type: object
      properties:
        typeNumber:
          type: string
        addtypeInfo:
          type: string
        contentSize:
          type: integer
    APIOperation:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
    5GMulticastService:
      type: object
      properties:
        mBSSessionIdList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId'
          minItems: 1
    MBSSessionChargingInformation:
      type: object
      properties:
        mBSSessionID:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionId'
        mBSServiceType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceType'
        serviceArea:
          $ref: '#/components/schemas/ServiceArea'
        mBSStartTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        mBSEndTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        mBSServiceActivityStatus:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsSessionActivityStatus'
        servingNetworkFunctionID:
          $ref: '#/components/schemas/ServingNetworkFunctionID'
      required:
        - mBSSessionID
        - mBSServiceType
    ServiceArea:
      type: object
      properties:
        mBSServiceArea:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsServiceArea'
        uPFIDs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
          minItems: 0
        ranNodeIDs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId'
          minItems: 0
    MBSContainerInformation:
      type: object
      properties:
        timeofFirstUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        timeofLastUsage:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        qoSInformation:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/QosData'
        establishedConnectionInfo:
          $ref: '#/components/schemas/EstablishedConnectionInfo'
    EstablishedConnectionInfo:
      type: object
      properties:
        uPFIDs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
          minItems: 0
        ranNodeIDs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/GlobalRanNodeId'
          minItems: 0
    SatelliteBackhaulInformation:
      type: object
      properties:
        satelliteBackhaulCategory:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SatelliteBackhaulCategory'
          minItems: 0
        gEOSatelliteID:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/GeoSatelliteId'
    NotificationType:
      anyOf:
        - type: string
          enum:
            - REAUTHORIZATION
            - ABORT_CHARGING
        - type: string
    NodeFunctionality:
      anyOf:
        - type: string
          enum:
            - AMF
            - SMF
            - SMS # Included for backwards compatibility, shall not be used
            - SMSF
            - PGW_C_SMF
            - NEFF # Included for backwards compatibility, shall not be used
            - SGW
            - I_SMF
            - ePDG
            - CEF
            - NEF
            - MnS_Producer
            - SGSN
            - V_SMF
            - 5G_DDNMF
            - IMS_Node
            - MMS_Node
            - EES
            - PCF
            - UDM
            - UPF
            - TSN_AF
            - TSCTSF
            - MB_SMF
            - CHF
            - GMLC
            - AIOTF
            - CCF
        - type: string
    ChargingCharacteristicsSelectionMode:
      anyOf:
        - type: string
          enum:
            - HOME_DEFAULT
            - ROAMING_DEFAULT
            - VISITING_DEFAULT
        - type: string
    TriggerType:
      anyOf:
        - type: string
          enum:
            # SMF TriggerType
            - QUOTA_THRESHOLD
            - QHT
            - FINAL
            - QUOTA_EXHAUSTED
            - VALIDITY_TIME
            - OTHER_QUOTA_TYPE
            - FORCED_REAUTHORISATION
            - UNUSED_QUOTA_TIMER # Included for backwards compatibility, shall not be used
            - UNIT_COUNT_INACTIVITY_TIMER
            - ABNORMAL_RELEASE
            - QOS_CHANGE
            - VOLUME_LIMIT
            - TIME_LIMIT
            - EVENT_LIMIT
            - PLMN_CHANGE
            - USER_LOCATION_CHANGE
            - RAT_CHANGE
            - SESSION_AMBR_CHANGE
            - UE_TIMEZONE_CHANGE
            - TARIFF_TIME_CHANGE
            - MAX_NUMBER_OF_CHANGES_IN_CHARGING_CONDITIONS
            - MANAGEMENT_INTERVENTION
            - CHANGE_OF_UE_PRESENCE_IN_PRESENCE_REPORTING_AREA
            - CHANGE_OF_3GPP_PS_DATA_OFF_STATUS
            - SERVING_NODE_CHANGE
            - REMOVAL_OF_UPF
            - ADDITION_OF_UPF
            - INSERTION_OF_ISMF
            - REMOVAL_OF_ISMF
            - CHANGE_OF_ISMF
            - START_OF_SERVICE_DATA_FLOW
            - ECGI_CHANGE
            - TAI_CHANGE
            - HANDOVER_CANCEL
            - HANDOVER_START
            - HANDOVER_COMPLETE
            - GFBR_GUARANTEED_STATUS_CHANGE
            - ADDITION_OF_ACCESS
            - REMOVAL_OF_ACCESS
            - START_OF_SDF_ADDITIONAL_ACCESS
            - REDUNDANT_TRANSMISSION_CHANGE
            - CGI_SAI_CHANGE
            - RAI_CHANGE
            - JOIN_MULTICAST
            - MBS_DELIVERY_METHOD_CHANGE
            - LEAVE_MULTICAST
            - VSMF_CHANGE
            - SNSSAI_REPLACEMENT
            - SATELLITE_BACKHAUL_CATEGORY_CHANGE
            - GEO_SATELLITE_ID_CHANGE
            # IMS TriggerType
            - SIP_INVITE
            - SIP_RE-INVITE_OR_UPDATE
            - SIP_2XX_ACKNOWLEDGING
            - SIP_1XX_PROVISIONAL_RESPONSE
            - SIP_4XX_5XX_OR_6XX_RESPONSE
            - ANY_OTHER_SIP_MESSAGE            - SIP_BYE_MESSAGE
            - SIP_2XX_ACKNOWLEDGING_A_SIP_BYE
            - ABORTING_A_SIP_SESSION_SET-UP
            - SIP_3XX_FINAL_OR_REDIRECTION_RESPONSE
            - SIP_4XX_5XX_OR_6XX_FINAL_RESPONSE
            # MB-SMF TriggerType           
            - MBS_CONNECTION_ESTABLISHED_WITH_NG-RAN
            - MBS_CONNECTION_RELEASED_WITH_NG-RAN
            - MBS_CONNECTION_ESTABLISHED_WITH_UPF
            - MBS_CONNECTION_RELEASED_WITH_UPF
            - MBS_SESSION_ACTIVITY_STATUS_CHANGE_TO_ACTIVE
            - MBS_SESSION_ACTIVITY_STATUS_CHANGE_TO_INACTIVE
            - MBS_SESSION_CONTEXT_UPDATE
        # NSAC TriggerType           
            - NSAC_THRESHOLD_INITIAL
            - NSAC_THRESHOLD_UPWARDS_REACHED
            - NSAC_THRESHOLD_UPWARDS_CROSSED
            - NSAC_THRESHOLD_DOWNWARDS_CROSSED
            - NSAC_QUOTA_THRESHOLD
            - NSAC_QUOTA_EXHAUSTED
            - NSAC_VALIDITY_TIME
            - NSAC_QHT
            - NSAC_THRESHOLD_TERMINATION
            - NS_TERMINATION
    FinalUnitAction:
      anyOf:
        - type: string
          enum:
            - TERMINATE
            - REDIRECT
            - RESTRICT_ACCESS
        - type: string
    RedirectAddressType:
      anyOf:
        - type: string
          enum:
            - IPV4
            - IPV6
            - URL
            - URI
        - type: string
    TriggerCategory:
      anyOf:
        - type: string
          enum:
            - IMMEDIATE_REPORT
            - DEFERRED_REPORT
        - type: string
    QuotaManagementIndicator:
      anyOf:
        - type: string
          enum:
            - ONLINE_CHARGING
            - OFFLINE_CHARGING
            - QUOTA_MANAGEMENT_SUSPENDED
        - type: string
    FailureHandling:
      anyOf:
        - type: string
          enum:
            - TERMINATE
            - CONTINUE
            - RETRY_AND_TERMINATE
        - type: string
    SessionFailover:
      anyOf:
        - type: string
          enum:
            - FAILOVER_NOT_SUPPORTED
            - FAILOVER_SUPPORTED
        - type: string
    3GPPPSDataOffStatus:
      anyOf:
        - type: string
          enum:
            - ACTIVE
            - INACTIVE
        - type: string
    ResultCode:
      anyOf:
        - type: string
          enum: 
            - SUCCESS
            - END_USER_SERVICE_DENIED
            - QUOTA_MANAGEMENT_NOT_APPLICABLE
            - QUOTA_LIMIT_REACHED
            - END_USER_SERVICE_REJECTED
            - USER_UNKNOWN  #Included for backwards compatibility, shall not be used
            - RATING_FAILED
            - QUOTA_MANAGEMENT
        - type: string
    PartialRecordMethod:
      anyOf:
        - type: string
          enum:
            - DEFAULT
            - INDIVIDUAL
        - type: string
    RoamerInOut:
      anyOf:
        - type: string
          enum:
            - IN_BOUND
            - OUT_BOUND
        - type: string
    SMMessageType:
      anyOf:
        - type: string
          enum:
            - SUBMISSION
            - DELIVERY_REPORT
            - SM_SERVICE_REQUEST
            - DELIVERY
        - type: string
    SMPriority:
      anyOf:
        - type: string
          enum:
            - LOW
            - NORMAL
            - HIGH
        - type: string
    DeliveryReportRequested:
      anyOf:
        - type: string
          enum:
            - YES
            - NO
        - type: string
    InterfaceType:
      anyOf:
        - type: string
          enum:
            - UNKNOWN
            - MOBILE_ORIGINATING
            - MOBILE_TERMINATING
            - APPLICATION_ORIGINATING
            - APPLICATION_TERMINATING
        - type: string
    ClassIdentifier:
      anyOf:
        - type: string
          enum:
            - PERSONAL
            - ADVERTISEMENT
            - INFORMATIONAL
            - AUTO
        - type: string
    SMAddressType:
      anyOf:
        - type: string
          enum:
            - EMAIL_ADDRESS
            - MSISDN # Included for backwards compatibility, shall not be used
            - IPV4_ADDRESS
            - IPV6_ADDRESS
            - NUMERIC_SHORTCODE
            - ALPHANUMERIC_SHORTCODE
            - OTHER
            - IMSI # Included for backwards compatibility, shall not be used
        - type: string
    SMAddresseeType:
      anyOf:
        - type: string
          enum:
            - TO
            - CC
            - BCC
        - type: string
    SMServiceType:
      anyOf:
        - type: string
          enum:
            - VAS4SMS_SHORT_MESSAGE_CONTENT_PROCESSING
            - VAS4SMS_SHORT_MESSAGE_FORWARDING
            - VAS4SMS_SHORT_MESSAGE_FORWARDING_MULTIPLE_SUBSCRIPTIONS
            - VAS4SMS_SHORT_MESSAGE_FILTERING
            - VAS4SMS_SHORT_MESSAGE_RECEIPT
            - VAS4SMS_SHORT_MESSAGE_NETWORK_STORAGE
            - VAS4SMS_SHORT_MESSAGE_TO_MULTIPLE_DESTINATIONS
            - VAS4SMS_SHORT_MESSAGE_VIRTUAL_PRIVATE_NETWORK(VPN)
            - VAS4SMS_SHORT_MESSAGE_AUTO_REPLY
            - VAS4SMS_SHORT_MESSAGE_PERSONAL_SIGNATURE
            - VAS4SMS_SHORT_MESSAGE_DEFERRED_DELIVERY
        - type: string
    ReplyPathRequested:
      anyOf:
        - type: string
          enum:
            - NO_REPLY_PATH_SET
            - REPLY_PATH_SET
        - type: string
    oneTimeEventType:
      anyOf:
        - type: string
          enum:
            - IEC
            - PEC
        - type: string
    dnnSelectionMode:
      anyOf:
        - type: string
          enum:
            - VERIFIED
            - UE_DNN_NOT_VERIFIED
            - NW_DNN_NOT_VERIFIED
        - type: string
    APIDirection:
      anyOf:
        - type: string
          enum:
            - INVOCATION
            - NOTIFICATION
        - type: string
    RegistrationMessageType:
      anyOf:
        - type: string
          enum:
            - INITIAL
            - MOBILITY
            - PERIODIC
            - EMERGENCY
            - DEREGISTRATION
        - type: string
    MICOModeIndication:
      anyOf:
        - type: string
          enum:
            - MICO_MODE
            - NO_MICO_MODE
        - type: string
    SmsIndication:
      anyOf:
        - type: string
          enum:
            - SMS_SUPPORTED
            - SMS_NOT_SUPPORTED
        - type: string
    ManagementOperation:
      anyOf:
        - type: string
          enum:
            - CreateMOI       #Included for backwards compatibility, shall not be used
            - ModifyMOIAttributes #Included for backwards compatibility, shall not be used
            - DeleteMOI       #Included for backwards compatibility, shall not be used
            - CREATE_MOI
            - MODIFY_MOI_ATTR
            - DELETE_MOI
            - NOTIFY_MOI_CREATION
            - NOTIFY_MOI_ATTR_CHANGE
            - NOTIFY_MOI_DELETION
        - type: string
    ManagementOperationStatus:
      anyOf:
        - type: string
          enum:
            - OPERATION_SUCCEEDED
            - OPERATION_FAILED
        - type: string
    RedundantTransmissionType:
      anyOf:
        - type: string
          enum: 
            - NON_TRANSMISSION
            - END_TO_END_USER_PLANE_PATHS
            - N3_N9
            - TRANSPORT_LAYER
        - type: string
    VariablePartType:
      anyOf:
        - type: string
          enum:
            - INTEGER
            - NUMBER
            - TIME
            - DATE
            - CURRENCY
        - type: string
    QuotaConsumptionIndicator:
      anyOf:
        - type: string
          enum:
            - QUOTA_NOT_USED
            - QUOTA_IS_USED
        - type: string
    PlayToParty:
      anyOf:
        - type: string
          enum:
            - SERVED
            - REMOTE
        - type: string
    AnnouncementPrivacyIndicator:
      anyOf:
        - type: string
          enum:
            - NOT_PRIVATE
            - PRIVATE
        - type: string
    SupplementaryServiceType:
      anyOf:
        - type: string
          enum: 
            - OIP
            - OIR
            - TIP
            - TIR
            - HOLD
            - CB
            - CDIV
            - CW
            - MWI
            - CONF
            - FA
            - CCBS
            - CCNR
            - MCID
            - CAT
            - CUG
            - PNM
            - CRS
            - ECT
        - type: string
    SupplementaryServiceMode:
      anyOf:
        - type: string
          enum: 
            - CFU
            - CFB
            - CFNR
            - CFNL
            - CD
            - CFNRC
            - ICB
            - OCB
            - ACR
            - BLIND_TRANFER
            - CONSULTATIVE_TRANFER
        - type: string
    ParticipantActionType:
      anyOf:
        - type: string
          enum: 
            - CREATE
            - JOIN
            - INVITE_INTO
            - QUIT
        - type: string
    TrafficForwardingWay:
      anyOf:
        - type: string
          enum:            
            - N6
            - N19 
            - LOCAL_SWITCH
        - type: string
    IMSNodeFunctionality:
      anyOf:
        - type: string
          enum:
# The applicable IMS Nodes are MRFC, IMS-GWF (connected to S-CSCF using ISC), SIP AS and DCSF. 
            - S_CSCF
            - P_CSCF
            - I_CSCF
            - MRFC
            - MGCF
            - BGCF
            - AS
            - IBCF
            - S-GW
            - P-GW
            - HSGW
            - E-CSCF 
            - MME 
            - TRF
            - TF
            - ATCF
            - PROXY
            - EPDG
            - TDF
            - TWAG
            - SCEF
            - IWK_SCEF
            - IMS_GWF
            - DCSF
        - type: string
    RoleOfIMSNode:
      anyOf:
        - type: string
          enum: 
            - ORIGINATING
            - TERMINATING
            - FORWARDING
        - type: string
    IMSSessionPriority:
      anyOf:
        - type: string
          enum: 
            - PRIORITY_0
            - PRIORITY_1
            - PRIORITY_2
            - PRIORITY_3
            - PRIORITY_4
        - type: string
    MediaInitiatorFlag:
      anyOf:
        - type: string
          enum: 
            - CALLED_PARTY
            - CALLING_PARTY
            - UNKNOWN
        - type: string
    SDPType:
      anyOf:
        - type: string
          enum: 
            - OFFER
            - ANSWER
        - type: string
    OriginatorPartyType:
      anyOf:
        - type: string
          enum: 
            - CALLING
            - CALLED
        - type: string
    AccessTransferType:
      anyOf:
        - type: string
          enum: 
            - PS_TO_CS
            - CS_TO_PS
            - PS_TO_PS
            - CS_TO_CS
        - type: string
    UETransferType:
      anyOf:
        - type: string
          enum: 
            - INTRA_UE
            - INTER_UE
        - type: string
    NNISessionDirection:
      anyOf:
        - type: string
          enum: 
            - INBOUND
            - OUTBOUND
        - type: string
    NNIType:
      anyOf:
        - type: string
          enum: 
            - NON_ROAMING
            - ROAMING_NO_LOOPBACK
            - ROAMING_LOOPBACK
        - type: string
    NNIRelationshipMode:
      anyOf:
        - type: string
          enum: 
            - TRUSTED
            - NON_TRUSTED
        - type: string
    TADIdentifier:
      anyOf:
        - type: string
          enum: 
            - CS
            - PS
        - type: string
    ProseFunctionality:
      anyOf:
        - type: string
          enum: 
            - DIRECT_DISCOVERY
            - DIRECT_COMMUNICATION
        - type: string
    ProseEventType:
      anyOf:
        - type: string
          enum: 
            - ANNOUNCING
            - MONITORING
            - MATCH_REPORT
        - type: string
    DirectDiscoveryModel:
      anyOf:
        - type: string
          enum: 
            - MODEL_A
            - MODEL_B
        - type: string
    RoleOfUE:
      anyOf:
        - type: string
          enum: 
            - ANNOUNCING_UE
            - MONITORING_UE
            - REQUESTOR_UE
            - REQUESTED_UE
        - type: string
    RangeClass:
      anyOf:
        - type: string
          enum: 
            - RESERVED
            - 50_METER
            - 100_METER
            - 200_METER
            - 500_METER
            - 1000_METER
            - UNUSED
        - type: string
    RadioResourcesIndicator:
      anyOf:
        - type: string
          enum: 
            - OPERATOR_PROVIDED
            - CONFIGURED
        - type: string
    MbsDeliveryMethod:
      anyOf:
        - type: string
          enum: 
            - SHARED
            - INDIVIDUAL
        - type: string
    TSCFlowDirection:
      anyOf:
        - type: string
          enum: 
            - UPLINK
            - DOWNLINK
        - type: string
    TimeDistributionMethod:
      anyOf:
        - type: string
          enum: 
            - GPTP
            - ASTI
        - type: string
    AllocateUnitIndicator:
      anyOf:
        - type: string
          enum:
            - CHF_DETERMINED
            - CTF_DETERMINED
        - type: string
    NSSAAMessageType:
      anyOf:
        - type: string
          enum: 
            - Authenticate
            - Re-Authentication-Notification
            - Revocation Notification
        - type: string
    LocationType:
      anyOf:
        - type: string
          enum: 
            - CURRENT_LOCATION
            - LAST_KNOWN_LOCATION
            - INITIAL_LOCATION
            - DEFERRED_LOCATION
            - NOTIFICATION_VERIFICATION
        - type: string


