Nlmf_Location

The Nlmf_Location service enables an NF to request location determination (current geodetic and optionally civic location) for a target UE.

Reference: 3GPP TS 129 572 V15.0.0

OpenAPI

OpenAPI Version: 3.0.0

info

Version: '1.0.0'

Title: 'LMF Location'

Description: 'LMF Location Service'

externalDocs

Description: 3GPP TS 29.572 V15.2.0; 5G System; Location Management Services; Stage 3

URL: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.572/'

security

- {}

- oAuth2ClientCredentials:

- nlmf-loc

servers

URL: '{apiRoot}/nlmf-loc/v1'

Variables:

API Root:

Default: https://example.com

Description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501

paths

/determine-location

Method: Post

Summary: Determine Location of an UE

Operation ID: DetermineLocation

Tags:

- Determine Location

Request Body:

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/InputData'

Required/Optional: true

Responses:

'200' Expected response to a valid request

Content:

Application/JSON:

Schema:

Reference: '#/components/schemas/LocationData'

'400': Reference 'TS29571_CommonData.yaml#/components/responses/400'

'403': Reference 'TS29571_CommonData.yaml#/components/responses/403'

'404': Reference 'TS29571_CommonData.yaml#/components/responses/404'

'411': Reference 'TS29571_CommonData.yaml#/components/responses/411'

'413': Reference 'TS29571_CommonData.yaml#/components/responses/413'

'415': Reference 'TS29571_CommonData.yaml#/components/responses/415'

'500': Reference 'TS29571_CommonData.yaml#/components/responses/500'

'501': Reference 'TS29571_CommonData.yaml#/components/responses/501'

'503': Reference 'TS29571_CommonData.yaml#/components/responses/503'

default: Reference 'TS29571_CommonData.yaml#/components/responses/default'

components

securitySchemes

oAuth2ClientCredentials

Type: oauth2

Flows:

clientCredentials:

tokenUrl: '{nrfApiRoot}/oauth2/token'

scopes:

nlmf-loc: Access to the Nlmf_Location API

schemas

# COMPLEX TYPES

InputData

Type: object

not:

Required: [ ecgi, ncgi ]

Properties:

externalClientType:

Reference: '#/components/schemas/ExternalClientType'

correlationID:

Reference: '#/components/schemas/CorrelationID'

amfId:

Reference: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'

locationQoS:

Reference: '#/components/schemas/LocationQoS'

supportedGADShapes:

Type: array

Items:

Reference: '#/components/schemas/SupportedGADShapes'

minItems: 1

supi:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Supi'

pei:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Pei'

gpsi:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'

ecgi:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'

ncgi:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'

priority:

Reference: '#/components/schemas/LcsPriority'

velocityRequested:

Reference: '#/components/schemas/VelocityRequested'

LocationData

Type: object

Required:

- locationEstimate

Properties:

locationEstimate:

Reference: '#/components/schemas/GeographicArea'

accuracyFulfilmentIndicator:

Reference: '#/components/schemas/AccuracyFulfilmentIndicator'

ageOfLocationEstimate:

Reference: '#/components/schemas/AgeOfLocationEstimate'

velocityEstimate:

Reference: '#/components/schemas/VelocityEstimate'

civicAddress:

Reference: '#/components/schemas/CivicAddress'

positioningDataList:

Type: array

Items:

Reference: '#/components/schemas/PositioningMethodAndUsage'

minItems: 1

gnssPositioningDataList:

Type: array

Items:

Reference: '#/components/schemas/GnssPositioningMethodAndUsage'

minItems: 1

ecgi:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Ecgi'

ncgi:

Reference: 'TS29571_CommonData.yaml#/components/schemas/Ncgi'

altitude:

Reference: '#/components/schemas/Altitude'

barometricPressure:

Reference: '#/components/schemas/BarometricPressure'

GeographicArea

oneOf:

- $ref: '#/components/schemas/Point'

- $ref: '#/components/schemas/PointUncertaintyCircle'

- $ref: '#/components/schemas/PointUncertaintyEllipse'

- $ref: '#/components/schemas/Polygon'

- $ref: '#/components/schemas/PointAltitude'

- $ref: '#/components/schemas/PointAltitudeUncertainty'

- $ref: '#/components/schemas/EllipsoidArc'

GADShape

Type: object

Required:

- shape

Properties:

shape:

Reference: '#/components/schemas/SupportedGADShapes'

discriminator:

propertyName: shape

mapping:

POINT: '#/components/schemas/Point'

POINT_UNCERTAINTY_CIRCLE: '#/components/schemas/PointUncertaintyCircle'

POINT_UNCERTAINTY_ELLIPSE: '#/components/schemas/PointUncertaintyEllipse'

POLYGON: '#/components/schemas/Polygon'

POINT_ALTITUDE: '#/components/schemas/PointAltitude'

POINT_ALTITUDE_UNCERTAINTY: '#/components/schemas/PointAltitudeUncertainty'

ELLIPSOID_ARC: '#/components/schemas/EllipsoidArc'

Point

allOf:

- $ref: '#/components/schemas/GADShape'

- type: object

Required:

- point

