Commit 8c0580ac authored by Jesus de Gregorio's avatar Jesus de Gregorio
Browse files

CT#106

parent e33304cc
Loading
Loading
Loading
Loading
+155 −0
Original line number Diff line number Diff line
openapi: 3.0.0

info:
  title: LMS_LocationInformation
  version: 1.0.0-alpha.1
  description: |
    API for Requesting and subscribing on Location Information from LMS Service.  
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: 3GPP TS 24.283 V0.4.0; Mission Critical Location Management (MCLoc).
  url: http://www.3gpp.org/ftp/Specs/archive/24_series/24.283/

servers:
  - url: '{apiRoot}/lms-location-information/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in clause 8.2.44D1 of 3GPP TS 24.483

security:
  - BearerAuth: []

paths:
  /requests:
    post:
      description: Creates a new indiviual client location request in the LMS.
      security: 
        - BearerAuth: []
      operationId: requestLMC
      tags:
        - LMS Location Request (Collection)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientOriginatingLocationRequest'
      responses:
        '201':
          description: Successful location request submitted from LMC.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientOriginatingLocationRequest'
          headers:
            Location:
              description: Contains the URI of the newly created resource.
              required: true
              schema:
                type: string
        '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':
          $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'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
      callbacks:
        locationRequestResponse:
          '{request.body#/locationRequestResponseUri}':
            post:
              requestBody: 
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/LocationNotification'
              responses:
                '204':
                  description: No Content (The receipt of the Configuration is acknowledged).
                '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':
                  $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'
                '503':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/503'
                default:
                  $ref: 'TS29571_CommonData.yaml#/components/responses/default'

components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

# API specific definitions
  schemas:

    ClientOriginatingLocationRequest:
      description: Represents an location request object used to request
        location infromation from the LMS.
      type: object
      properties:
        functionalAliasIds:
          type: array
          items:
            type: string
            format: uri
            description: A list of activated Functiona Alias Id of requested MC Users.
        mcServiceIds:
          type: array
          items:
            type: string
            format: uri
            description: A list of MC service IDs of the MC users for which 
              location information is requested MC Users.
      anyOf:
        - required: [functionalAliasIds]
        - required: [mcServiceIds]


    LocationNotification:
      description: Represents an location notification response, Content of this object is FFS
      type: object
      properties:
        mcUEResponseList:
          type: array
          items:
            $ref: 'TS24283_Lms_LocationReport.yaml#/components/schemas/MCUELocation'
          description: Content of this object is FFS
+237 −0
Original line number Diff line number Diff line
openapi: 3.0.0

info:
  title: LMS_LocationReport
  version: 1.0.0-alpha.2
  description: |
    API for LocationReports to LMS Service.
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.

externalDocs:
  description: 3GPP TS 24.283 v0.4.0; Mission Critical Location Management (MCLoc).
  url: http://www.3gpp.org/ftp/Specs/archive/24_series/24.283/

servers:
  - url: '{apiRoot}/lms-location-report/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in clause 8.2.44D1 of 3GPP TS 24.483

security:
  - BearerAuth: []

paths:
  /locationreports:
    post:
      summary: submit a MC UE location report
      security: 
        - BearerAuth: []
      operationId: submitLocationReport
      tags:
        - MC UE Location Report (Collection)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MCUELocation'
      responses:
        '201':
          description: Successful submission of location report.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MCUELocation'
        '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':
          $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'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

# API specific definitions
  schemas:
    MCUELocation:
      description: Describes the parameters to perform LMS Location reports.
      type: object
      properties:
        functionalAlias:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        interRatType:
          $ref: '#/components/schemas/InterRatType'
        locationData:
          $ref: '#/components/schemas/LocationInfo'
        locTimestamp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        mclocClientId:
          $ref: '#/components/schemas/MclocClientId'
        mcServiceUELabel:
          type: string
          description: Used to identify the reporting MC UE for the end users, this may be used
            when multiple MC UEs are used by the same MC service user.
        reportId:
          type: string
          description: Attribute is used to return the value in the RequestId attribute 
            in the an Location Request.
        reportType:
          $ref: '#/components/schemas/ReportType'
        triggerId:
          type: array
          items:
            type: string
            description: Attribute which can occur multiple times that contain the value 
              of the TriggerId attribute associated with a trigger that has fired.

    MclocClientId:
      type: string
      format: uuid
      description: Used to identify the reporting LMC, this is required when multiple location
        information responses for different requested LMC are sent.

    LocationInfo:
      description: object that includes coordinates typically obtained from GPS.
      type: object
      properties:
        coordinate:
          $ref: '#/components/schemas/Coordinate'
        ecgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
        mbmsSaiId:
          type: integer
          minimum: 0
          maximum: 65535
          description: Attribute containing the MBMS Service Area Id the LMC is located in.
        mbsfnArea:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsfnArea'
        ncgi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        neighbouringEcgi:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
        neighbouringNcgi:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
        nr5GMbsfsaArea:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MbsFsaId'

    Coordinate:
      description: This object contains one specific location point, speed and bearing (e.g., 
        received from a GPS reciever).
      type: object
      properties:
        altitude:
          anyOf:
            - $ref: '#/components/schemas/TwoBytes'
        bearingAndSpeed:
          anyOf:
            - $ref: '#/components/schemas/BearingAndSpeed'
        horizontalaccuracy:
          anyOf:
            - $ref: '#/components/schemas/OneByteUnsignedHalfRange'
        latitude:
          anyOf:
            - $ref: '#/components/schemas/ThreeBytes'
        longitude:
          anyOf:
            - $ref: '#/components/schemas/ThreeBytes'
        verticalaccuracy:
          anyOf:
            - $ref: '#/components/schemas/OneByteUnsignedHalfRange'

