openapi: 3.0.0

info:
  title: 3gpp-cp-parameter-provisioning
  version: 1.3.0
  description: |
    API for provisioning communication pattern parameters.  
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: 3GPP TS 29.122 V18.6.0 T8 reference point for Northbound APIs
  url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/'

security:
  - {}
  - oAuth2ClientCredentials: []

servers:
  - url: '{apiRoot}/3gpp-cp-parameter-provisioning/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122.

paths:
  /{scsAsId}/subscriptions:
    get:
      parameters:
        - name: scsAsId
          in: path
          description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122.
          required: true
          schema:
            type: string
      summary: Read all active CP parameter provisioning subscription resources for a given SCS/AS.
      operationId: FetchAllCPProvisioningSubscriptions
      tags:
        - CP provisioning Subscriptions
      responses:
        '200':
          description: OK. The subscription information related to the request URI is returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CpInfo'
                minItems: 0
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '406':
          $ref: 'TS29122_CommonData.yaml#/components/responses/406'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
    post:
      parameters:
        - name: scsAsId
          in: path
          description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122.
          required: true
          schema:
            type: string
      summary: Create a new subscription resource of provisioning CP parameter set(s).
      operationId: CreateCPProvisioningSubscription
      tags:
        - CP provisioning Subscriptions
      requestBody:
        description: >
          Create new subscriptions for a given SCS/AS and the provisioning CP parameter sets.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CpInfo'
      responses:
        '201':
          description: >
            Created. The subscription was created successfully. The SCEF shall return the created
            subscription in the response content.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CpInfo'
          headers:
            Location:
              description: 'Contains the URI of the newly created resource'
              required: true
              schema:
                type: string
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          description: >
            The CP parameters for all sets were not created successfully. CpReport may be included
            with detailed information.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CpReport'
                minItems: 1
            application/problem+json:
              schema:
                $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
  /{scsAsId}/subscriptions/{subscriptionId}:
    get:
      parameters:
        - name: scsAsId
          in: path
          description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122.
          required: true
          schema:
            type: string
        - name: subscriptionId
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
      summary: Read a CP parameter provisioning subscription resource.
      operationId: FetchIndCPProvisioningSubscription
      tags:
        - Individual CP Provisioning Subscription
      responses:
        '200':
          description: OK. The subscription information related to the request URI is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CpInfo'
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '406':
          $ref: 'TS29122_CommonData.yaml#/components/responses/406'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
    put:
      summary: Modify a CP parameter provisioning subscription resource.
      operationId: UpdateIndCPProvisioningSubscription
      tags:
        - Individual CP Provisioning Subscription
      requestBody:
        description: Modify a CP parameter provisioning subscription resource.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CpInfo'
      parameters:
        - name: scsAsId
          in: path
          description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122.
          required: true
          schema:
            type: string
        - name: subscriptionId
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >
            OK. The subscription was modified successfully. The SCEF shall return an updated
            subscription in the response content.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CpInfo'
        '204':
          description: >
            No Content. The subscription was modified successfully and no content is to be sent
            in the response message body.
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          description: >
            The CP parameters for all sets were not updated successfully. CpReport may be included
            with detailed information.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CpReport'
                minItems: 1
            application/problem+json:
              schema:
                $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
    delete:
      parameters:
        - name: scsAsId
          in: path
          description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122.
          required: true
          schema:
            type: string
        - name: subscriptionId
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
      summary: Delete a CP parameter provisioning subscription resource.
      operationId: DeleteIndCPProvisioningSubscription
      tags:
        - Individual CP Provisioning Subscription
      responses:
        '204':
          description: >
            No Content. The subscription was deleted successfully. The content shall be empty.
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
  /{scsAsId}/subscriptions/{subscriptionId}/cpSets/{setId}:
    get:
      parameters:
        - name: scsAsId
          in: path
          description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122.
          required: true
          schema:
            type: string
        - name: subscriptionId
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
        - name: setId
          in: path
          description: Identifier of the CP parameter set
          required: true
          schema:
            type: string
      summary: Read CP at individual CP set(s) level associated with a CP parameter set Id.
      operationId: FetchIndCPSetProvisioning
      tags:
        - Individual CP set Provisioning
      responses:
        '200':
          description: OK. The subscription information related to the request URI is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CpParameterSet'
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '406':
          $ref: 'TS29122_CommonData.yaml#/components/responses/406'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
    put:
      summary: Update CP at individual CP set(s) level associated with a CP parameter set Id.
      operationId: UpdateIndCPSetProvisioning
      tags:
        - Individual CP set Provisioning
      requestBody:
        description: Change information for a CP parameter set.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CpParameterSet'
      parameters:
        - name: scsAsId
          in: path
          description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122.
          required: true
          schema:
            type: string
        - name: subscriptionId
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
        - name: setId
          in: path
          description: Identifier of the CP parameter set
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >
            OK. The CP parameter set resource was modified successfully. The SCEF shall return an
            updated CP parameter set resource in the response content.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CpParameterSet'
        '204':
          description: >
            No Content. The CP parameter set resource was modified successfully and no content
            is to be sent in the response message body.
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '409':
          description: The CP parameters for the CP set were not updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CpReport'
            application/problem+json:
              schema:
                $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          description: The CP parameters for the CP set were not updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CpReport'
            application/problem+json:
              schema:
                $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
    delete:
      parameters:
        - name: scsAsId
          in: path
          description: Identifier of the SCS/AS as defined in clause 5.2.4 of 3GPP TS 29.122.
          required: true
          schema:
            type: string
        - name: subscriptionId
          in: path
          description: Subscription ID
          required: true
          schema:
            type: string
        - name: setId
          in: path
          description: Identifier of the CP parameter set
          required: true
          schema:
            type: string
      summary: Delete CP at individual CP set(s) level associated with a CP parameter set Id.
      operationId: DeleteIndCPSetProvisioning
      tags:
        - Individual CP set Provisioning
      responses:
        '204':
          description: >
            No Content. The subscription was deleted successfully. The content shall be empty.
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{tokenUrl}'
          scopes: {}

  schemas: 
    CpInfo:
      description: Represents the resources for communication pattern parameter provisioning.
      type: object
      properties:
        self:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        mtcProviderId:
          type: string
          description: Identifies the MTC Service Provider and/or MTC Application.
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        externalId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId'
        msisdn:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn'
        externalGroupId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId'
        cpParameterSets:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CpParameterSet'
          minProperties: 1
          description: >
            Identifies a set of CP parameter information that may be part of this CpInfo structure.
            Any string value can be used as a key of the map.
        cpReports:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CpReport'
          minProperties: 1
          description: >
            Supplied by the SCEF and contains the CP set identifiers for which CP parameter(s) are
            not added or modified successfully. The failure reason is also included. Each element
            provides the related information for one or more CP set identifier(s) and is identified
            in the map via the failure identifier as key.
          readOnly: true
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        ueIpAddr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
        ueMacAddr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
      required:
        - cpParameterSets
      oneOf:
        - required: [externalId]
        - required: [msisdn]
        - required: [externalGroupId]

    CpParameterSet:
      description: Represents an offered communication pattern parameter set.
      type: object
      properties:
        setId:
          type: string
          description: >
            SCS/AS-chosen correlator provided by the SCS/AS in the request to create a resource
            for CP parameter set(s). 
        self:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        validityTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
        periodicCommunicationIndicator:
          $ref: '#/components/schemas/CommunicationIndicator'
        communicationDurationTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec'
        periodicTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec'
        scheduledCommunicationTime:
          $ref: '#/components/schemas/ScheduledCommunicationTime'
        scheduledCommunicationType:
          $ref: '#/components/schemas/ScheduledCommunicationType'
        stationaryIndication:
          $ref: '#/components/schemas/StationaryIndication'
        batteryInds:
          type: array
          items:
            $ref: '#/components/schemas/BatteryIndication'
          minItems: 1
        trafficProfile:
          $ref: '#/components/schemas/TrafficProfile'
        expectedUmts:
          type: array
          items:
            $ref: '#/components/schemas/UmtLocationArea5G'
          minItems: 1
          description: >
            Identifies the UE's expected geographical movement. The attribute is only applicable
            in 5G.
        expectedUmtDays:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DayOfWeek'
        expectedUmtDaysAdd:
          type: array
          items:
            $ref: 'TS29122_CommonData.yaml#/components/schemas/DayOfWeek'
          minItems: 1
          maxItems: 5
          description: Identifies the additional day(s) of the week.
        appExpUeBehv:
          $ref: '#/components/schemas/AppExpUeBehaviour'
        confidenceLevel:
          type: string
          pattern: '^[0]\.[0-9]{2}|[1.00]$'
        accuracyLevel:
          type: string
          pattern: '^[0]\.[0-9]{2}|[1.00]$'
      required:
        - setId

    ScheduledCommunicationTime:
      description: Represents an offered scheduled communication time.
      type: object
      properties:
        daysOfWeek:
          type: array
          items:
            $ref: 'TS29122_CommonData.yaml#/components/schemas/DayOfWeek'
          minItems: 1
          maxItems: 6
          description: >
            Identifies the day(s) of the week. If absent, it indicates every day of the week.
        timeOfDayStart:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay'
        timeOfDayEnd:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay'

    CpReport:
      description: >
        Represents a CP report indicating the CP set identifier(s) which CP parameter(s) are not
        added or modified successfully and the corresponding failure cause(s).
      type: object
      properties:
        setIds:
          type: array
          items:
            type: string
          minItems: 1
          description: >
            Identifies the CP set identifier(s) which CP parameter(s) are not added or modified
            successfully
        failureCode:
          $ref: '#/components/schemas/CpFailureCode'
      required:
        - failureCode

    UmtLocationArea5G:
      description: Represents the user location area describing the UE moving trajectory.
      allOf:
        - $ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G'
        - type: object
          properties:
            umtTime:
              $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay'
            umtDuration:
              $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec'

    AppExpUeBehaviour:
      description: Contains the Application Specificf Expected UE Behaviour parameters.
      type: object
      properties:
        appId:
          type: string
          description: Indicates the Application Identifier.
        expPduSesInacTm:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow'
        flowDescriptions:
          type: array
          items:
            type: string
          minItems: 1
          description: >
            Represents a 3-tuple with protocol, server ip and server port for UL/DL application
            traffic. The content of the string has the same encoding as the IPFilterRule AVP
            value as defined in IETF RFC 6733.
        confidenceLevel:
          type: string
          pattern: '^[0]\.[0-9]{2}|[1.00]$'
        accuracyLevel:
          type: string
          pattern: '^[0]\.[0-9]{2}|[1.00]$'
        failureCode:
          $ref: '#/components/schemas/CpFailureCode'
        validityTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
      oneOf:
        - required: [appId]
        - required: [flowDescriptions]

    CommunicationIndicator:
      anyOf:
      - type: string
        enum:
          - PERIODICALLY
          - ON_DEMAND
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Represents the type of the communication.  
        Possible values are:
        - PERIODICALLY: Identifies the UE communicates periodically
        - ON_DEMAND: Identifies the UE communicates on demand

    StationaryIndication:
      anyOf:
      - type: string
        enum:
          - STATIONARY
          - MOBILE
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Represents the stationarity of the UE.  
        Possible values are:
        - STATIONARY: Identifies the UE is stationary
        - MOBILE: Identifies the UE is mobile

    CpFailureCode:
      anyOf:
      - type: string
        enum:
          - MALFUNCTION
          - SET_ID_DUPLICATED
          - OTHER_REASON
          - CONFIDENCE_LEVEL_NOT_SUFFICIENT
          - ACCURACY_LEVEL_NOT_SUFFICIENT
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Represents the failure reason of the CP parameter provisioning.  
        Possible values are
        - MALFUNCTION: This value indicates that something functions wrongly in CP parameter
          provisioning or the CP parameter provisioning does not function at all.
        - SET_ID_DUPLICATED: The received CP set identifier(s) are already provisioned.
        - OTHER_REASON: Other reason unspecified.
        - CONFIDENCE_LEVEL_NOT_SUFFICIENT: The received confidence level for the expected UE
          parameter is not sufficient.
        - ACCURACY_LEVEL_NOT_SUFFICIENT: The received accuracy level for the expected UE parameter
          is not sufficient.

    BatteryIndication:
      anyOf:
      - type: string
        enum:
          - BATTERY_RECHARGE
          - BATTERY_REPLACE
          - BATTERY_NO_RECHARGE
          - BATTERY_NO_REPLACE
          - NO_BATTERY
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Represents the type of power consumption.  
        Possible values are:
        - BATTERY_RECHARGE: UE powered with rechargeable battery.
        - BATTERY_REPLACE: UE powered with replaceable battery.
        - BATTERY_NO_RECHARGE: UE powered with no rechargeable battery.
        - BATTERY_NO_REPLACE: UE powered with no replaceable battery.
        - NO_BATTERY: UE not battery powered.

    TrafficProfile:
      anyOf:
      - type: string
        enum:
          - SINGLE_TRANS_UL
          - SINGLE_TRANS_DL
          - DUAL_TRANS_UL_FIRST
          - DUAL_TRANS_DL_FIRST
          - MULTI_TRANS
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Represents the type of data transmission.  
        Possible values are:
        - SINGLE_TRANS_UL: Uplink single packet transmission.
        - SINGLE_TRANS_DL: Downlink single packet transmission.
        - DUAL_TRANS_UL_FIRST: Dual packet transmission, firstly uplink packet transmission with
          subsequent downlink packet transmission.
        - DUAL_TRANS_DL_FIRST: Dual packet transmission, firstly downlink packet transmission with
          subsequent uplink packet transmission.
        - MULTI_TRANS: Multiple packet transmission.

    ScheduledCommunicationType:
      anyOf:
      - type: string
        enum:
          - DOWNLINK
          - UPLINK
          - BIDIRECTIONAL
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: |
        Represents the type of scheduled communication.  
        Possible values are:
        - DOWNLINK: Downlink only.
        - UPLINK: Uplink only.
        - BIDIRECTIONAL: Bi-directional.