Properties:

point:

Reference: '#/components/schemas/GeographicalCoordinates'

PointUncertaintyCircle

allOf:

- $ref: '#/components/schemas/GADShape'

- type: object

Required:

- point

- uncertainty

Properties:

point:

Reference: '#/components/schemas/GeographicalCoordinates'

uncertainty:

Reference: '#/components/schemas/Uncertainty'

PointUncertaintyEllipse

allOf:

- $ref: '#/components/schemas/GADShape'

- type: object

Required:

- point

- uncertaintyEllipse

- confidence

Properties:

point:

Reference: '#/components/schemas/GeographicalCoordinates'

uncertaintyEllipse:

Reference: '#/components/schemas/UncertaintyEllipse'

confidence:

Reference: '#/components/schemas/Confidence'

Polygon

allOf:

- $ref: '#/components/schemas/GADShape'

- type: object

Required:

- pointList

Properties:

pointList:

Reference: '#/components/schemas/PointList'

PointAltitude

allOf:

- $ref: '#/components/schemas/GADShape'

- type: object

Required:

- point

- altitude

Properties:

point:

Reference: '#/components/schemas/GeographicalCoordinates'

altitude:

Reference: '#/components/schemas/Altitude'

PointAltitudeUncertainty

allOf:

- $ref: '#/components/schemas/GADShape'

- type: object

Required:

- point

- altitude

- uncertaintyEllipse

- uncertaintyAltitude

- confidence

Properties:

point:

Reference: '#/components/schemas/GeographicalCoordinates'

altitude:

Reference: '#/components/schemas/Altitude'

uncertaintyEllipse:

Reference: '#/components/schemas/UncertaintyEllipse'

uncertaintyAltitude:

Reference: '#/components/schemas/Uncertainty'

confidence:

Reference: '#/components/schemas/Confidence'

EllipsoidArc

allOf:

- $ref: '#/components/schemas/GADShape'

- type: object

Required:

- point

- innerRadius

- uncertaintyRadius

- offsetAngle

- includedAngle

- confidence

Properties:

point:

Reference: '#/components/schemas/GeographicalCoordinates'

innerRadius:

Reference: '#/components/schemas/InnerRadius'

uncertaintyRadius:

Reference: '#/components/schemas/Uncertainty'

offsetAngle:

Reference: '#/components/schemas/Angle'

includedAngle:

Reference: '#/components/schemas/Angle'

confidence:

Reference: '#/components/schemas/Confidence'

GeographicalCoordinates

Type: object

Required:

- lon

- lat

Properties:

lon:

Type: number

format: float

Minimum: -180

Maximum: 180

lat:

Type: number

format: float

Minimum: -90

Maximum: 90

UncertaintyEllipse

Type: object

Required:

- semiMajor

- semiMinor

- orientationMajor

Properties:

semiMajor:

Reference: '#/components/schemas/Uncertainty'

semiMinor:

Reference: '#/components/schemas/Uncertainty'

orientationMajor:

Reference: '#/components/schemas/Orientation'

PointList

Type: array

Items:

Reference: '#/components/schemas/GeographicalCoordinates'

minItems: 3

maxItems: 15

LocationQoS

Type: object

Properties:

hAccuracy:

Reference: '#/components/schemas/Accuracy'

vAccuracy:

Reference: '#/components/schemas/Accuracy'

verticalRequested:

Type: boolean

responseTime:

Reference: '#/components/schemas/ResponseTime'

PositioningMethodAndUsage

Type: object

Required:

- method

- mode

- usage

Properties:

method:

Reference: '#/components/schemas/PositioningMethod'

mode:

Reference: '#/components/schemas/PositioningMode'

usage:

Reference: '#/components/schemas/Usage'

GnssPositioningMethodAndUsage

Type: object

Required:

- mode

- gnss

- usage

Properties:

mode:

Reference: '#/components/schemas/PositioningMode'

gnss:

Reference: '#/components/schemas/GnssId'

usage:

Reference: '#/components/schemas/Usage'

CivicAddress

Type: object

Properties:

country:

Type: string

A1:

Type: string

A2:

Type: string

A3:

Type: string

A4:

Type: string

A5:

Type: string

A6:

Type: string

PRD:

Type: string

POD:

Type: string

STS:

Type: string

HNO:

Type: string

HNS:

Type: string

LMK:

Type: string

LOC:

Type: string

NAM:

Type: string

PC:

Type: string

BLD:

Type: string

UNIT:

Type: string

ROOM:

Type: string

PLC:

Type: string

PCN:

Type: string

POBOX:

Type: string

ADDCODE:

Type: string

SEAT:

Type: string

RD:

Type: string

RDSEC:

Type: string

RDBR:

Type: string

RDSUBBR:

Type: string

PRM:

Type: string

POM:

Type: string

VelocityEstimate

oneOf:

- $ref: '#/components/schemas/HorizontalVelocity'

- $ref: '#/components/schemas/HorizontalWithVerticalVelocity'

- $ref: '#/components/schemas/HorizontalVelocityWithUncertainty'

- $ref: '#/components/schemas/HorizontalWithVerticalVelocityAndUncertainty'