#
# Simple Types:
#

    BearingAndSpeed:
      description: This object contains an optional attribute consisting of a 7 bytelong string of
        14 hexadecimal digits which encode the binary content of the bearing, horizontal velocity
        and vertical velocity, as well as horizontal and vertical speed uncertainties of the
        MC UE, according to clause 8.15 of 3GPP TS 23.032 [3], where the spare bits are set to 0.
        bearing and speed coded as in clause 8.15 in 3GPP TS 23.032
      type: object
      properties:
        bearingAndSpeed:
          type: string
          pattern: '^[A-Fa-f0-9]{14}$'
    OneByteUnsignedHalfRange:
      description: This object contains location accuracy coded as in clause 6.2 in 3GPP TS 23.032
      type: object
      properties:
        oneByteUnsignedHalfRange:
          type: integer
          minimum: 0
          maximum: 127
    ThreeBytes:
      description: This object contains one specific location point, in a three byte format
        according to TS 23.032 clause 6.1
      type: object
      properties:
        threeBytes:
          type: integer
          minimum: 0
          maximum: 16777215
    TwoBytes:
      description: This object contains one specific altitude, in a two byte format
        according to TS 23.032 clause 6.3
      type: object
      properties:
        twoBytes:
          type: integer
          minimum: -32768
          maximum: 32767

#
# Enumeration data types
#
    InterRatType:
      description: Attribute containing the inter-RAT change type.
      anyOf:
        - type: string
          enum: 
            - 5G_MBS_TO_LTE_MBMS
            - 5G_MBS_TO_LTE_UNICAST
            - LTE_MBMS_TO_5G_MBS
            - LTE_MBMS_TO_5G_UNICAST
        - type: string
          description: This string provides forward-compatibility with future extensions to the
            enumeration and is not used to encode content defined in the present version
            of this API.

    ReportType:
      description: Used to inform whether the LMC is sending the report in an emergency
        situation or not.
      anyOf:
        - type: string
          enum: 
            - EMERGENCY
            - NONEMERGENCY
        - type: string
          description: This string provides forward-compatibility with future extensions to the
            enumeration and is not used to encode content defined in the present version
            of this API.
+713 −0

File added.

Preview size limit exceeded, changes collapsed.

+9 −3
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ openapi: 3.0.0

info:
  title: ETC_Configuration
  version: 1.0.1
  version: 1.0.2
  description: |
    API for event triggered network slice adaptation configuration.  
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
@@ -10,7 +10,7 @@ info:

externalDocs:
  description: >
    3GPP TS 24.549 V18.3.0 Application Data Analytics Enablement Service; Stage 3.
    3GPP TS 24.549 V18.4.0 Application Data Analytics Enablement Service; Stage 3.
  url: https://www.3gpp.org/ftp/Specs/archive/24_series/24.549/

security:
@@ -25,7 +25,7 @@ servers:
        description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122.

paths:
  /configurations/{configurationId}:
  /val-services/{valServiceId}/configurations/{configurationId}:
    put:
      description: >
        Perfomrs event triggered network slice adaptation.
@@ -33,6 +33,12 @@ paths:
      tags:
        - Event triggered network adaptation (Document)
      parameters:
        - name: valServiceId
          description: String identifying the resource.
          in: path
          required: true
          schema:
            type: string
        - name: configurationId
          description: String identifying the resource.
          in: path
+94 −2
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ openapi: 3.0.0

info:
  title: NSCE_SliceInfo
  version: 1.0.0
  version: 1.0.1
  description: |
    API for notification of slice information.  
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
@@ -10,7 +10,7 @@ info:

externalDocs:
  description: >
    3GPP TS 24.549 V18.2.0 Network slice capability enablement- Service Enabler;
    3GPP TS 24.549 V18.4.0 Network slice capability enablement- Service Enabler;
    Architecture Layer for Verticals (SEAL); Protocol specification; Stage 3.
  url: https://www.3gpp.org/ftp/Specs/archive/24_series/24.549/

@@ -132,6 +132,59 @@ paths:
                default:
                  $ref: 'TS29122_CommonData.yaml#/components/responses/default'

  /ns-info-subscriptions:
    post:
    # This is a pseudo operation, NF service consumers shall NOT invoke this method!
      requestBody:
        required: true
        content:
          application/json:
            # Unspecified schema for the JSON body, since this is neither used by consumer nor by the producer.
            schema: {}
      responses:
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
      callbacks:
        NSInfoDelivery:
          '{callbackUri}':
          # The URI in {callbackUri} is not provided by SNSCE-C via NSCE_SliceInfo API in this Release.
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/NSInfoDel'
              responses:
                '204':
                  description: No Content, notification was succesfull.
                '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':
                  $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:
@@ -140,3 +193,42 @@ components:
        clientCredentials:
          tokenUrl: '{tokenUrl}'
          scopes: {}

  schemas:
    NSInfoDel:
      description: Represents the network slice information delivery.
      type: object
      properties:
        valServId:
          type: string
        tgtNsceServId:
          type: string
        tgtNsceAddr:
          $ref: 'TS29558_Eees_EASRegistration.yaml#/components/schemas/EndPoint' 
        valUeIds:
          type: array
          items:
            type: string
          minItems: 1
          description: Represents the list of VAL UEs ID.
        nSInfos:
          type: array
          items:
            $ref: '#/components/schemas/NSInfo'
          minItems: 1
      required:
        - valServId
        - tgtNsceServId
        - tgtNsceAddr
        - nSInfos

    NSInfo:
      description: Represents the network slice information.
      type: object
      properties:
        netSliceId:
          $ref: 'TS29435_NSCE_PolicyManagement.yaml#/components/schemas/NetSliceId'
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
      required:
        - netSliceId
Loading