forked from acouzens/open5gs
312 lines
11 KiB
YAML
312 lines
11 KiB
YAML
|
openapi: 3.0.0
|
||
|
info:
|
||
|
version: 1.0.2
|
||
|
title: Namf_Location
|
||
|
description: |
|
||
|
AMF Location Service
|
||
|
(C) 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
|
||
|
All rights reserved.
|
||
|
security:
|
||
|
- {}
|
||
|
- oAuth2ClientCredentials:
|
||
|
- namf-loc
|
||
|
externalDocs:
|
||
|
description: 3GPP TS 29.518 V15.3.0; 5G System; Access and Mobility Management Services
|
||
|
url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/'
|
||
|
servers:
|
||
|
- url: '{apiRoot}/namf-loc/v1'
|
||
|
variables:
|
||
|
apiRoot:
|
||
|
default: https://example.com
|
||
|
description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501
|
||
|
paths:
|
||
|
/{ueContextId}/provide-pos-info:
|
||
|
post:
|
||
|
summary: Namf_Location ProvidePositioningInfo service Operation
|
||
|
tags:
|
||
|
- Individual UE context (Document)
|
||
|
operationId: ProvidePositioningInfo
|
||
|
parameters:
|
||
|
- name: ueContextId
|
||
|
in: path
|
||
|
description: UE Context Identifier
|
||
|
required: true
|
||
|
schema:
|
||
|
type: string
|
||
|
pattern: '^(imsi-[0-9]{5,15}|nai-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$'
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/RequestPosInfo'
|
||
|
required: true
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Expected response to a valid request
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/ProvidePosInfo'
|
||
|
'400':
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/responses/400'
|
||
|
'403':
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/responses/403'
|
||
|
'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'
|
||
|
'504':
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/responses/504'
|
||
|
default:
|
||
|
description: Unexpected error
|
||
|
callbacks:
|
||
|
onUELocationNotification:
|
||
|
'{$request.body#/locationNotificationUri}':
|
||
|
post:
|
||
|
requestBody:
|
||
|
description: UE Location Event Notification
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/NotifiedPosInfo'
|
||
|
responses:
|
||
|
'204':
|
||
|
description: Expected response to a successful callback processing
|
||
|
'400':
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/responses/400'
|
||
|
'403':
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/responses/403'
|
||
|
'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'
|
||
|
/{ueContextId}/provide-loc-info:
|
||
|
post:
|
||
|
summary: Namf_Location ProvideLocationInfo service Operation
|
||
|
tags:
|
||
|
- Individual UE context (Document)
|
||
|
operationId: ProvideLocationInfo
|
||
|
parameters:
|
||
|
- name: ueContextId
|
||
|
in: path
|
||
|
description: UE Context Identifier
|
||
|
required: true
|
||
|
schema:
|
||
|
type: string
|
||
|
pattern: '^(imsi-[0-9]{5,15}|nai-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$'
|
||
|
requestBody:
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/RequestLocInfo'
|
||
|
required: true
|
||
|
responses:
|
||
|
'200':
|
||
|
description: Expected response to a valid request
|
||
|
content:
|
||
|
application/json:
|
||
|
schema:
|
||
|
$ref: '#/components/schemas/ProvideLocInfo'
|
||
|
'400':
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/responses/400'
|
||
|
'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:
|
||
|
description: Unexpected error
|
||
|
components:
|
||
|
securitySchemes:
|
||
|
oAuth2ClientCredentials:
|
||
|
type: oauth2
|
||
|
flows:
|
||
|
clientCredentials:
|
||
|
tokenUrl: '{nrfApiRoot}/oauth2/token'
|
||
|
scopes:
|
||
|
namf-loc: Access to the Namf_Location API
|
||
|
schemas:
|
||
|
RequestPosInfo:
|
||
|
type: object
|
||
|
properties:
|
||
|
lcsClientType:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType'
|
||
|
lcsLocation:
|
||
|
$ref: '#/components/schemas/LocationType'
|
||
|
supi:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
|
||
|
gpsi:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
|
||
|
priority:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LcsPriority'
|
||
|
lcsQoS:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS'
|
||
|
velocityRequested:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityRequested'
|
||
|
lcsSupportedGADShapes:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/SupportedGADShapes'
|
||
|
locationNotificationUri:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
|
||
|
supportedFeatures:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
|
||
|
required:
|
||
|
- lcsClientType
|
||
|
- lcsLocation
|
||
|
ProvidePosInfo:
|
||
|
type: object
|
||
|
properties:
|
||
|
locationEstimate:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea'
|
||
|
accuracyFulfilmentIndicator:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AccuracyFulfilmentIndicator'
|
||
|
ageOfLocationEstimate:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate'
|
||
|
velocityEstimate:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate'
|
||
|
positioningDataList:
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethodAndUsage'
|
||
|
minItems: 0
|
||
|
maxItems: 9
|
||
|
gnssPositioningDataList:
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GnssPositioningMethodAndUsage'
|
||
|
minItems: 0
|
||
|
maxItems: 9
|
||
|
ecgi:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
|
||
|
ncgi:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
|
||
|
targetServingNode:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
|
||
|
civicAddress:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress'
|
||
|
barometricPressure:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/BarometricPressure'
|
||
|
altitude:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Altitude'
|
||
|
supportedFeatures:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
|
||
|
NotifiedPosInfo:
|
||
|
type: object
|
||
|
properties:
|
||
|
locationEvent:
|
||
|
$ref: '#/components/schemas/LocationEvent'
|
||
|
supi:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
|
||
|
gpsi:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
|
||
|
pei:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
|
||
|
locationEstimate:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea'
|
||
|
ageOfLocationEstimate:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate'
|
||
|
velocityEstimate:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate'
|
||
|
positioningDataList:
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethodAndUsage'
|
||
|
minItems: 0
|
||
|
maxItems: 9
|
||
|
gnssPositioningDataList:
|
||
|
type: array
|
||
|
items:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GnssPositioningMethodAndUsage'
|
||
|
minItems: 0
|
||
|
maxItems: 9
|
||
|
ecgi:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'
|
||
|
ncgi:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'
|
||
|
servingNode:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
|
||
|
civicAddress:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress'
|
||
|
barometricPressure:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/BarometricPressure'
|
||
|
altitude:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Altitude'
|
||
|
required:
|
||
|
- locationEvent
|
||
|
RequestLocInfo:
|
||
|
type: object
|
||
|
properties:
|
||
|
req5gsLoc:
|
||
|
type: boolean
|
||
|
default: false
|
||
|
reqCurrentLoc:
|
||
|
type: boolean
|
||
|
default: false
|
||
|
reqRatType:
|
||
|
type: boolean
|
||
|
default: false
|
||
|
reqTimeZone:
|
||
|
type: boolean
|
||
|
default: false
|
||
|
supportedFeatures:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
|
||
|
ProvideLocInfo:
|
||
|
type: object
|
||
|
properties:
|
||
|
currentLoc:
|
||
|
type: boolean
|
||
|
location:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
|
||
|
geoInfo:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea'
|
||
|
locatoinAge:
|
||
|
$ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate'
|
||
|
ratType:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
|
||
|
timezone:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
|
||
|
supportedFeatures:
|
||
|
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
|
||
|
LocationType:
|
||
|
anyOf:
|
||
|
- type: string
|
||
|
enum:
|
||
|
- CURRENT_LOCATION
|
||
|
- CURRENT_OR_LAST_KNOWN_LOCATION
|
||
|
- INITIAL_LOCATION
|
||
|
- type: string
|
||
|
LocationEvent:
|
||
|
anyOf:
|
||
|
- type: string
|
||
|
enum:
|
||
|
- EMERGENCY_CALL_ORIGINATION
|
||
|
- EMERGENCY_CALL_RELEASE
|
||
|
- EMERGENCY_CALL_HANDOVER
|
||
|
- type: string
|