HorizontalVelocity

Type: object

Required:

- hSpeed

- bearing

Properties:

hSpeed:

Reference: '#/components/schemas/HorizontalSpeed'

bearing:

Reference: '#/components/schemas/Angle'

HorizontalWithVerticalVelocity

Type: object

Required:

- hSpeed

- bearing

- vSpeed

- vDirection

Properties:

hSpeed:

Reference: '#/components/schemas/HorizontalSpeed'

bearing:

Reference: '#/components/schemas/Angle'

vSpeed:

Reference: '#/components/schemas/VerticalSpeed'

vDirection:

Reference: '#/components/schemas/VerticalDirection'

HorizontalVelocityWithUncertainty

Type: object

Required:

- hSpeed

- bearing

- hUncertainty

Properties:

hSpeed:

Reference: '#/components/schemas/HorizontalSpeed'

bearing:

Reference: '#/components/schemas/Angle'

hUncertainty:

Reference: '#/components/schemas/SpeedUncertainty'

HorizontalWithVerticalVelocityAndUncertainty

Type: object

Required:

- hSpeed

- bearing

- vSpeed

- vDirection

- hUncertainty

- vUncertainty

Properties:

hSpeed:

Reference: '#/components/schemas/HorizontalSpeed'

bearing:

Reference: '#/components/schemas/Angle'

vSpeed:

Reference: '#/components/schemas/VerticalSpeed'

vDirection:

Reference: '#/components/schemas/VerticalDirection'

hUncertainty:

Reference: '#/components/schemas/SpeedUncertainty'

vUncertainty:

Reference: '#/components/schemas/SpeedUncertainty'

# SIMPLE TYPES

Altitude

Type: number

format: float

Minimum: -32767

Maximum: 32767

Angle

Type: integer

Minimum: 0

Maximum: 360

Uncertainty

Type: number

format: float

Minimum: 0

Orientation

Type: integer

Minimum: 0

Maximum: 180

Confidence

Type: integer

Minimum: 0

Maximum: 100

Accuracy

Type: number

format: float

Minimum: 0

InnerRadius

Type: integer

format: int32

Minimum: 0

CorrelationID

Type: string

minLength: 1

maxLength: 255

AgeOfLocationEstimate

Type: integer

Minimum: 0

Maximum: 32767

HorizontalSpeed

Type: number

format: float

Minimum: 0

Maximum: 2047

VerticalSpeed

Type: number

format: float

Minimum: 0

Maximum: 255

SpeedUncertainty

Type: number

format: float

Minimum: 0

Maximum: 255

BarometricPressure

Type: integer

Minimum: 30000

Maximum: 115000

# ENUMS

ExternalClientType

anyOf:

- type: string

enum:

- EMERGENCY_SERVICES

- VALUE_ADDED_SERVICES

- PLMN_OPERATOR_SERVICES

- LAWFUL_INTERCEPT_SERVICES

- PLMN_OPERATOR_BROADCAST_SERVICES

- PLMN_OPERATOR_OM

- PLMN_OPERATOR_ANONYMOUS_STATISTICS

- PLMN_OPERATOR_TARGET_MS_SERVICE_SUPPORT

- type: string

SupportedGADShapes

anyOf:

- type: string

enum:

- POINT

- POINT_UNCERTAINTY_CIRCLE

- POINT_UNCERTAINTY_ELLIPSE

- POLYGON

- POINT_ALTITUDE

- POINT_ALTITUDE_UNCERTAINTY

- ELLIPSOID_ARC

- type: string

ResponseTime

anyOf:

- type: string

enum:

- LOW_DELAY

- DELAY_TOLERANT

- type: string

PositioningMethod

anyOf:

- type: string

enum:

- CELLID

- ECID

- OTDOA

- BAROMETRIC_PRESSURE

- WLAN

- BLUETOOTH

- MBS

- type: string

PositioningMode

anyOf:

- type: string

enum:

- UE_BASED

- UE_ASSISTED

- CONVENTIONAL

- type: string

GnssId

anyOf:

- type: string

enum:

- GPS

- GALILEO

- SBAS

- MODERNIZED_GPS

- QZSS

- GLONASS

- type: string

Usage

anyOf:

- type: string

enum:

- UNSUCCESS

- SUCCESS_RESULTS_NOT_USED

- SUCCESS_RESULTS_USED_TO_VERIFY_LOCATION

- SUCCESS_RESULTS_USED_TO_GENERATE_LOCATION

- SUCCESS_METHOD_NOT_DETERMINED

- type: string

LcsPriority

anyOf:

- type: string

enum:

- HIGHEST_PRIORITY

- NORMAL_PRIORITY

- type: string

VelocityRequested

anyOf:

- type: string

enum:

- VELOCITY_IS_NOT_REQUESTED

- VELOCITY_IS_REQUESTED

- type: string

AccuracyFulfilmentIndicator

anyOf:

- type: string

enum:

- REQUESTED_ACCURACY_FULFILLED

- REQUESTED_ACCURACY_NOT_FULFILLED

- type: string

VerticalDirection

Type: string

enum:

- UPWARD

- DOWNWARD