Commit 0d1d888f authored by belling's avatar belling
Browse files

Upload New File

parent b0b5c562
Loading
Loading
Loading
Loading
+266 −0
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  version: '2.0.0'
  title: 'Nsmsf_SMService Service API'
  description: 'SMSF SMService Service API'
security:
  - oAuth2ClientCredentials:
    - nsmsf-sms
  - {}
servers:
  - url: '{apiRoot}/nsmsf-sms/v2'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501.
paths:
  /ue-contexts/{supi}:
    put:
      summary: Activate SMS Service for a given UE
      operationId: SMServiceActivation
      tags:
        - UEContext (Document)
      parameters:
        - name: supi
          in: path
          required: true
          description: Subscriber Permanent Identifier (SUPI)
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UeSmsContextData'
        required: true
      responses:
        '201':
          description: UE Context for SMS is created in SMSF
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UeSmsContextData'
          headers:
            Location:
              description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nsmsf-sms/{apiVersion}/ue-contexts/{supi}'
              required: true
              schema:
                type: string
        '204':
          description: UE Context for SMS is updated in SMSF
        '400':
          description: Invalid Service Request
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '403':
          description: Unable to create/update UE Context for SMS in SMSF
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '404':
          description: Unable to found subscription for service user or UE Context for SMS in SMSF
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '503':
          description: Service Unavailable
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        default:
          description: Unexpected error
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
    delete:
      summary: Deactivate SMS Service for a given UE
      operationId: SMServiceDeactivation
      tags:
        - UEContext (Document)
      parameters:
        - name: supi
          in: path
          required: true
          description: Subscriber Permanent Identifier (SUPI)
          schema:
            type: string
      responses:
        '204':
          description: UE Context for SMS is deleted from SMSF
        '400':
          description: Invalid Service Request
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '404':
          description: Unable to found UE Context for SMS in SMSF
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '503':
          description: Service Unavailable
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
  /ue-contexts/{supi}/sendsms:
    post:
      summary: Send SMS payload for a given UE
      operationId: SendSMS
      tags:
        - UEContext (Document)
      parameters:
        - name: supi
          in: path
          required: true
          description: Subscriber Permanent Identifier (SUPI)
          schema:
            type: string
      requestBody:
        content:
          multipart/related:
            schema:
              type: object
              properties:
                jsonData:
                  $ref: '#/components/schemas/SmsRecordData'
                binaryPayload:
                  type: string
                  format: binary
            encoding:
              jsonData:
                contentType: application/json
              binaryPayload:
                contentType: application/vnd.3gpp.sms
                headers:
                  Content-Id:
                    schema:
                      type: string
        required: true
      responses:
        '200':
          description: SMS payload is received by SMSF, and is being delivered out
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmsRecordDeliveryData'
        '400':
          description: Invalid Service Request
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '403':
          description: Unable to deliver SMS at SMSF
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '404':
          description: Unable to found UE Context for SMS in SMSF
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '503':
          description: Service Unavailable
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows: 
        clientCredentials: 
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            nsmsf-sms: Access to the nsmsf-sms API
  schemas:
    UeSmsContextData:
      type: object
      required:
        - supi
        - amfId
        - accessType
      properties:
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        amfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        guamis:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
          minItems: 1
        accessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        traceData:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
        backupAmfInfo:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/BackupAmfInfo'
          minItems: 1
        udmGroupId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfGroupId'
        routingIndicator:
          type: string
    SmsRecordData:
      type: object
      required:
        - smsRecordId
        - smsPayload
      properties:
        smsRecordId:
          $ref: '#/components/schemas/RecordId'
        smsPayload:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RefToBinaryData'
        accessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        ueLocation:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
    RecordId:
      type: string
    SmsRecordDeliveryData:
      type: object
      required:
        - smsRecordId
        - deliveryStatus
      properties:
        smsRecordId:
          $ref: '#/components/schemas/RecordId'
        deliveryStatus:
          $ref: '#/components/schemas/SmsDeliveryStatus'
    SmsDeliveryStatus:
      type: string
      enum:
        - SMS_DELIVERY_PENDING
        - SMS_DELIVERY_COMPLETED
        - SMS_DELIVERY_FAILED
externalDocs:
  description: 3GPP TS 29.540 V15.3.0; 5G System; SMS Services; Stage 3
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.540/'