-- ASN1START

LPP-PDU-Definitions {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) lpp (7) version1 (1) lpp-PDU-Definitions (1) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

-- ASN1STOP
-- ASN1START

LPP-Message ::= SEQUENCE {
	transactionID			LPP-TransactionID	OPTIONAL,	-- Need ON
	endTransaction			BOOLEAN,
	sequenceNumber			SequenceNumber		OPTIONAL,	-- Need ON
	acknowledgement			Acknowledgement		OPTIONAL,	-- Need ON
	lpp-MessageBody			LPP-MessageBody		OPTIONAL	-- Need ON
}

SequenceNumber ::= INTEGER (0..255)

Acknowledgement ::= SEQUENCE {
	ackRequested	BOOLEAN,
	ackIndicator	SequenceNumber		OPTIONAL
}

-- ASN1STOP
-- ASN1START

LPP-MessageBody ::= CHOICE {
	c1						CHOICE {
		requestCapabilities			RequestCapabilities,
		provideCapabilities			ProvideCapabilities,
		requestAssistanceData		RequestAssistanceData,
		provideAssistanceData		ProvideAssistanceData,
		requestLocationInformation	RequestLocationInformation,
		provideLocationInformation	ProvideLocationInformation,
		abort						Abort,
		error						Error,
		spare7 NULL, spare6 NULL, spare5 NULL, spare4 NULL,
		spare3 NULL, spare2 NULL, spare1 NULL, spare0 NULL
	},
	messageClassExtension	SEQUENCE {}
}

-- ASN1STOP
-- ASN1START

LPP-TransactionID ::= SEQUENCE {
	initiator				Initiator,
	transactionNumber		TransactionNumber,
	...
}

Initiator ::= ENUMERATED {
	locationServer,
	targetDevice,
	...
}

TransactionNumber ::= INTEGER (0..255)

-- ASN1STOP
-- ASN1START

RequestCapabilities ::= SEQUENCE {
	criticalExtensions		CHOICE {
		c1						CHOICE {
			requestCapabilities-r9		RequestCapabilities-r9-IEs,
			spare3 NULL, spare2 NULL, spare1 NULL
		},
		criticalExtensionsFuture	SEQUENCE {}
	}
}

RequestCapabilities-r9-IEs ::= SEQUENCE {
	commonIEsRequestCapabilities		CommonIEsRequestCapabilities		OPTIONAL,	-- Need ON
	a-gnss-RequestCapabilities			A-GNSS-RequestCapabilities			OPTIONAL,	-- Need ON
	otdoa-RequestCapabilities			OTDOA-RequestCapabilities			OPTIONAL,	-- Need ON
	ecid-RequestCapabilities			ECID-RequestCapabilities			OPTIONAL,	-- Need ON
	epdu-RequestCapabilities			EPDU-Sequence						OPTIONAL,	-- Need ON
	...,
	[[	sensor-RequestCapabilities-r13	Sensor-RequestCapabilities-r13		OPTIONAL,	-- Need ON
		tbs-RequestCapabilities-r13		TBS-RequestCapabilities-r13			OPTIONAL,	-- Need ON
		wlan-RequestCapabilities-r13	WLAN-RequestCapabilities-r13		OPTIONAL,	-- Need ON
		bt-RequestCapabilities-r13		BT-RequestCapabilities-r13			OPTIONAL	-- Need ON
	]],
	[[	nr-ECID-RequestCapabilities-r16	NR-ECID-RequestCapabilities-r16		OPTIONAL,	-- Need ON
		nr-Multi-RTT-RequestCapabilities-r16
										NR-Multi-RTT-RequestCapabilities-r16	
																			OPTIONAL,	-- Need ON
		nr-DL-AoD-RequestCapabilities-r16	
										NR-DL-AoD-RequestCapabilities-r16	OPTIONAL,	-- Need ON
		nr-DL-TDOA-RequestCapabilities-r16
										NR-DL-TDOA-RequestCapabilities-r16	OPTIONAL,	-- Need ON
		nr-UL-RequestCapabilities-r16	NR-UL-RequestCapabilities-r16		OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

ProvideCapabilities ::= SEQUENCE {
	criticalExtensions		CHOICE {
		c1						CHOICE {
			provideCapabilities-r9		ProvideCapabilities-r9-IEs,
			spare3 NULL, spare2 NULL, spare1 NULL
		},
		criticalExtensionsFuture	SEQUENCE {}
	}
}

ProvideCapabilities-r9-IEs ::= SEQUENCE {
	commonIEsProvideCapabilities		CommonIEsProvideCapabilities			OPTIONAL,
	a-gnss-ProvideCapabilities			A-GNSS-ProvideCapabilities				OPTIONAL,
	otdoa-ProvideCapabilities			OTDOA-ProvideCapabilities				OPTIONAL,
	ecid-ProvideCapabilities			ECID-ProvideCapabilities				OPTIONAL,
	epdu-ProvideCapabilities			EPDU-Sequence							OPTIONAL,
	...,
	[[	sensor-ProvideCapabilities-r13	Sensor-ProvideCapabilities-r13			OPTIONAL,
		tbs-ProvideCapabilities-r13		TBS-ProvideCapabilities-r13				OPTIONAL,
		wlan-ProvideCapabilities-r13	WLAN-ProvideCapabilities-r13			OPTIONAL,
		bt-ProvideCapabilities-r13		BT-ProvideCapabilities-r13				OPTIONAL
	]],
	[[	nr-ECID-ProvideCapabilities-r16	NR-ECID-ProvideCapabilities-r16			OPTIONAL,
		nr-Multi-RTT-ProvideCapabilities-r16	
										NR-Multi-RTT-ProvideCapabilities-r16	OPTIONAL,
		nr-DL-AoD-ProvideCapabilities-r16
										NR-DL-AoD-ProvideCapabilities-r16		OPTIONAL,
		nr-DL-TDOA-ProvideCapabilities-r16
										NR-DL-TDOA-ProvideCapabilities-r16		OPTIONAL,
		nr-UL-ProvideCapabilities-r16	NR-UL-ProvideCapabilities-r16			OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

RequestAssistanceData ::= SEQUENCE {
	criticalExtensions		CHOICE {
		c1						CHOICE {
			requestAssistanceData-r9	RequestAssistanceData-r9-IEs,
			spare3 NULL, spare2 NULL, spare1 NULL
		},
		criticalExtensionsFuture	SEQUENCE {}
	}
}

RequestAssistanceData-r9-IEs ::= SEQUENCE {
	commonIEsRequestAssistanceData		CommonIEsRequestAssistanceData		OPTIONAL,
	a-gnss-RequestAssistanceData		A-GNSS-RequestAssistanceData		OPTIONAL,
	otdoa-RequestAssistanceData			OTDOA-RequestAssistanceData			OPTIONAL,
	epdu-RequestAssistanceData			EPDU-Sequence						OPTIONAL,
	...,
	[[	sensor-RequestAssistanceData-r14
										Sensor-RequestAssistanceData-r14	OPTIONAL,
		tbs-RequestAssistanceData-r14	TBS-RequestAssistanceData-r14		OPTIONAL,
		wlan-RequestAssistanceData-r14	WLAN-RequestAssistanceData-r14		OPTIONAL
	]],
	[[	nr-Multi-RTT-RequestAssistanceData-r16	NR-Multi-RTT-RequestAssistanceData-r16	OPTIONAL,
		nr-DL-AoD-RequestAssistanceData-r16		NR-DL-AoD-RequestAssistanceData-r16		OPTIONAL,
		nr-DL-TDOA-RequestAssistanceData-r16	NR-DL-TDOA-RequestAssistanceData-r16	OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

ProvideAssistanceData ::= SEQUENCE {
	criticalExtensions		CHOICE {
		c1						CHOICE {
			provideAssistanceData-r9	ProvideAssistanceData-r9-IEs,
			spare3 NULL, spare2 NULL, spare1 NULL
		},
		criticalExtensionsFuture	SEQUENCE {}
	}
}

ProvideAssistanceData-r9-IEs ::= SEQUENCE {
	commonIEsProvideAssistanceData		CommonIEsProvideAssistanceData		OPTIONAL,	-- Need ON
	a-gnss-ProvideAssistanceData		A-GNSS-ProvideAssistanceData		OPTIONAL,	-- Need ON
	otdoa-ProvideAssistanceData			OTDOA-ProvideAssistanceData			OPTIONAL,	-- Need ON
	epdu-Provide-Assistance-Data		EPDU-Sequence						OPTIONAL,	-- Need ON
	...,
	[[
	sensor-ProvideAssistanceData-r14	Sensor-ProvideAssistanceData-r14	OPTIONAL,	-- Need ON
	tbs-ProvideAssistanceData-r14		TBS-ProvideAssistanceData-r14		OPTIONAL,	-- Need ON
	wlan-ProvideAssistanceData-r14		WLAN-ProvideAssistanceData-r14		OPTIONAL	-- Need ON
	]],
	[[	nr-Multi-RTT-ProvideAssistanceData-r16
										NR-Multi-RTT-ProvideAssistanceData-r16
																			OPTIONAL,	-- Need ON
		nr-DL-AoD-ProvideAssistanceData-r16
										NR-DL-AoD-ProvideAssistanceData-r16	OPTIONAL,	-- Need ON
		nr-DL-TDOA-ProvideAssistanceData-r16
										NR-DL-TDOA-ProvideAssistanceData-r16
																			OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

RequestLocationInformation ::= SEQUENCE {
	criticalExtensions		CHOICE {
		c1						CHOICE {
			requestLocationInformation-r9	RequestLocationInformation-r9-IEs,
			spare3 NULL, spare2 NULL, spare1 NULL
		},
		criticalExtensionsFuture	SEQUENCE {}
	}
}

RequestLocationInformation-r9-IEs ::= SEQUENCE {
	commonIEsRequestLocationInformation
										CommonIEsRequestLocationInformation	OPTIONAL,	-- Need ON
	a-gnss-RequestLocationInformation	A-GNSS-RequestLocationInformation	OPTIONAL,	-- Need ON
	otdoa-RequestLocationInformation	OTDOA-RequestLocationInformation	OPTIONAL,	-- Need ON
	ecid-RequestLocationInformation		ECID-RequestLocationInformation		OPTIONAL,	-- Need ON
	epdu-RequestLocationInformation		EPDU-Sequence						OPTIONAL,	-- Need ON
	...,
	[[
	sensor-RequestLocationInformation-r13
										Sensor-RequestLocationInformation-r13
																			OPTIONAL,	-- Need ON
	tbs-RequestLocationInformation-r13	TBS-RequestLocationInformation-r13	OPTIONAL,	-- Need ON
	wlan-RequestLocationInformation-r13	WLAN-RequestLocationInformation-r13	OPTIONAL,	-- Need ON
	bt-RequestLocationInformation-r13	BT-RequestLocationInformation-r13	OPTIONAL	-- Need ON
	]],
	[[	nr-ECID-RequestLocationInformation-r16
										NR-ECID-RequestLocationInformation-r16
																			OPTIONAL,	-- Need ON
		nr-Multi-RTT-RequestLocationInformation-r16
										NR-Multi-RTT-RequestLocationInformation-r16
																			OPTIONAL,	-- Need ON
		nr-DL-AoD-RequestLocationInformation-r16
										NR-DL-AoD-RequestLocationInformation-r16
																			OPTIONAL,	-- Need ON
		nr-DL-TDOA-RequestLocationInformation-r16
										NR-DL-TDOA-RequestLocationInformation-r16
																			OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

ProvideLocationInformation ::= SEQUENCE {
	criticalExtensions		CHOICE {
		c1						CHOICE {
			provideLocationInformation-r9	ProvideLocationInformation-r9-IEs,
			spare3 NULL, spare2 NULL, spare1 NULL
		},
		criticalExtensionsFuture	SEQUENCE {}
	}
}

ProvideLocationInformation-r9-IEs ::= SEQUENCE {
	commonIEsProvideLocationInformation
										CommonIEsProvideLocationInformation	OPTIONAL,
	a-gnss-ProvideLocationInformation	A-GNSS-ProvideLocationInformation	OPTIONAL,
	otdoa-ProvideLocationInformation	OTDOA-ProvideLocationInformation	OPTIONAL,
	ecid-ProvideLocationInformation		ECID-ProvideLocationInformation		OPTIONAL,
	epdu-ProvideLocationInformation		EPDU-Sequence						OPTIONAL,
	...,
	[[
	sensor-ProvideLocationInformation-r13
										Sensor-ProvideLocationInformation-r13
																			OPTIONAL,
	tbs-ProvideLocationInformation-r13	TBS-ProvideLocationInformation-r13	OPTIONAL,
	wlan-ProvideLocationInformation-r13	WLAN-ProvideLocationInformation-r13	OPTIONAL,
	bt-ProvideLocationInformation-r13	BT-ProvideLocationInformation-r13	OPTIONAL
	]],
	[[	nr-ECID-ProvideLocationInformation-r16
									NR-ECID-ProvideLocationInformation-r16		OPTIONAL,
		nr-Multi-RTT-ProvideLocationInformation-r16
									NR-Multi-RTT-ProvideLocationInformation-r16 OPTIONAL,
		nr-DL-AoD-ProvideLocationInformation-r16	
									NR-DL-AoD-ProvideLocationInformation-r16	OPTIONAL,
		nr-DL-TDOA-ProvideLocationInformation-r16
									NR-DL-TDOA-ProvideLocationInformation-r16	OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

Abort ::= SEQUENCE {
	criticalExtensions		CHOICE {
		c1						CHOICE {
			abort-r9		Abort-r9-IEs,
			spare3 NULL, spare2 NULL, spare1 NULL
		},
		criticalExtensionsFuture	SEQUENCE {}
	}
}

Abort-r9-IEs ::= SEQUENCE {
	commonIEsAbort		CommonIEsAbort			OPTIONAL,	-- Need ON
	...,
	epdu-Abort			EPDU-Sequence			OPTIONAL	-- Need ON
}

-- ASN1STOP
-- ASN1START

Error ::= CHOICE {
	error-r9					Error-r9-IEs,
	criticalExtensionsFuture	SEQUENCE {}
}

Error-r9-IEs ::= SEQUENCE {
	commonIEsError		CommonIEsError			OPTIONAL,	-- Need ON
	...,
	epdu-Error			EPDU-Sequence			OPTIONAL	-- Need ON
}
-- ASN1STOP
-- ASN1START

AccessTypes ::= SEQUENCE {
	accessTypes		BIT STRING {	eutra		(0),
									utra		(1),
									gsm			(2),
									nb-iot		(3),
									nr-v1510	(4) } (SIZE (1..8)),
	...
}

-- ASN1STOP
-- ASN1START

ARFCN-ValueEUTRA ::= INTEGER (0..maxEARFCN)

ARFCN-ValueEUTRA-v9a0 ::=	INTEGER (maxEARFCN-Plus1..maxEARFCN2)

ARFCN-ValueEUTRA-r14 ::=	INTEGER (0..maxEARFCN2)

-- ASN1STOP
-- ASN1START

ARFCN-ValueNR-r15 ::= INTEGER (0..3279165)

-- ASN1STOP
-- ASN1START

ARFCN-ValueUTRA ::=	INTEGER (0..16383)

-- ASN1STOP
-- ASN1START

CarrierFreq-NB-r14 ::=		SEQUENCE {
	carrierFreq-r14				ARFCN-ValueEUTRA-r14,
	carrierFreqOffset-r14		CarrierFreqOffsetNB-r14				OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

CarrierFreqOffsetNB-r14 ::=		ENUMERATED {
									v-10, v-9, v-8,	v-7, v-6, v-5, v-4, v-3, v-2, v-1, v-0dot5,
									v0, v1, v2, v3, v4, v5, v6, v7, v8, v9
									}

-- ASN1STOP
-- ASN1START

CellGlobalIdEUTRA-AndUTRA ::= SEQUENCE {
	plmn-Identity		SEQUENCE {
							mcc		SEQUENCE (SIZE (3))	OF INTEGER (0..9),
							mnc		SEQUENCE (SIZE (2..3))	OF INTEGER (0..9)
						},
	cellIdentity		CHOICE {
		eutra	BIT STRING (SIZE (28)),
		utra	BIT STRING (SIZE (32))
	},
	...
}

-- ASN1STOP
-- ASN1START

CellGlobalIdGERAN ::= SEQUENCE {
	plmn-Identity		SEQUENCE {
							mcc		SEQUENCE (SIZE (3))	OF INTEGER (0..9),
							mnc		SEQUENCE (SIZE (2..3))	OF INTEGER (0..9)
							},
	locationAreaCode		BIT STRING (SIZE (16)),
	cellIdentity			BIT STRING (SIZE (16)),
	...
}

-- ASN1STOP
-- ASN1START

ECGI ::= SEQUENCE {
	mcc				SEQUENCE (SIZE (3))	OF INTEGER (0..9),
	mnc				SEQUENCE (SIZE (2..3))	OF INTEGER (0..9),
	cellidentity	BIT STRING (SIZE (28))
}

-- ASN1STOP
-- ASN1START

Ellipsoid-Point ::= SEQUENCE {
	latitudeSign				ENUMERATED {north, south},
	degreesLatitude				INTEGER (0..8388607),			-- 23 bit field
	degreesLongitude			INTEGER (-8388608..8388607)		-- 24 bit field
}

-- ASN1STOP
-- ASN1START

Ellipsoid-PointWithUncertaintyCircle ::= SEQUENCE {
	latitudeSign				ENUMERATED {north, south},
	degreesLatitude				INTEGER (0..8388607),			-- 23 bit field
	degreesLongitude			INTEGER (-8388608..8388607),	-- 24 bit field
	uncertainty					INTEGER (0..127)
}

-- ASN1STOP
-- ASN1START

EllipsoidPointWithUncertaintyEllipse ::= SEQUENCE {
	latitudeSign				ENUMERATED {north, south},
	degreesLatitude				INTEGER (0..8388607),			-- 23 bit field
	degreesLongitude			INTEGER (-8388608..8388607),	-- 24 bit field
	uncertaintySemiMajor		INTEGER (0..127),
	uncertaintySemiMinor		INTEGER (0..127),
	orientationMajorAxis		INTEGER (0..179),
	confidence					INTEGER (0..100)
}

-- ASN1STOP
-- ASN1START

EllipsoidPointWithAltitude ::= SEQUENCE {
	latitudeSign				ENUMERATED {north, south},
	degreesLatitude				INTEGER (0..8388607),			-- 23 bit field
	degreesLongitude			INTEGER (-8388608..8388607),	-- 24 bit field
	altitudeDirection			ENUMERATED {height, depth},
	altitude					INTEGER (0..32767)				-- 15 bit field
}

-- ASN1STOP
-- ASN1START

EllipsoidPointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
	latitudeSign				ENUMERATED {north, south},
	degreesLatitude				INTEGER (0..8388607),			-- 23 bit field
	degreesLongitude			INTEGER (-8388608..8388607),	-- 24 bit field
	altitudeDirection			ENUMERATED {height, depth},
	altitude					INTEGER (0..32767),				-- 15 bit field
	uncertaintySemiMajor		INTEGER (0..127),
	uncertaintySemiMinor		INTEGER (0..127),
	orientationMajorAxis		INTEGER (0..179),
	uncertaintyAltitude			INTEGER (0..127),
	confidence					INTEGER (0..100)
}

-- ASN1STOP
-- ASN1START

EllipsoidArc ::= SEQUENCE {
	latitudeSign				ENUMERATED {north, south},
	degreesLatitude				INTEGER (0..8388607),			-- 23 bit field
	degreesLongitude			INTEGER (-8388608..8388607),	-- 24 bit field
	innerRadius					INTEGER (0..65535),				-- 16 bit field,
	uncertaintyRadius			INTEGER (0..127),
	offsetAngle					INTEGER (0..179),
	includedAngle				INTEGER (0..179),
	confidence					INTEGER (0..100)
}

-- ASN1STOP
-- ASN1START

EPDU-Sequence ::= SEQUENCE (SIZE (1..maxEPDU)) OF EPDU

maxEPDU INTEGER ::= 16

EPDU ::= SEQUENCE {
	ePDU-Identifier			EPDU-Identifier,
	ePDU-Body				EPDU-Body
}

EPDU-Identifier ::= SEQUENCE {
	ePDU-ID					EPDU-ID,
	ePDU-Name				EPDU-Name		OPTIONAL,
	...
}

EPDU-ID ::= INTEGER (1..256)

EPDU-Name ::= VisibleString (SIZE (1..32))

EPDU-Body ::= OCTET STRING

-- ASN1STOP
-- ASN1START

FreqBandIndicatorNR-r16 ::= INTEGER (1..1024)

-- ASN1STOP
-- ASN1START

HighAccuracyEllipsoidPointWithUncertaintyEllipse-r15 ::= SEQUENCE {
	degreesLatitude-r15				INTEGER(-2147483648..2147483647),
	degreesLongitude-r15			INTEGER(-2147483648..2147483647),
	uncertaintySemiMajor-r15		INTEGER (0..255),
	uncertaintySemiMinor-r15		INTEGER (0..255),
	orientationMajorAxis-r15		INTEGER (0..179),
	confidence-r15					INTEGER (0..100)
}

-- ASN1STOP
-- ASN1START

HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15 ::= SEQUENCE {
	degreesLatitude-r15				INTEGER(-2147483648..2147483647),
	degreesLongitude-r15			INTEGER(-2147483648..2147483647),
	altitude-r15					INTEGER(-64000..1280000),
	uncertaintySemiMajor-r15		INTEGER (0..255),
	uncertaintySemiMinor-r15		INTEGER (0..255),
	orientationMajorAxis-r15		INTEGER (0..179),
	horizontalConfidence-r15		INTEGER (0..100),
	uncertaintyAltitude-r15			INTEGER (0..255),
	verticalConfidence-r15			INTEGER (0..100)
}

-- ASN1STOP
-- ASN1START

HorizontalVelocity ::= SEQUENCE {
	bearing						INTEGER(0..359),
	horizontalSpeed				INTEGER(0..2047)
}

-- ASN1STOP
-- ASN1START

HorizontalWithVerticalVelocity ::= SEQUENCE {
	bearing						INTEGER(0..359),
	horizontalSpeed				INTEGER(0..2047),
	verticalDirection			ENUMERATED{upward, downward},
	verticalSpeed				INTEGER(0..255)
}

-- ASN1STOP
-- ASN1START

HorizontalVelocityWithUncertainty ::= SEQUENCE {
	bearing						INTEGER(0..359),
	horizontalSpeed				INTEGER(0..2047),
	uncertaintySpeed			INTEGER(0..255)
}

-- ASN1STOP
-- ASN1START

HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
	bearing						INTEGER(0..359),
	horizontalSpeed				INTEGER(0..2047),
	verticalDirection			ENUMERATED{upward, downward},
	verticalSpeed				INTEGER(0..255),
	horizontalUncertaintySpeed	INTEGER(0..255),
	verticalUncertaintySpeed	INTEGER(0..255)
}

-- ASN1STOP
-- ASN1START

LocationCoordinateTypes ::= SEQUENCE {
	ellipsoidPoint											BOOLEAN,
	ellipsoidPointWithUncertaintyCircle						BOOLEAN,
	ellipsoidPointWithUncertaintyEllipse					BOOLEAN,
	polygon													BOOLEAN,
	ellipsoidPointWithAltitude								BOOLEAN,
	ellipsoidPointWithAltitudeAndUncertaintyEllipsoid		BOOLEAN,
	ellipsoidArc											BOOLEAN,
	...,
	[[
		highAccuracyEllipsoidPointWithUncertaintyEllipse-r15
															BOOLEAN		OPTIONAL, -- Need ON
		highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15
															BOOLEAN		OPTIONAL  -- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

NCGI-r15 ::= SEQUENCE {
	mcc-r15					SEQUENCE (SIZE (3)) 	OF INTEGER (0..9),
	mnc-r15					SEQUENCE (SIZE (2..3)) 	OF INTEGER (0..9),
	nr-cellidentity-r15		BIT STRING (SIZE (36))
}

-- ASN1STOP
-- ASN1START

NR-PhysCellID-r16 ::= INTEGER (0..1007)

-- ASN1STOP
-- ASN1START

PeriodicAssistanceDataControlParameters-r15 ::= SEQUENCE {
	periodicSessionID-r15			PeriodicSessionID-r15,
	...,
	[[
		updateCapabilities-r15		UpdateCapabilities-r15		OPTIONAL	 -- Need ON
	]]
}

PeriodicSessionID-r15 ::= SEQUENCE {
	periodicSessionInitiator-r15	ENUMERATED { locationServer, targetDevice, ... },
	periodicSessionNumber-r15		INTEGER (0..255),
	...
}

UpdateCapabilities-r15 ::= BIT STRING {primaryCellID-r15	(0)} (SIZE(1..8))

-- ASN1STOP
-- ASN1START

Polygon ::= SEQUENCE (SIZE (3..15)) OF PolygonPoints

PolygonPoints ::= SEQUENCE {
	latitudeSign				ENUMERATED {north, south},
	degreesLatitude				INTEGER (0..8388607),			-- 23 bit field
	degreesLongitude			INTEGER (-8388608..8388607)		-- 24 bit field
}

-- ASN1STOP
-- ASN1START

PositioningModes ::= SEQUENCE {
	posModes		BIT STRING {	standalone	(0),
									ue-based	(1),
									ue-assisted	(2)
	} (SIZE (1..8)),
	...
}

-- ASN1STOP
-- ASN1START

SegmentationInfo-r14 ::= ENUMERATED { noMoreMessages, moreMessagesOnTheWay }

-- ASN1STOP
-- ASN1START

VelocityTypes ::= SEQUENCE {
	horizontalVelocity										BOOLEAN,
	horizontalWithVerticalVelocity							BOOLEAN,
	horizontalVelocityWithUncertainty						BOOLEAN,
	horizontalWithVerticalVelocityAndUncertainty			BOOLEAN,
	...
}

-- ASN1STOP
-- ASN1START

CommonIEsRequestCapabilities ::= SEQUENCE {
	...,
	[[
	lpp-message-segmentation-req-r14	BIT STRING {	serverToTarget	(0),
														targetToServer	(1) }	OPTIONAL -- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

CommonIEsProvideCapabilities ::= SEQUENCE {
	...,
	[[
	segmentationInfo-r14			SegmentationInfo-r14			OPTIONAL,	-- Cond Segmentation
	lpp-message-segmentation-r14	BIT STRING { serverToTarget	(0),
												targetToServer	(1) }	OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

CommonIEsRequestAssistanceData ::= SEQUENCE {
	primaryCellID		ECGI		OPTIONAL,	-- Cond EUTRA
	...,
	[[
		segmentationInfo-r14		SegmentationInfo-r14		OPTIONAL	-- Cond Segmentation
	]],
	[[
		periodicAssistanceDataReq-r15
									PeriodicAssistanceDataControlParameters-r15
																OPTIONAL,	-- Cond PerADreq
		primaryCellID-r15			NCGI-r15					OPTIONAL	-- Cond NR
	]]
}

-- ASN1STOP
-- ASN1START

CommonIEsProvideAssistanceData ::= SEQUENCE {
	...,
	[[
		segmentationInfo-r14		SegmentationInfo-r14		OPTIONAL	-- Need ON
	]],
	[[
		periodicAssistanceData-r15	PeriodicAssistanceDataControlParameters-r15
																OPTIONAL	-- Cond PerAD
	]]
}

-- ASN1STOP
-- ASN1START

CommonIEsRequestLocationInformation ::= SEQUENCE {
	locationInformationType		LocationInformationType,
	triggeredReporting			TriggeredReportingCriteria	OPTIONAL,	-- Cond ECID
	periodicalReporting			PeriodicalReportingCriteria OPTIONAL,	-- Need ON
	additionalInformation		AdditionalInformation		OPTIONAL,	-- Need ON
	qos							QoS							OPTIONAL,	-- Need ON
	environment					Environment					OPTIONAL,	-- Need ON
	locationCoordinateTypes		LocationCoordinateTypes		OPTIONAL,	-- Need ON
	velocityTypes				VelocityTypes				OPTIONAL,	-- Need ON
	...,
	[[
		messageSizeLimitNB-r14	MessageSizeLimitNB-r14		OPTIONAL	-- Need ON
	]],
	[[
		segmentationInfo-r14	SegmentationInfo-r14		OPTIONAL	-- Need ON
	]]
}

LocationInformationType ::= ENUMERATED {
	locationEstimateRequired,
	locationMeasurementsRequired,
	locationEstimatePreferred,
	locationMeasurementsPreferred,
	...
}

PeriodicalReportingCriteria ::=		SEQUENCE {
	reportingAmount						ENUMERATED {
											ra1, ra2, ra4, ra8, ra16, ra32,
											ra64, ra-Infinity
										} DEFAULT ra-Infinity,
	reportingInterval					ENUMERATED {
											noPeriodicalReporting, ri0-25,
											ri0-5, ri1, ri2, ri4, ri8, ri16, ri32, ri64
										}
}

TriggeredReportingCriteria ::=		SEQUENCE {
	cellChange							BOOLEAN,
	reportingDuration					ReportingDuration,
	...
}

ReportingDuration ::=				INTEGER (0..255)

AdditionalInformation ::= ENUMERATED {
	onlyReturnInformationRequested,
	mayReturnAditionalInformation,
	...
}

QoS ::= SEQUENCE {
	horizontalAccuracy			HorizontalAccuracy		OPTIONAL,	-- Need ON
	verticalCoordinateRequest	BOOLEAN,
	verticalAccuracy			VerticalAccuracy		OPTIONAL,	-- Need ON
	responseTime				ResponseTime			OPTIONAL,	-- Need ON
	velocityRequest				BOOLEAN,				
	...,
	[[	responseTimeNB-r14		ResponseTimeNB-r14		OPTIONAL	-- Need ON
	]],
	[[	horizontalAccuracyExt-r15	HorizontalAccuracyExt-r15		OPTIONAL,	-- Need ON
		verticalAccuracyExt-r15		VerticalAccuracyExt-r15			OPTIONAL	-- Need ON
	]]
}

HorizontalAccuracy ::= SEQUENCE {
	accuracy		INTEGER(0..127),
	confidence		INTEGER(0..100),
	...
}

VerticalAccuracy ::= SEQUENCE {
	accuracy		INTEGER(0..127),
	confidence		INTEGER(0..100),
	...
}

HorizontalAccuracyExt-r15 ::= SEQUENCE {
	accuracyExt-r15		INTEGER(0..255),
	confidence-r15		INTEGER(0..100),
	...
}

VerticalAccuracyExt-r15 ::= SEQUENCE {
	accuracyExt-r15		INTEGER(0..255),
	confidence-r15		INTEGER(0..100),
	...
}

ResponseTime ::= SEQUENCE {
	time								INTEGER (1..128),
	...,	
	[[	responseTimeEarlyFix-r12		INTEGER (1..128)		OPTIONAL		-- Need ON
	]],
	[[	unit-r15				ENUMERATED { ten-seconds, ... }	OPTIONAL		-- Need ON
	]]
}

ResponseTimeNB-r14 ::= SEQUENCE {
	timeNB-r14							INTEGER (1..512),
	responseTimeEarlyFixNB-r14			INTEGER (1..512)		OPTIONAL,		-- Need ON
	...,
	[[	unitNB-r15				ENUMERATED { ten-seconds, ... }	OPTIONAL		-- Need ON
	]]
}

Environment ::= ENUMERATED {
	badArea,
	notBadArea,
	mixedArea,
	...
}

MessageSizeLimitNB-r14 ::= SEQUENCE {
	measurementLimit-r14				INTEGER (1..512)		OPTIONAL,		-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

CommonIEsProvideLocationInformation ::= SEQUENCE {
	locationEstimate			LocationCoordinates		OPTIONAL,
	velocityEstimate			Velocity				OPTIONAL,
	locationError				LocationError			OPTIONAL,
	...,
	[[	earlyFixReport-r12		EarlyFixReport-r12		OPTIONAL
	]],
	[[	locationSource-r13		LocationSource-r13		OPTIONAL,
		locationTimestamp-r13	UTCTime					OPTIONAL
	]],
	[[
		segmentationInfo-r14	SegmentationInfo-r14	OPTIONAL		-- Cond Segmentation
	]]
}

LocationCoordinates ::= CHOICE {
	ellipsoidPoint								Ellipsoid-Point,
	ellipsoidPointWithUncertaintyCircle			Ellipsoid-PointWithUncertaintyCircle,
	ellipsoidPointWithUncertaintyEllipse		EllipsoidPointWithUncertaintyEllipse,
	polygon										Polygon,
	ellipsoidPointWithAltitude					EllipsoidPointWithAltitude,
	ellipsoidPointWithAltitudeAndUncertaintyEllipsoid
												EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
	ellipsoidArc								EllipsoidArc,
	...,
	highAccuracyEllipsoidPointWithUncertaintyEllipse-v1510
								HighAccuracyEllipsoidPointWithUncertaintyEllipse-r15,
	highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-v1510
								HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15
}

Velocity ::= CHOICE {
	horizontalVelocity							HorizontalVelocity,
	horizontalWithVerticalVelocity				HorizontalWithVerticalVelocity,
	horizontalVelocityWithUncertainty			HorizontalVelocityWithUncertainty,
	horizontalWithVerticalVelocityAndUncertainty
												HorizontalWithVerticalVelocityAndUncertainty,
	...
}

LocationError ::= SEQUENCE {
	locationfailurecause			LocationFailureCause,
	...
}

LocationFailureCause ::= ENUMERATED {
	undefined,
	requestedMethodNotSupported,
	positionMethodFailure,
	periodicLocationMeasurementsNotAvailable,
	...
}

EarlyFixReport-r12 ::= ENUMERATED {
	noMoreMessages,
	moreMessagesOnTheWay
}

LocationSource-r13 ::= BIT STRING {	a-gnss				(0),
									wlan				(1),
									bt					(2),
									tbs					(3),
									sensor				(4),
									ha-gnss-v1510		(5),
									motion-sensor-v1550 (6),
									dl-tdoa-r16 		(7),
									dl-aod-r16			(8) } (SIZE(1..16))

-- ASN1STOP
-- ASN1START

CommonIEsAbort ::= SEQUENCE {
	abortCause			ENUMERATED {
		undefined,
		stopPeriodicReporting,
		targetDeviceAbort,
		networkAbort,
		...,
		stopPeriodicAssistanceDataDelivery-v1510
	}
}

-- ASN1STOP
-- ASN1START

CommonIEsError ::= SEQUENCE {
	errorCause		ENUMERATED {
		undefined,
		lppMessageHeaderError,
		lppMessageBodyError,
		epduError,
		incorrectDataValue,
		...,
		lppSegmentationError-v1450
	}
}

-- ASN1STOP
-- ASN1START

DL-PRS-ID-Info-r16 ::= SEQUENCE {
	dl-PRS-ID-r16					INTEGER (0..255),
	nr-DL-PRS-ResourceID-List-r16	SEQUENCE (SIZE (1..nrMaxResourceIDs-r16)) OF
													NR-DL-PRS-ResourceID-r16
																			OPTIONAL, -- Need ON
	nr-DL-PRS-ResourceSetID-r16		NR-DL-PRS-ResourceSetID-r16
																			OPTIONAL  -- Need ON
}

-- ASN1STOP
-- ASN1START

NR-AdditionalPathList-r16 ::= SEQUENCE (SIZE(1..2)) OF NR-AdditionalPath-r16

NR-AdditionalPath-r16 ::= SEQUENCE {
	nr-RelativeTimeDifference-r16	CHOICE {
				k0-r16					INTEGER(0..16351),
				k1-r16					INTEGER(0..8176),
				k2-r16					INTEGER(0..4088),
				k3-r16					INTEGER(0..2044),
				k4-r16					INTEGER(0..1022),
				k5-r16					INTEGER(0..511),
				...
	},
	nr-PathQuality-r16				NR-TimingQuality-r16					OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-PRS-AssistanceData-r16 ::= SEQUENCE {
	nr-DL-PRS-ReferenceInfo-r16 		DL-PRS-ID-Info-r16,
	nr-DL-PRS-AssistanceDataList-r16	SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
														NR-DL-PRS-AssistanceDataPerFreq-r16,
	nr-SSB-Config-r16					SEQUENCE (SIZE (1..nrMaxTRPs-r16)) OF
														NR-SSB-Config-r16	OPTIONAL,	-- Need ON
	...
}

NR-DL-PRS-AssistanceDataPerFreq-r16 ::= SEQUENCE {
	nr-DL-PRS-PositioningFrequencyLayer-r16	
										NR-DL-PRS-PositioningFrequencyLayer-r16,
	nr-DL-PRS-AssistanceDataPerFreq-r16 SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
														NR-DL-PRS-AssistanceDataPerTRP-r16,
	...
}

NR-DL-PRS-AssistanceDataPerTRP-r16 ::= SEQUENCE {
	dl-PRS-ID-r16					INTEGER (0..255),
	nr-PhysCellID-r16				NR-PhysCellID-r16			OPTIONAL,	-- Need ON
	nr-CellGlobalID-r16				NCGI-r15					OPTIONAL,	-- Need ON
	nr-ARFCN-r16					ARFCN-ValueNR-r15			OPTIONAL,	-- Need ON
	nr-DL-PRS-SFN0-Offset-r16		NR-DL-PRS-SFN0-Offset-r16,
	nr-DL-PRS-ExpectedRSTD-r16		INTEGER (-3841..3841),
	nr-DL-PRS-ExpectedRSTD-Uncertainty-r16
									INTEGER (0..246),
	nr-DL-PRS-Info-r16				NR-DL-PRS-Info-r16,
	...,
	[[
		prs-OnlyTP-r16				ENUMERATED { true }		OPTIONAL	-- Need ON	
	]]
}

NR-DL-PRS-PositioningFrequencyLayer-r16 ::= SEQUENCE {
	dl-PRS-SubcarrierSpacing-r16	ENUMERATED {kHz15, kHz30, kHz60, kHz120, ...},
	dl-PRS-ResourceBandwidth-r16	INTEGER (1..63),
	dl-PRS-StartPRB-r16				INTEGER (0..2176),
	dl-PRS-PointA-r16				ARFCN-ValueNR-r15,
	dl-PRS-CombSizeN-r16			ENUMERATED {n2, n4, n6, n12, ...},
	dl-PRS-CyclicPrefix-r16			ENUMERATED {normal, extended, ...},
	...
}

NR-DL-PRS-SFN0-Offset-r16 ::= SEQUENCE {
	sfn-Offset-r16					INTEGER (0..1023),
	integerSubframeOffset-r16		INTEGER (0..9),
	...}

-- ASN1STOP
-- ASN1START

NR-DL-PRS-BeamInfo-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
																NR-DL-PRS-BeamInfoPerFreqLayer-r16

NR-DL-PRS-BeamInfoPerFreqLayer-r16 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
																NR-DL-PRS-BeamInfoPerTRP-r16

NR-DL-PRS-BeamInfoPerTRP-r16 ::= SEQUENCE {
	dl-PRS-ID-r16						INTEGER (0..255),
	nr-PhysCellID-r16					NR-PhysCellID-r16		OPTIONAL,	-- Need ON
	nr-CellGlobalID-r16					NCGI-r15				OPTIONAL,	-- Need ON
	nr-ARFCN-r16						ARFCN-ValueNR-r15		OPTIONAL,	-- Need ON
	associated-DL-PRS-ID-r16			INTEGER (0..255)		OPTIONAL,	-- Need OP
	lcs-GCS-TranslationParameter-r16	LCS-GCS-TranslationParameter-r16	
																OPTIONAL,	-- Need OP
	dl-PRS-BeamInfoSet-r16				DL-PRS-BeamInfoSet-r16	OPTIONAL,	-- Need OP
	...
}

DL-PRS-BeamInfoSet-r16 ::= SEQUENCE (SIZE(1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF
																DL-PRS-BeamInfoResourceSet-r16

DL-PRS-BeamInfoResourceSet-r16 ::= SEQUENCE (SIZE(1..nrMaxResourcesPerSet-r16)) OF
																DL-PRS-BeamInfoElement-r16

DL-PRS-BeamInfoElement-r16 ::= SEQUENCE {
	dl-PRS-Azimuth-r16				INTEGER (0..359),
	dl-PRS-Azimuth-fine-r16			INTEGER (0..9)					OPTIONAL,	-- Need ON
	dl-PRS-Elevation-r16			INTEGER (0..180)				OPTIONAL,	-- Need ON
	dl-PRS-Elevation-fine-r16		INTEGER (0..9)					OPTIONAL,	-- Need ON
	...
}

LCS-GCS-TranslationParameter-r16 ::= SEQUENCE {
	alpha-r16						INTEGER (0..359),
	alpha-fine-r16					INTEGER (0..9)					OPTIONAL,	-- Cond AzElFine
	beta-r16						INTEGER (0..359),
	beta-fine-r16					INTEGER (0..9)					OPTIONAL,	-- Cond AzElFine
	gamma-r16						INTEGER (0..359),
	gamma-fine-r16					INTEGER (0..9) 					OPTIONAL,	-- Cond AzElFine
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-PRS-Info-r16 ::= SEQUENCE {
	nr-DL-PRS-ResourceSetList-r16		SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF
																	NR-DL-PRS-ResourceSet-r16,
	...
}

NR-DL-PRS-ResourceSet-r16 ::= SEQUENCE {
	nr-DL-PRS-ResourceSetID-r16			NR-DL-PRS-ResourceSetID-r16,
	dl-PRS-Periodicity-and-ResourceSetSlotOffset-r16
										NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r16,
	dl-PRS-ResourceRepetitionFactor-r16	ENUMERATED {n2, n4, n6, n8, n16, n32, ...}
																			OPTIONAL,	-- Need OP
	dl-PRS-ResourceTimeGap-r16			ENUMERATED {s1, s2, s4, s8, s16, s32, ...}
																			OPTIONAL, 	-- Cond Rep
	dl-PRS-NumSymbols-r16				ENUMERATED {n2, n4, n6, n12, ...},
	dl-PRS-MutingOption1-r16			DL-PRS-MutingOption1-r16			OPTIONAL,	-- Need OP
	dl-PRS-MutingOption2-r16			DL-PRS-MutingOption2-r16			OPTIONAL,	-- Need OP
	dl-PRS-ResourcePower-r16			INTEGER (-60..50),	
	dl-PRS-ResourceList-r16				SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF
																	NR-DL-PRS-Resource-r16,
	...
}

DL-PRS-MutingOption1-r16 ::= SEQUENCE {
	dl-prs-MutingBitRepetitionFactor-r16
										ENUMERATED { n1, n2, n4, n8, ... }	OPTIONAL,	-- Need OP
	nr-option1-muting-r16				NR-MutingPattern-r16,
	...
}

DL-PRS-MutingOption2-r16 ::= SEQUENCE {
	nr-option2-muting-r16				NR-MutingPattern-r16,
	...
}

NR-MutingPattern-r16 ::= CHOICE {
	po2-r16								BIT STRING (SIZE(2)),
	po4-r16								BIT STRING (SIZE(4)),
	po6-r16								BIT STRING (SIZE(6)),
	po8-r16								BIT STRING (SIZE(8)),
	po16-r16							BIT STRING (SIZE(16)),
	po32-r16							BIT STRING (SIZE(32)),
	...
}

NR-DL-PRS-Resource-r16 ::= SEQUENCE {
	nr-DL-PRS-ResourceID-r16			NR-DL-PRS-ResourceID-r16,
	dl-PRS-SequenceID-r16				INTEGER (0.. 4095),
	dl-PRS-CombSizeN-AndReOffset-r16	CHOICE {
			n2-r16							INTEGER (0..1),
			n4-r16							INTEGER (0..3),
			n6-r16							INTEGER (0..5),
			n12-r16							INTEGER (0..11),
			...
	},
	dl-PRS-ResourceSlotOffset-r16		INTEGER (0..nrMaxResourceOffsetValue-1-r16),
	dl-PRS-ResourceSymbolOffset-r16		INTEGER (0..12),
	dl-PRS-QCL-Info-r16					DL-PRS-QCL-Info-r16		OPTIONAL,	--Need ON
	...
}

DL-PRS-QCL-Info-r16 ::= CHOICE {
	ssb-r16						SEQUENCE {
		pci-r16							NR-PhysCellID-r16,
		ssb-Index-r16					INTEGER (0..63),
		rs-Type-r16						ENUMERATED {typeC, typeD, typeC-plus-typeD}
	},
	dl-PRS-r16					SEQUENCE {
		qcl-DL-PRS-ResourceID-r16		NR-DL-PRS-ResourceID-r16,
		qcl-DL-PRS-ResourceSetID-r16	NR-DL-PRS-ResourceSetID-r16
	}
}

NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r16 ::= CHOICE {
	scs15-r16		CHOICE {
						n4-r16					INTEGER (0..3),
						n5-r16					INTEGER (0..4),
						n8-r16					INTEGER (0..7),
						n10-r16					INTEGER (0..9),
						n16-r16					INTEGER (0..15),
						n20-r16					INTEGER (0..19),
						n32-r16					INTEGER (0..31),
						n40-r16					INTEGER (0..39),
						n64-r16					INTEGER (0..63),
						n80-r16					INTEGER (0..79),
						n160-r16				INTEGER (0..159),
						n320-r16				INTEGER (0..319),
						n640-r16				INTEGER (0..639),
						n1280-r16				INTEGER (0..1279),
						n2560-r16				INTEGER (0..2559),
						n5120-r16				INTEGER (0..5119),
						n10240-r16				INTEGER (0..10239),
						...
	},
	scs30-r16		CHOICE {
						n8-r16					INTEGER (0..7),
						n10-r16					INTEGER (0..9),
						n16-r16					INTEGER (0..15),
						n20-r16					INTEGER (0..19),
						n32-r16					INTEGER (0..31),
						n40-r16					INTEGER (0..39),
						n64-r16					INTEGER (0..63),
						n80-r16					INTEGER (0..79),
						n128-r16				INTEGER (0..127),
						n160-r16				INTEGER (0..159),
						n320-r16				INTEGER (0..319),
						n640-r16				INTEGER (0..639),
						n1280-r16				INTEGER (0..1279),
						n2560-r16				INTEGER (0..2559),
						n5120-r16				INTEGER (0..5119),
						n10240-r16				INTEGER (0..10239),
						n20480-r16				INTEGER (0..20479),
						...
	},
	scs60-r16		CHOICE {
						n16-r16					INTEGER (0..15),
						n20-r16					INTEGER (0..19),
						n32-r16					INTEGER (0..31),
						n40-r16					INTEGER (0..39),
						n64-r16					INTEGER (0..63),
						n80-r16					INTEGER (0..79),
						n128-r16				INTEGER (0..127),
						n160-r16				INTEGER (0..159),
						n256-r16				INTEGER (0..255),
						n320-r16				INTEGER (0..319),
						n640-r16				INTEGER (0..639),
						n1280-r16				INTEGER (0..1279),
						n2560-r16				INTEGER (0..2559),
						n5120-r16				INTEGER (0..5119),
						n10240-r16				INTEGER (0..10239),
						n20480-r16				INTEGER (0..20479),
						n40960-r16				INTEGER (0..40959),
						...
	},
	scs120-r16		CHOICE {
						n32-r16					INTEGER (0..31),
						n40-r16					INTEGER (0..39),
						n64-r16					INTEGER (0..63),
						n80-r16					INTEGER (0..79),
						n128-r16				INTEGER (0..127),
						n160-r16				INTEGER (0..159),
						n256-r16				INTEGER (0..255),
						n320-r16				INTEGER (0..319),
						n512-r16				INTEGER (0..511),
						n640-r16				INTEGER (0..639),
						n1280-r16				INTEGER (0..1279),
						n2560-r16				INTEGER (0..2559),
						n5120-r16				INTEGER (0..5119),
						n10240-r16				INTEGER (0..10239),
						n20480-r16				INTEGER (0..20479),
						n40960-r16				INTEGER (0..40959),
						n81920-r16				INTEGER (0..81919),
						...
	},
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-PRS-ProcessingCapability-r16 ::= SEQUENCE {
	prs-ProcessingCapabilityBandList-r16	SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
												PRS-ProcessingCapabilityPerBand-r16,
	maxSupportedFreqLayers-r16				INTEGER (1..4),
	simulLTE-NR-PRS-r16						ENUMERATED { supported}	OPTIONAL,
	...
}

PRS-ProcessingCapabilityPerBand-r16 ::= SEQUENCE {
	freqBandIndicatorNR-r16				FreqBandIndicatorNR-r16,
	supportedBandwidthPRS-r16			CHOICE {
		fr1										ENUMERATED {mhz5, mhz10, mhz20, mhz40,
															mhz50, mhz80, mhz100},
		fr2										ENUMERATED {mhz50, mhz100, mhz200, mhz400},
		...
	},
	dl-PRS-BufferType-r16		 		ENUMERATED {type1, type2, ...},
	durationOfPRS-Processing-r16		SEQUENCE {
		durationOfPRS-ProcessingSymbols-r16	ENUMERATED {nDot125, nDot25, nDot5, n1,
															 n2, n4, n6, n8, n12, n16, n20, n25,
															 n30, n32, n35, n40, n45, n50},
		durationOfPRS-ProcessingSymbolsInEveryTms-r16	
												ENUMERATED {n8, n16, n20, n30, n40, n80,
															 n160,n320, n640, n1280},
		...
	},
	maxNumOfDL-PRS-ResProcessedPerSlot-r16	SEQUENCE {
		scs15-r16								ENUMERATED {n1, n2, n4, n8, n16, n24, n32,
															 n48, n64}					OPTIONAL,
		scs30-r16								ENUMERATED {n1, n2, n4, n8, n16, n24, n32,
															 n48, n64}					OPTIONAL,
		scs60-r16								ENUMERATED {n1, n2, n4, n8, n16, n24, n32,
															 n48, n64}					OPTIONAL,
		scs120-r16								ENUMERATED {n1, n2, n4, n8, n16, n24, n32,
															 n48, n64}					OPTIONAL,
		...
	},
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-PRS-QCL-ProcessingCapability-r16 ::= SEQUENCE {
	dl-PRS-QCL-ProcessingCapabilityBandList-r16			SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
														DL-PRS-QCL-ProcessingCapabilityPerBand-r16,
	...
}

DL-PRS-QCL-ProcessingCapabilityPerBand-r16 ::= SEQUENCE {
	freqBandIndicatorNR-r16						FreqBandIndicatorNR-r16,
	ssb-FromNeighCellAsQCL-r16					ENUMERATED { supported}	OPTIONAL,
	prs-FromServNeighCellAsQCL-r16				ENUMERATED { supported} OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-PRS-ResourceID-r16 ::= INTEGER (0..nrMaxNumDL-PRS-ResourcesPerSet-1-r16)

-- ASN1STOP
-- ASN1START

NR-DL-PRS-ResourcesCapability-r16 ::= SEQUENCE {
	maxNrOfDL-PRS-ResourceSetPerTrpPerFrequencyLayer-r16	
												INTEGER (1..2),
	maxNrOfTRP-AcrossFreqs-r16					ENUMERATED { n4, n6, n12, n16, n32,
															 n64, n128, n256, ...},
	maxNrOfPosLayer-r16							INTEGER (1..4),
	dl-PRS-ResourcesCapabilityBandList-r16		SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
													DL-PRS-ResourcesCapabilityPerBand-r16,
	dl-PRS-ResourcesBandCombinationList-r16		DL-PRS-ResourcesBandCombinationList-r16,
	...
}

DL-PRS-ResourcesCapabilityPerBand-r16 ::= SEQUENCE {
	freqBandIndicatorNR-r16						FreqBandIndicatorNR-r16,
	maxNrOfDL-PRS-ResourcesPerResourceSet-r16	ENUMERATED { n1, n2, n4, n8, n16, n32, n64, ...},
	maxNrOfDL-PRS-ResourcesPerPositioningFrequencylayer-r16	
												ENUMERATED { n6, n24, n32, n64, n96, n128,
															 n256, n512, n1024, ...},
	...
}

DL-PRS-ResourcesBandCombinationList-r16 ::=	SEQUENCE (SIZE (1..maxBandComb-r16)) OF
														DL-PRS-ResourcesBandCombination-r16

DL-PRS-ResourcesBandCombination-r16 ::=	SEQUENCE {
	bandList-r16							SEQUENCE (SIZE (1..maxSimultaneousBands-r16)) OF
															FreqBandIndicatorNR-r16,
	maxNrOfDL-PRS-ResourcesAcrossAllFL-TRP-ResourceSet-r16	
											CHOICE {
		fr1-Only-r16							ENUMERATED {n6, n24, n64, n128, n192,
															 n256, n512, n1024, n2048},
		fr2-Only-r16							ENUMERATED {n24, n64, n96, n128, n192,
															 n256, n512, n1024, n2048},
		fr1-FR2Mix-r16							SEQUENCE {
			fr1-r16									ENUMERATED {n6, n24, n64, n96, n128,
																 n192, n256, n512, n1024, n2048},
			fr2-r16									ENUMERATED {n24, n64, n96, n128, n192,
																 n256, n512, n1024, n2048},
			...
		},
		...
	},
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-PRS-ResourceSetID-r16 ::= INTEGER (0..nrMaxNumDL-PRS-ResourceSetsPerTRP-1-r16)

-- ASN1STOP
-- ASN1START

NR-PositionCalculationAssistance-r16 ::= SEQUENCE {
	nr-TRP-LocationInfo-r16 		NR-TRP-LocationInfo-r16				OPTIONAL,	-- Need ON
	nr-DL-PRS-BeamInfo-r16			NR-DL-PRS-BeamInfo-r16				OPTIONAL,	-- Need ON
	nr-RTD-Info-r16					NR-RTD-Info-r16						OPTIONAL,	-- Need ON
	...
}
-- ASN1STOP
-- ASN1START

NR-RTD-Info-r16 ::= SEQUENCE {
	referenceTRP-RTD-Info-r16		ReferenceTRP-RTD-Info-r16,
	rtd-InfoList-r16				RTD-InfoList-r16,
	...
}

ReferenceTRP-RTD-Info-r16 ::= SEQUENCE {
	dl-PRS-ID-Ref-r16				INTEGER (0..255),
	nr-PhysCellID-Ref-r16			NR-PhysCellID-r16		OPTIONAL,	-- Need ON
	nr-CellGlobalID-Ref-r16			NCGI-r15				OPTIONAL,	-- Need ON
	nr-ARFCN-Ref-r16				ARFCN-ValueNR-r15		OPTIONAL,	-- Need ON
	refTime-r16						CHOICE {
			systemFrameNumber-r16		BIT STRING (SIZE (10)),
			utc-r16						UTCTime,
			...
	},
	rtd-RefQuality-r16				NR-TimingQuality-r16	OPTIONAL,	-- Need ON
	...
}

RTD-InfoList-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF RTD-InfoListPerFreqLayer-r16

RTD-InfoListPerFreqLayer-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPsPerFreq-r16)) OF RTD-InfoElement-r16

RTD-InfoElement-r16 ::= SEQUENCE {
	dl-PRS-ID-r16					INTEGER (0..255),
	nr-PhysCellID-r16				NR-PhysCellID-r16		OPTIONAL,	-- Need ON
	nr-CellGlobalID-r16				NCGI-r15				OPTIONAL,	-- Need ON
	nr-ARFCN-r16					ARFCN-ValueNR-r15		OPTIONAL,	-- Need ON
	subframeOffset-r16				INTEGER (0..1966079),
	rtd-Quality-r16					NR-TimingQuality-r16,
	...
}

-- ASN1STOP
-- ASN1START

NR-SelectedDL-PRS-IndexList-r16 ::=	SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
										NR-SelectedDL-PRS-PerFreq-r16

NR-SelectedDL-PRS-PerFreq-r16 ::= SEQUENCE {
	nr-SelectedDL-PRS-FrequencyLayerIndex-r16	INTEGER (0..nrMaxFreqLayers-1-r16),
	nr-SelectedDL-PRS-IndexListPerFreq-r16 		SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
														NR-SelectedDL-PRS-IndexPerTRP-r16
																			OPTIONAL,	--Need OP
	...
}

NR-SelectedDL-PRS-IndexPerTRP-r16 ::= SEQUENCE {
	nr-SelectedTRP-Index-r16					INTEGER (0..nrMaxTRPsPerFreq-1-r16),
	dl-SelectedPRS-ResourceSetIndexList-r16		SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16))
													OF	DL-SelectedPRS-ResourceSetIndex-r16
																			OPTIONAL,	--Need OP
	...
}

DL-SelectedPRS-ResourceSetIndex-r16 ::= SEQUENCE {
	nr-DL-SelectedPRS-ResourceSetIndex-r16		INTEGER (0..nrMaxSetsPerTrpPerFreqLayer-1-r16),
	dl-SelectedPRS-ResourceIndexList-r16		SEQUENCE (SIZE (1..nrMaxResourcesPerSet-r16)) OF
														DL-SelectedPRS-ResourceIndex-r16
																			OPTIONAL	--Need OP
}

DL-SelectedPRS-ResourceIndex-r16 ::= SEQUENCE {
	nr-DL-SelectedPRS-ResourceIdIndex-r16		INTEGER (0..nrMaxNumDL-PRS-ResourcesPerSet-1-r16),
	...
}

-- ASN1STOP
-- ASN1START

NR-SSB-Config-r16 ::= SEQUENCE {
	nr-PhysCellID-r16					NR-PhysCellID-r16,
	nr-ARFCN-r16						ARFCN-ValueNR-r15,
	ss-PBCH-BlockPower-r16				INTEGER (-60..50),
	halfFrameIndex-r16					INTEGER (0..1),
	ssb-periodicity-r16					ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, ...},
	ssb-PositionsInBurst-r16			CHOICE {
		shortBitmap-r16						BIT STRING (SIZE (4)),
		mediumBitmap-r16					BIT STRING (SIZE (8)),
		longBitmap-r16						BIT STRING (SIZE (64))
	}																			OPTIONAL, --Need OR
	ssb-SubcarrierSpacing-r16			ENUMERATED {kHz15, kHz30, kHz60, kHz120, kHz240, ...},
	sfn-SSB-Offset-r16					INTEGER (0..15),
	...
}

-- ASN1STOP
-- ASN1START

NR-TimeStamp-r16 ::= SEQUENCE {
	dl-PRS-ID-r16				INTEGER (0..255),
	nr-PhysCellID-r16			NR-PhysCellID-r16			OPTIONAL,	-- Need ON
	nr-CellGlobalID-r16			NCGI-r15					OPTIONAL,	-- Need ON
	nr-ARFCN-r16				ARFCN-ValueNR-r15			OPTIONAL,	-- Need ON
	nr-SFN-r16					INTEGER (0..1023),
	nr-Slot-r16 				CHOICE {
			scs15-r16				INTEGER (0..9),
			scs30-r16				INTEGER (0..19),
			scs60-r16				INTEGER (0..39),
			scs120-r16				INTEGER (0..79)
	},
	...
}

-- ASN1STOP
-- ASN1START

NR-TimingQuality-r16 ::= SEQUENCE {
	timingQualityValue-r16			INTEGER (0..31),
	timingQualityResolution-r16		ENUMERATED {mdot1, m1, m10, m30, ...},
	...
}

-- ASN1STOP
-- ASN1START

NR-TRP-LocationInfo-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF
									NR-TRP-LocationInfoPerFreqLayer-r16

NR-TRP-LocationInfoPerFreqLayer-r16 ::= SEQUENCE {
	referencePoint-r16			ReferencePoint-r16				OPTIONAL,	-- Cond NotSameAsPrev
	trp-LocationInfoList-r16	SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF
										TRP-LocationInfoElement-r16,
	...
}

TRP-LocationInfoElement-r16 ::= SEQUENCE {
	dl-PRS-ID-r16					INTEGER (0..255),
	nr-PhysCellID-r16				NR-PhysCellID-r16			OPTIONAL,	-- Need ON
	nr-CellGlobalID-r16				NCGI-r15					OPTIONAL,	-- Need ON
	nr-ARFCN-r16					ARFCN-ValueNR-r15			OPTIONAL,	-- Need ON
	associated-DL-PRS-ID-r16		INTEGER (0..255)			OPTIONAL,	-- Need OP
	trp-Location-r16				RelativeLocation-r16					OPTIONAL,	-- Need OP
	trp-DL-PRS-ResourceSets-r16		SEQUENCE (SIZE(1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF
										DL-PRS-ResourceSets-TRP-Element-r16	OPTIONAL,	-- Need OP
	...
}

DL-PRS-ResourceSets-TRP-Element-r16 ::= SEQUENCE {
	dl-PRS-ResourceSetARP-r16			RelativeLocation-r16				OPTIONAL,	-- Need OP
	dl-PRS-Resource-ARP-List-r16		SEQUENCE (SIZE(1..nrMaxResourcesPerSet-r16)) OF
											DL-PRS-Resource-ARP-Element-r16	OPTIONAL,	-- Need OP
	...
}

DL-PRS-Resource-ARP-Element-r16 ::= SEQUENCE {
	dl-PRS-Resource-ARP-location-r16	RelativeLocation-r16				OPTIONAL,	-- Need OP
	...
}

-- ASN1STOP
-- ASN1START

NR-UL-SRS-Capability-r16 ::= SEQUENCE {
	srs-CapabilityBandList-r16					SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
													SRS-CapabilityPerBand-r16,
	srs-PosResourceConfigCA-BandList-r16		SEQUENCE (SIZE (1..nrMaxConfiguredBands-r16)) OF
													SRS-PosResourcesPerBand-r16			OPTIONAL,
	maxNumberSRS-PosPathLossEstimateAllServingCells-r16	
												ENUMERATED {n1, n4, n8, n16}			OPTIONAL,
	maxNumberSRS-PosSpatialRelationsAllServingCells-r16	
												ENUMERATED {n0, n1, n2, n4, n8, n16}	OPTIONAL,
	...
}

SRS-CapabilityPerBand-r16 ::= SEQUENCE {
	freqBandIndicatorNR-r16			FreqBandIndicatorNR-r16,
	olpc-SRS-Pos-r16				OLPC-SRS-Pos-r16									OPTIONAL,
	spatialRelationsSRS-Pos-r16		SpatialRelationsSRS-Pos-r16							OPTIONAL,
	...
}

OLPC-SRS-Pos-r16 ::= SEQUENCE {
	olpc-SRS-PosBasedOnPRS-Serving-r16		ENUMERATED {supported}						OPTIONAL,
	olpc-SRS-PosBasedOnSSB-Neigh-r16 		ENUMERATED {supported}						OPTIONAL,
	olpc-SRS-PosBasedOnPRS-Neigh-r16		ENUMERATED {supported}						OPTIONAL,
	maxNumberPathLossEstimatePerServing-r16	ENUMERATED {n1, n4, n8, n16}				OPTIONAL,
	...
}

SpatialRelationsSRS-Pos-r16 ::=	SEQUENCE {
	spatialRelation-SRS-PosBasedOnSSB-Serving-r16		ENUMERATED {supported}			OPTIONAL,
	spatialRelation-SRS-PosBasedOnCSI-RS-Serving-r16	ENUMERATED {supported}			OPTIONAL,
	spatialRelation-SRS-PosBasedOnPRS-Serving-r16		ENUMERATED {supported}			OPTIONAL,
	spatialRelation-SRS-PosBasedOnSRS-r16				ENUMERATED {supported}			OPTIONAL,
	spatialRelation-SRS-PosBasedOnSSB-Neigh-r16			ENUMERATED {supported}			OPTIONAL,
	spatialRelation-SRS-PosBasedOnPRS-Neigh-r16			ENUMERATED {supported}			OPTIONAL,
	...
}

SRS-PosResourcesPerBand-r16 ::= SEQUENCE {
	freqBandIndicatorNR-r16							FreqBandIndicatorNR-r16,
	maxNumberSRS-PosResourceSetsPerBWP-r16			ENUMERATED {n1, n2, n4, n8, n12, n16},
	maxNumberSRS-PosResourcesPerBWP-r16				ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
	maxNumberPeriodicSRS-PosResourcesPerBWP-r16		ENUMERATED {n1, n2, n4, n8, n16, n32, n64},
	maxNumberAP-SRS-PosResourcesPerBWP-r16			ENUMERATED {n1, n2, n4, n8, n16, n32, n64}
																						OPTIONAL,
	maxNumberSP-SRS-PosResourcesPerBWP-r16			ENUMERATED {n1, n2, n4, n8, n16, n32, n64}
																						OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

ReferencePoint-r16 ::= SEQUENCE {
	referencePointGeographicLocation-r16 		CHOICE {
		location3D-r16 			EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
		ha-location3D-r16 		HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15,
		...
	},
	...
}

-- ASN1STOP
-- ASN1START

RelativeLocation-r16 ::= SEQUENCE {
	milli-arc-second-units-r16 	ENUMERATED { mas0-03, mas0-3, mas3, mas30, ...},
	height-units-r16			ENUMERATED {mm, cm, m, ...},
	delta-latitude-r16			Delta-Latitude-r16,
	delta-longitude-r16			Delta-Longitude-r16,
	delta-height-r16			Delta-Height-r16,
	locationUNC-r16				LocationUncertainty-r16				OPTIONAL,		-- Need OP
	...
}

Delta-Latitude-r16 ::= SEQUENCE {
	delta-Latitude-r16						INTEGER (-1024..1023),
	coarse-delta-Latitude-r16				INTEGER (0..4095)		OPTIONAL,		-- Need OP
	...
}

Delta-Longitude-r16 ::= SEQUENCE {
	delta-Longitude-r16						INTEGER (-1024..1023),
	coarse-delta-Longitude-r16				INTEGER (0..4095)		OPTIONAL,		-- Need OP
	...
}

Delta-Height-r16 ::= SEQUENCE {
	delta-Height-r16						INTEGER (-1024..1023),
	coarse-delta-Height-r16					INTEGER (0..4095)		OPTIONAL,		-- Need OP
	...
}

LocationUncertainty-r16 ::= SEQUENCE {
	horizontalUncertainty-r16				INTEGER (0..255),
	horizontalConfidence-r16				INTEGER (0..100),
	verticalUncertainty-r16					INTEGER (0..255),
	verticalConfidence-r16					INTEGER (0..100)
}

-- ASN1STOP
-- ASN1START

OTDOA-ProvideAssistanceData ::= SEQUENCE {
	otdoa-ReferenceCellInfo			OTDOA-ReferenceCellInfo				OPTIONAL,	-- Need ON
	otdoa-NeighbourCellInfo			OTDOA-NeighbourCellInfoList			OPTIONAL,	-- Need ON
	otdoa-Error						OTDOA-Error							OPTIONAL,	-- Need ON
	...,
	[[
	 otdoa-ReferenceCellInfoNB-r14	OTDOA-ReferenceCellInfoNB-r14		OPTIONAL,	-- Need ON
	 otdoa-NeighbourCellInfoNB-r14	OTDOA-NeighbourCellInfoListNB-r14	OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

OTDOA-ReferenceCellInfo ::= SEQUENCE {
	physCellId					INTEGER (0..503),
	cellGlobalId				ECGI						OPTIONAL,		-- Need ON
	earfcnRef					ARFCN-ValueEUTRA			OPTIONAL,		-- Cond NotSameAsServ0
	antennaPortConfig			ENUMERATED {ports1-or-2, ports4, ... }
															OPTIONAL,		-- Cond NotSameAsServ1
	cpLength					ENUMERATED { normal, extended, ... },
	prsInfo						PRS-Info					OPTIONAL,		-- Cond PRS
	...,
	[[ earfcnRef-v9a0			ARFCN-ValueEUTRA-v9a0		OPTIONAL		-- Cond NotSameAsServ2
	]],
	[[	tpId-r14				INTEGER (0..4095)			OPTIONAL,		-- Need ON
		cpLengthCRS-r14			ENUMERATED { normal, extended, ... }	
															OPTIONAL,		-- Cond CRS
		sameMBSFNconfigRef-r14	BOOLEAN						OPTIONAL,		-- Need ON
		dlBandwidth-r14			ENUMERATED {n6, n15, n25, n50, n75, n100}
															OPTIONAL,		-- Cond NotSameAsServ3
		addPRSconfigRef-r14		SEQUENCE (SIZE (1..maxAddPRSconfig-r14)) OF PRS-Info
															OPTIONAL		-- Need ON	
	]],
	[[
		nr-LTE-SFN-Offset-r15	INTEGER (0..1023)			OPTIONAL		-- Cond NR
	]],
	[[
		tdd-config-v1520					TDD-Config-v1520	OPTIONAL,		-- Need ON
		nr-LTE-fineTiming-Offset-r15		INTEGER (0..19)		OPTIONAL		-- Cond FineOffset
	]]
}

maxAddPRSconfig-r14			INTEGER ::= 2

-- ASN1STOP
-- ASN1START

PRS-Info ::= SEQUENCE {
	prs-Bandwidth			ENUMERATED { n6, n15, n25, n50, n75, n100, ... },
	prs-ConfigurationIndex	INTEGER (0..4095),
	numDL-Frames			ENUMERATED {sf-1, sf-2, sf-4, sf-6, ..., sf-add-v1420},
	...,
	prs-MutingInfo-r9		CHOICE {
		po2-r9					BIT STRING (SIZE(2)),
		po4-r9					BIT STRING (SIZE(4)),
		po8-r9					BIT STRING (SIZE(8)),
		po16-r9					BIT STRING (SIZE(16)),
		...,
		po32-v1420				BIT STRING (SIZE(32)),
		po64-v1420				BIT STRING (SIZE(64)),
		po128-v1420				BIT STRING (SIZE(128)),
		po256-v1420				BIT STRING (SIZE(256)),
		po512-v1420				BIT STRING (SIZE(512)),
		po1024-v1420			BIT STRING (SIZE(1024))
	}														OPTIONAL,				-- Need OP
	[[	prsID-r14				INTEGER (0..4095)			OPTIONAL,				-- Need ON
		add-numDL-Frames-r14	INTEGER (1..160)			OPTIONAL,				-- Cond sf-add
		prsOccGroupLen-r14		ENUMERATED {g2, g4, g8, g16, g32, g64, g128,... }
															OPTIONAL,				-- Cond Occ-Grp
		prsHoppingInfo-r14	CHOICE {
			nb2-r14				INTEGER (0.. maxAvailNarrowBands-Minus1-r14),
			nb4-r14				SEQUENCE (SIZE (3))
										OF INTEGER (0.. maxAvailNarrowBands-Minus1-r14)
	}														OPTIONAL				-- Cond PRS-FH
	]]
}

maxAvailNarrowBands-Minus1-r14		INTEGER ::= 15	-- Maximum number of narrowbands minus 1

-- ASN1STOP
-- ASN1START

TDD-Config-v1520 ::= SEQUENCE {
	subframeAssignment-v1520			ENUMERATED { sa0, sa1, sa2, sa3, sa4, sa5, sa6 },
	...
}

-- ASN1STOP
-- ASN1START

OTDOA-NeighbourCellInfoList ::= SEQUENCE (SIZE (1..maxFreqLayers)) OF OTDOA-NeighbourFreqInfo
OTDOA-NeighbourFreqInfo ::= SEQUENCE (SIZE (1..24)) OF OTDOA-NeighbourCellInfoElement

OTDOA-NeighbourCellInfoElement ::= SEQUENCE {
	physCellId							INTEGER (0..503),
	cellGlobalId						ECGI				OPTIONAL,		-- Need ON
	earfcn								ARFCN-ValueEUTRA	OPTIONAL,		-- Cond NotSameAsRef0
	cpLength							ENUMERATED {normal, extended, ...}
															OPTIONAL,		-- Cond NotSameAsRef1
	prsInfo								PRS-Info			OPTIONAL,		-- Cond NotSameAsRef2
	antennaPortConfig					ENUMERATED {ports-1-or-2, ports-4, ...}
															OPTIONAL, 		-- Cond NotsameAsRef3
	slotNumberOffset					INTEGER (0..19)		OPTIONAL,		-- Cond NotSameAsRef4
	prs-SubframeOffset					INTEGER (0..1279)	OPTIONAL,		-- Cond InterFreq
	expectedRSTD						INTEGER (0..16383),
	expectedRSTD-Uncertainty			INTEGER (0..1023),
	...,
	[[ earfcn-v9a0					ARFCN-ValueEUTRA-v9a0	OPTIONAL		-- Cond NotSameAsRef5
	]],
	[[	tpId-r14					INTEGER (0..4095)		OPTIONAL,		-- Need ON
		prs-only-tp-r14				ENUMERATED { true }		OPTIONAL,		-- Cond TBS
		cpLengthCRS-r14				ENUMERATED { normal, extended, ... }	
															OPTIONAL,		-- Cond CRS
		sameMBSFNconfigNeighbour-r14	BOOLEAN				OPTIONAL,		-- Need ON
		dlBandwidth-r14				ENUMERATED {n6, n15, n25, n50, n75, n100}
															OPTIONAL,		-- Cond NotSameAsRef6
		addPRSconfigNeighbour-r14	SEQUENCE (SIZE (1..maxAddPRSconfig-r14)) OF
										Add-PRSconfigNeighbourElement-r14
															OPTIONAL		-- Need ON
	]],
	[[
		tdd-config-v1520			TDD-Config-v1520		OPTIONAL		-- Need ON
	]]
}

Add-PRSconfigNeighbourElement-r14 ::= SEQUENCE {
	add-prsInfo-r14					PRS-Info				OPTIONAL,		-- Cond NotSameAsRef7
	...
}

maxFreqLayers	INTEGER ::= 3

-- ASN1STOP
-- ASN1START

OTDOA-ReferenceCellInfoNB-r14 ::= SEQUENCE {
	physCellIdNB-r14				INTEGER (0..503)			OPTIONAL,	-- Cond NoPRS-AD1
	cellGlobalIdNB-r14				ECGI						OPTIONAL,	-- Cond NoPRS-AD2
	carrierFreqRef-r14				CarrierFreq-NB-r14			OPTIONAL,	-- Cond NotSameAsServ1
	earfcn-r14						ARFCN-ValueEUTRA-r14		OPTIONAL,	-- Cond Inband
	eutra-NumCRS-Ports-r14			ENUMERATED {ports1-or-2, ports4}
																OPTIONAL,	-- Cond NoPRS-AD3
	otdoa-SIB1-NB-repetitions-r14	ENUMERATED { r4, r8, r16 }	OPTIONAL,	-- Cond NotSameAsServ2
	nprsInfo-r14					PRS-Info-NB-r14				OPTIONAL,	-- Cond NPRS-Type1
	...,
	[[
	nprsInfo-Type2-v1470			PRS-Info-NB-r14				OPTIONAL	-- Cond NPRS-Type2
	]],
	[[	tdd-config-r15				TDD-Config-v1520			OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

PRS-Info-NB-r14 ::= SEQUENCE (SIZE (1..maxCarrier-r14)) OF NPRS-Info-r14

NPRS-Info-r14 ::= SEQUENCE {
	operationModeInfoNPRS-r14	ENUMERATED { inband, standalone },
	nprs-carrier-r14			CarrierFreq-NB-r14	OPTIONAL,	-- Cond Standalone/Guardband
	nprsSequenceInfo-r14		INTEGER (0..174)	OPTIONAL,	-- Cond Inband
	nprsID-r14					INTEGER (0..4095)	OPTIONAL,	-- Cond NPRS-ID
	partA-r14					SEQUENCE {
		nprsBitmap-r14			CHOICE {
			subframePattern10-r14	BIT STRING (SIZE (10)),
			subframePattern40-r14 	BIT STRING (SIZE (40))	
		},
		nprs-MutingInfoA-r14	CHOICE {
			po2-r14					BIT STRING (SIZE(2)),
			po4-r14					BIT STRING (SIZE(4)),
			po8-r14					BIT STRING (SIZE(8)),
			po16-r14				BIT STRING (SIZE(16)),
			...
		}															OPTIONAL,		-- Cond MutingA
		...
	}																OPTIONAL,		-- Cond PartA
	partB-r14					SEQUENCE {
		nprs-Period-r14			ENUMERATED { ms160, ms320, ms640, ms1280, ... , ms2560-v1510},
		nprs-startSF-r14		ENUMERATED { zero, one-eighth, two-eighths, three-eighths,
											four-eighths, five-eighths, six-eighths,
											seven-eighths, ...},
		nprs-NumSF-r14			ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320,
											sf640, sf1280, ... , sf2560-v1510},
		nprs-MutingInfoB-r14	CHOICE {
			po2-r14					BIT STRING (SIZE(2)),
			po4-r14					BIT STRING (SIZE(4)),
			po8-r14					BIT STRING (SIZE(8)),
			po16-r14				BIT STRING (SIZE(16)),
			...
		}															OPTIONAL,		-- Cond MutingB
		...,
	[[	sib1-SF-TDD-r15			ENUMERATED {sf0, sf4, sf0and5}		OPTIONAL		-- Cond SIB1-TDD
	]]
	}																OPTIONAL,		-- Cond PartB
	...,
	[[
	partA-TDD-r15					SEQUENCE {
		nprsBitmap-r15			CHOICE {
			subframePattern10-TDD-r15	BIT STRING (SIZE (8)),
			subframePattern40-TDD-r15 	BIT STRING (SIZE (32)),
			...	
		},
		nprs-MutingInfoA-r15	CHOICE {
			po2-r15					BIT STRING (SIZE(2)),
			po4-r15					BIT STRING (SIZE(4)),
			po8-r15					BIT STRING (SIZE(8)),
			po16-r15				BIT STRING (SIZE(16)),
			...
		}															OPTIONAL,	-- Cond MutingA
		...
	}																OPTIONAL	-- Cond PartA-TDD
	]]
}

maxCarrier-r14	INTEGER ::= 5

-- ASN1STOP
-- ASN1START

OTDOA-NeighbourCellInfoListNB-r14 ::= SEQUENCE (SIZE (1..maxCells-r14)) OF
														OTDOA-NeighbourCellInfoNB-r14

OTDOA-NeighbourCellInfoNB-r14 ::= SEQUENCE {
	physCellIdNB-r14				INTEGER (0..503)		OPTIONAL,		-- Cond NoPRS-AD1
	cellGlobalIdNB-r14				ECGI					OPTIONAL,		-- Cond NoPRS-AD2
	carrierFreq-r14					CarrierFreq-NB-r14		OPTIONAL,		-- Cond NotSameAsRef1
	earfcn-r14						ARFCN-ValueEUTRA-r14	OPTIONAL,		-- Cond Inband
	eutra-NumCRS-Ports-r14			ENUMERATED {ports-1-or-2, ports-4, ...}
															OPTIONAL, 		-- Cond NotsameAsRef2
	otdoa-SIB1-NB-repetitions-r14	ENUMERATED { r4, r8, r16 }	
															OPTIONAL,		-- Cond	NotSameAsRef3
	nprsInfo-r14					PRS-Info-NB-r14			OPTIONAL,		-- Cond NotsameAsRef4
	nprs-slotNumberOffset-r14		INTEGER (0..19)			OPTIONAL,		-- Cond NotsameAsRef5
	nprs-SFN-Offset-r14				INTEGER (0..63)			OPTIONAL,		-- Cond NotsameAsRef6
	nprs-SubframeOffset-r14			INTEGER (0..1279)		OPTIONAL,		-- Need OP
	expectedRSTD-r14				INTEGER (0..16383)		OPTIONAL,		-- Cond NoPRS-AD3
	expectedRSTD-Uncertainty-r14	INTEGER (0..1023)		OPTIONAL,		-- Cond NoPRS-AD3
	prsNeighbourCellIndex-r14		INTEGER (1..72)			OPTIONAL,		-- Cond PRS-AD
	...,
	[[
	nprsInfo-Type2-v1470			PRS-Info-NB-r14			OPTIONAL		-- Cond NotSameAsRef4
	]],
	[[	tdd-config-r15				TDD-Config-v1520		OPTIONAL		-- Need ON
	]]
}

maxCells-r14	INTEGER ::= 72

-- ASN1STOP
-- ASN1START

OTDOA-RequestAssistanceData ::= SEQUENCE {
	physCellId			INTEGER (0..503),
	...,
	[[
	 adType-r14			BIT STRING { prs (0), nprs (1) } (SIZE (1..8))		OPTIONAL
	]],
	[[
		nrPhysCellId-r15	INTEGER (0..1007)									OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

OTDOA-ProvideLocationInformation ::= SEQUENCE {
	otdoaSignalMeasurementInformation	OTDOA-SignalMeasurementInformation	OPTIONAL,
	otdoa-Error							OTDOA-Error							OPTIONAL,
	...,
	[[
		otdoaSignalMeasurementInformation-NB-r14	OTDOA-SignalMeasurementInformation-NB-r14
																			OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

OTDOA-SignalMeasurementInformation ::= SEQUENCE {
	systemFrameNumber		BIT STRING (SIZE (10)),
	physCellIdRef			INTEGER (0..503),
	cellGlobalIdRef			ECGI					OPTIONAL,
	earfcnRef				ARFCN-ValueEUTRA		OPTIONAL,		-- Cond NotSameAsRef0
	referenceQuality		OTDOA-MeasQuality		OPTIONAL,
	neighbourMeasurementList	NeighbourMeasurementList,
	...,
	[[ earfcnRef-v9a0		ARFCN-ValueEUTRA-v9a0	OPTIONAL		-- Cond NotSameAsRef1
	]],
	[[ tpIdRef-r14			INTEGER (0..4095)		OPTIONAL,		-- Cond ProvidedByServer0
		prsIdRef-r14		INTEGER (0..4095)		OPTIONAL,		-- Cond ProvidedByServer1
		additionalPathsRef-r14	
							AdditionalPathList-r14	OPTIONAL,
		nprsIdRef-r14		INTEGER (0..4095)		OPTIONAL,		-- Cond ProvidedByServer2
		carrierFreqOffsetNB-Ref-r14
							CarrierFreqOffsetNB-r14	OPTIONAL,		-- Cond NB-IoT
		hyperSFN-r14		BIT STRING (SIZE (10))	OPTIONAL		-- Cond H-SFN
	]],
	[[
		motionTimeSource-r15		MotionTimeSource-r15		OPTIONAL
	]]
}

NeighbourMeasurementList ::= SEQUENCE (SIZE(1..24)) OF NeighbourMeasurementElement

NeighbourMeasurementElement ::= SEQUENCE {
	physCellIdNeighbour		INTEGER (0..503),
	cellGlobalIdNeighbour	ECGI					OPTIONAL,
	earfcnNeighbour			ARFCN-ValueEUTRA		OPTIONAL,		-- Cond NotSameAsRef2
	rstd					INTEGER (0..12711),
	rstd-Quality			OTDOA-MeasQuality,
	...,
	[[ earfcnNeighbour-v9a0	ARFCN-ValueEUTRA-v9a0	OPTIONAL		-- Cond NotSameAsRef3
	]],
	[[ tpIdNeighbour-r14	INTEGER (0..4095)		OPTIONAL,		-- Cond ProvidedByServer0
		prsIdNeighbour-r14	INTEGER (0..4095)		OPTIONAL,		-- Cond ProvidedByServer1
		delta-rstd-r14		INTEGER (0..5)			OPTIONAL,
		additionalPathsNeighbour-r14	
							AdditionalPathList-r14	OPTIONAL,
		nprsIdNeighbour-r14	INTEGER (0..4095)		OPTIONAL,		-- Cond ProvidedByServer2
		carrierFreqOffsetNB-Neighbour-r14
							CarrierFreqOffsetNB-r14	OPTIONAL		-- Cond NB-IoT
	]],
	[[
		delta-SFN-r15			INTEGER (-8192..8191)	OPTIONAL
	]]
}

AdditionalPathList-r14 ::= SEQUENCE (SIZE(1..maxPaths-r14)) OF AdditionalPath-r14

maxPaths-r14	INTEGER ::= 2

MotionTimeSource-r15 ::= SEQUENCE {
	timeSource-r15				ENUMERATED {servingCell, referenceCell, gnss, mixed,
											other, none, ...}
}

-- ASN1STOP
-- ASN1START

OTDOA-SignalMeasurementInformation-NB-r14 ::= SEQUENCE {
	systemFrameNumber-r14			BIT STRING (SIZE (10)),
	physCellIdRef-r14				INTEGER (0..503),
	cellGlobalIdRef-r14				ECGI					OPTIONAL,
	earfcnRef-r14					ARFCN-ValueEUTRA-r14	OPTIONAL,	-- Cond NotSameAsRef0
	referenceQuality-r14			OTDOA-MeasQuality		OPTIONAL,
	neighbourMeasurementList-r14	NeighbourMeasurementList-NB-r14,
	tpIdRef-r14						INTEGER (0..4095)		OPTIONAL,	-- Cond ProvidedByServer0
	prsIdRef-r14					INTEGER (0..4095)		OPTIONAL,	-- Cond ProvidedByServer1
	additionalPathsRef-r14			AdditionalPathList-r14	OPTIONAL,
	nprsIdRef-r14					INTEGER (0..4095)		OPTIONAL,	-- Cond ProvidedByServer2
	carrierFreqOffsetNB-Ref-r14		CarrierFreqOffsetNB-r14	OPTIONAL,	-- Cond NB-IoT
	hyperSFN-r14					BIT STRING (SIZE (10))	OPTIONAL,	-- Cond H-SFN
	...
}

NeighbourMeasurementList-NB-r14 ::= SEQUENCE (SIZE(1..24)) OF NeighbourMeasurementElement-NB-r14

NeighbourMeasurementElement-NB-r14 ::= SEQUENCE {
	physCellIdNeighbour-r14		INTEGER (0..503),
	cellGlobalIdNeighbour-r14	ECGI					OPTIONAL,
	earfcnNeighbour-r14			ARFCN-ValueEUTRA-r14	OPTIONAL,		-- Cond NotSameAsRef2
	rstd-r14					INTEGER (0..12711),
	rstd-Quality-r14			OTDOA-MeasQuality,
	tpIdNeighbour-r14			INTEGER (0..4095)		OPTIONAL,		-- Cond ProvidedByServer0
	prsIdNeighbour-r14			INTEGER (0..4095)		OPTIONAL,		-- Cond ProvidedByServer1
	delta-rstd-r14				INTEGER (0..5)			OPTIONAL,
	additionalPathsNeighbour-r14	
								AdditionalPathList-r14	OPTIONAL,
	nprsIdNeighbour-r14			INTEGER (0..4095)		OPTIONAL,		-- Cond ProvidedByServer2
	carrierFreqOffsetNB-Neighbour-r14
								CarrierFreqOffsetNB-r14	OPTIONAL,		-- Cond NB-IoT
	...
}

-- ASN1STOP
-- ASN1START

OTDOA-MeasQuality ::= SEQUENCE {
	error-Resolution		BIT STRING (SIZE (2)),
	error-Value				BIT STRING (SIZE (5)),
	error-NumSamples		BIT STRING (SIZE (3))				OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

AdditionalPath-r14 ::= SEQUENCE {
	relativeTimeDifference-r14	INTEGER (-256..255),
	path-Quality-r14			OTDOA-MeasQuality				OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

OTDOA-RequestLocationInformation ::= SEQUENCE {
	assistanceAvailability		BOOLEAN,
	...,
	[[
		multipathRSTD-r14		ENUMERATED { requested }	OPTIONAL,		-- Need ON
		maxNoOfRSTDmeas-r14		INTEGER (1..32)				OPTIONAL		-- Need ON
	]],
	[[
		motionMeasurements-r15	ENUMERATED { requested }	OPTIONAL		-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

OTDOA-ProvideCapabilities ::= SEQUENCE {
	otdoa-Mode		BIT STRING {	ue-assisted				(0),
									ue-assisted-NB-r14		(1),
									ue-assisted-NB-TDD-r15	(2) } (SIZE (1..8)),
	...,
	supportedBandListEUTRA		SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA		OPTIONAL,
	supportedBandListEUTRA-v9a0	SEQUENCE (SIZE (1..maxBands)) OF SupportedBandEUTRA-v9a0
																						OPTIONAL,
	interFreqRSTDmeasurement-r10		ENUMERATED { supported }						OPTIONAL,
	additionalNeighbourCellInfoList-r10	ENUMERATED { supported }						OPTIONAL,
	prs-id-r14							ENUMERATED { supported }						OPTIONAL,
	tp-separation-via-muting-r14		ENUMERATED { supported }						OPTIONAL,
	additional-prs-config-r14			ENUMERATED { supported }						OPTIONAL,
	prs-based-tbs-r14					ENUMERATED { supported }						OPTIONAL,
	additionalPathsReport-r14			ENUMERATED { supported }						OPTIONAL,
	densePrsConfig-r14					ENUMERATED { supported }						OPTIONAL,
	maxSupportedPrsBandwidth-r14		ENUMERATED { n6, n15, n25, n50, n75, n100, ...}	OPTIONAL,
	prsOccGroup-r14						ENUMERATED { supported }						OPTIONAL,
	prsFrequencyHopping-r14				ENUMERATED { supported }						OPTIONAL,
	maxSupportedPrsConfigs-r14			ENUMERATED { c2, c3 }							OPTIONAL,
	periodicalReporting-r14				ENUMERATED { supported }						OPTIONAL,
	multiPrbNprs-r14					ENUMERATED { supported }						OPTIONAL,
	idleStateForMeasurements-r14		ENUMERATED { required }							OPTIONAL,
	numberOfRXantennas-r14				ENUMERATED { rx1, ... }							OPTIONAL,
	motionMeasurements-r15				ENUMERATED { supported }						OPTIONAL,
	interRAT-RSTDmeasurement-r15		ENUMERATED { supported }						OPTIONAL
}

maxBands INTEGER ::= 64

SupportedBandEUTRA ::= SEQUENCE {
	bandEUTRA							INTEGER (1..maxFBI)
}

SupportedBandEUTRA-v9a0 ::=		SEQUENCE {
	bandEUTRA-v9a0						INTEGER (maxFBI-Plus1..maxFBI2)		OPTIONAL
}

maxFBI								INTEGER	::=	64	-- Maximum value of frequency band indicator
maxFBI-Plus1						INTEGER ::= 65	-- lowest value extended FBI range
maxFBI2								INTEGER ::= 256	-- highest value extended FBI range

-- ASN1STOP
-- ASN1START

OTDOA-RequestCapabilities ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

OTDOA-Error ::= CHOICE {
	locationServerErrorCauses		OTDOA-LocationServerErrorCauses,
	targetDeviceErrorCauses			OTDOA-TargetDeviceErrorCauses,
	...
}

-- ASN1STOP
-- ASN1START

OTDOA-LocationServerErrorCauses ::= SEQUENCE {
	cause		ENUMERATED	{	undefined,
								assistanceDataNotSupportedByServer,
								assistanceDataSupportedButCurrentlyNotAvailableByServer,
								...
							},
	...
}

-- ASN1STOP
-- ASN1START

OTDOA-TargetDeviceErrorCauses ::= SEQUENCE {
	cause		ENUMERATED {	undefined,
								assistance-data-missing,
								unableToMeasureReferenceCell,
								unableToMeasureAnyNeighbourCell,
								attemptedButUnableToMeasureSomeNeighbourCells,
								...
							},
	...
}

-- ASN1STOP
-- ASN1START

A-GNSS-ProvideAssistanceData ::= SEQUENCE {
	gnss-CommonAssistData			GNSS-CommonAssistData				OPTIONAL,	-- Need ON
	gnss-GenericAssistData			GNSS-GenericAssistData				OPTIONAL,	-- Need ON
	gnss-Error						A-GNSS-Error						OPTIONAL,	-- Need ON
	...,
	[[
		gnss-PeriodicAssistData-r15	GNSS-PeriodicAssistData-r15			OPTIONAL	-- Cond CtrTrans
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-CommonAssistData ::= SEQUENCE {
	gnss-ReferenceTime				GNSS-ReferenceTime					OPTIONAL,	-- Need ON
	gnss-ReferenceLocation			GNSS-ReferenceLocation				OPTIONAL,	-- Need ON
	gnss-IonosphericModel			GNSS-IonosphericModel				OPTIONAL,	-- Need ON
	gnss-EarthOrientationParameters	GNSS-EarthOrientationParameters		OPTIONAL,	-- Need ON
	...,
	[[
		gnss-RTK-ReferenceStationInfo-r15
									GNSS-RTK-ReferenceStationInfo-r15	OPTIONAL,	-- Need ON
		gnss-RTK-CommonObservationInfo-r15	
									GNSS-RTK-CommonObservationInfo-r15	OPTIONAL,	-- Cond RTK
		gnss-RTK-AuxiliaryStationData-r15
									GNSS-RTK-AuxiliaryStationData-r15	OPTIONAL	-- Need ON
	]],
	[[
		gnss-SSR-CorrectionPoints-r16
									GNSS-SSR-CorrectionPoints-r16		OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-GenericAssistData ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataElement

GNSS-GenericAssistDataElement ::= SEQUENCE {
	gnss-ID							GNSS-ID,
	sbas-ID							SBAS-ID							OPTIONAL, 	-- Cond GNSS-ID-SBAS
	gnss-TimeModels					GNSS-TimeModelList				OPTIONAL,	-- Need ON
	gnss-DifferentialCorrections	GNSS-DifferentialCorrections	OPTIONAL,	-- Need ON
	gnss-NavigationModel			GNSS-NavigationModel			OPTIONAL,	-- Need ON
	gnss-RealTimeIntegrity			GNSS-RealTimeIntegrity			OPTIONAL,	-- Need ON
	gnss-DataBitAssistance			GNSS-DataBitAssistance			OPTIONAL,	-- Need ON
	gnss-AcquisitionAssistance		GNSS-AcquisitionAssistance		OPTIONAL,	-- Need ON
	gnss-Almanac					GNSS-Almanac					OPTIONAL,	-- Need ON
	gnss-UTC-Model					GNSS-UTC-Model					OPTIONAL,	-- Need ON
	gnss-AuxiliaryInformation		GNSS-AuxiliaryInformation		OPTIONAL,	-- Need ON
	...,
	[[
		bds-DifferentialCorrections-r12	
									BDS-DifferentialCorrections-r12	OPTIONAL,	-- Cond	GNSS-ID-BDS
		bds-GridModel-r12			BDS-GridModelParameter-r12		OPTIONAL	-- Cond	GNSS-ID-BDS
	]],
	[[
		gnss-RTK-Observations-r15	GNSS-RTK-Observations-r15		OPTIONAL,	-- Need ON
		glo-RTK-BiasInformation-r15	GLO-RTK-BiasInformation-r15		OPTIONAL,	-- Cond GNSS-ID-GLO
		gnss-RTK-MAC-CorrectionDifferences-r15
									GNSS-RTK-MAC-CorrectionDifferences-r15
																	OPTIONAL,	-- Need ON
		gnss-RTK-Residuals-r15		GNSS-RTK-Residuals-r15			OPTIONAL,	-- Need ON
		gnss-RTK-FKP-Gradients-r15	GNSS-RTK-FKP-Gradients-r15		OPTIONAL,	-- Need ON
		gnss-SSR-OrbitCorrections-r15
									GNSS-SSR-OrbitCorrections-r15	OPTIONAL,	-- Need ON
		gnss-SSR-ClockCorrections-r15
									GNSS-SSR-ClockCorrections-r15	OPTIONAL,	-- Need ON
		gnss-SSR-CodeBias-r15		GNSS-SSR-CodeBias-r15			OPTIONAL	-- Need ON
	]],
	[[
		gnss-SSR-URA-r16					GNSS-SSR-URA-r16		OPTIONAL,	-- Need ON
		gnss-SSR-PhaseBias-r16				GNSS-SSR-PhaseBias-r16	OPTIONAL,	-- Need ON
		gnss-SSR-STEC-Correction-r16		GNSS-SSR-STEC-Correction-r16	
																	OPTIONAL,	-- Need ON
		gnss-SSR-GriddedCorrection-r16		GNSS-SSR-GriddedCorrection-r16	
																	OPTIONAL,	-- Need ON
		navic-DifferentialCorrections-r16	NavIC-DifferentialCorrections-r16
																OPTIONAL,	-- Cond	GNSS-ID-NavIC
		navic-GridModel-r16					NavIC-GridModelParameter-r16
																OPTIONAL	-- Cond	GNSS-ID-NavIC
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-PeriodicAssistData-r15 ::= SEQUENCE {
	gnss-RTK-PeriodicObservations-r15		GNSS-PeriodicControlParam-r15	OPTIONAL,	-- Need ON
	glo-RTK-PeriodicBiasInformation-r15		GNSS-PeriodicControlParam-r15	OPTIONAL,	-- Need ON
	gnss-RTK-MAC-PeriodicCorrectionDifferences-r15
											GNSS-PeriodicControlParam-r15	OPTIONAL,	-- Need ON
	gnss-RTK-PeriodicResiduals-r15			GNSS-PeriodicControlParam-r15	OPTIONAL,	-- Need ON
	gnss-RTK-FKP-PeriodicGradients-r15		GNSS-PeriodicControlParam-r15	OPTIONAL,	-- Need ON
	gnss-SSR-PeriodicOrbitCorrections-r15
											GNSS-PeriodicControlParam-r15	OPTIONAL, 	-- Need ON
	gnss-SSR-PeriodicClockCorrections-r15
											GNSS-PeriodicControlParam-r15	OPTIONAL, 	-- Need ON
	gnss-SSR-PeriodicCodeBias-r15			GNSS-PeriodicControlParam-r15	OPTIONAL, 	-- Need ON
	...,
	[[
	gnss-SSR-PeriodicURA-r16				GNSS-PeriodicControlParam-r15	OPTIONAL,	-- Need ON
	gnss-SSR-PeriodicPhaseBias-r16			GNSS-PeriodicControlParam-r15	OPTIONAL, 	-- Need ON
	gnss-SSR-PeriodicSTEC-Correction-r16	GNSS-PeriodicControlParam-r15	OPTIONAL, 	-- Need ON
	gnss-SSR-PeriodicGriddedCorrection-r16	GNSS-PeriodicControlParam-r15	OPTIONAL 	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-ReferenceTime ::= SEQUENCE {
	gnss-SystemTime				GNSS-SystemTime,
	referenceTimeUnc			INTEGER (0..127)					OPTIONAL,	-- Cond noFTA
	gnss-ReferenceTimeForCells	SEQUENCE (SIZE (1..16)) OF
									GNSS-ReferenceTimeForOneCell	OPTIONAL,	-- Need ON
	...
}

GNSS-ReferenceTimeForOneCell ::= SEQUENCE {	
	networkTime				NetworkTime,
	referenceTimeUnc			INTEGER (0..127),
	bsAlign						ENUMERATED {true}	OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SystemTime ::= SEQUENCE {
	gnss-TimeID						GNSS-ID,
	gnss-DayNumber					INTEGER (0..32767),
	gnss-TimeOfDay					INTEGER (0..86399),
	gnss-TimeOfDayFrac-msec			INTEGER (0..999)		OPTIONAL,	-- Need ON
	notificationOfLeapSecond		BIT STRING (SIZE(2))	OPTIONAL,	-- Cond gnss-TimeID-glonass
	gps-TOW-Assist					GPS-TOW-Assist			OPTIONAL,	-- Cond gnss-TimeID-gps
	...
}

-- ASN1STOP
-- ASN1START

GPS-TOW-Assist ::= SEQUENCE (SIZE(1..64)) OF GPS-TOW-AssistElement

GPS-TOW-AssistElement ::= SEQUENCE {
	satelliteID		INTEGER (1..64),
	tlmWord			INTEGER (0..16383),
	antiSpoof		INTEGER (0..1),
	alert			INTEGER (0..1),
	tlmRsvdBits		INTEGER (0..3),
	...
}

-- ASN1STOP
-- ASN1START

NetworkTime ::= SEQUENCE {
	secondsFromFrameStructureStart				INTEGER(0..12533),
	fractionalSecondsFromFrameStructureStart	INTEGER(0..3999999),
	frameDrift									INTEGER (-64..63)	OPTIONAL,	-- Cond GNSSsynch
	cellID		CHOICE {
				eUTRA		SEQUENCE {
							physCellId			INTEGER (0..503),
							cellGlobalIdEUTRA	CellGlobalIdEUTRA-AndUTRA	OPTIONAL,	-- Need ON
							earfcn				ARFCN-ValueEUTRA,
							...,
							[[ earfcn-v9a0		ARFCN-ValueEUTRA-v9a0 OPTIONAL	-- Cond EARFCN-max
							]]
							},
				uTRA		SEQUENCE {
							mode	CHOICE {
									fdd		SEQUENCE {
											primary-CPICH-Info	INTEGER (0..511),
											...
											},
									tdd		SEQUENCE {
											cellParameters		INTEGER (0..127),
											...
											}
									},
							cellGlobalIdUTRA	CellGlobalIdEUTRA-AndUTRA	OPTIONAL,	-- Need ON
							uarfcn				ARFCN-ValueUTRA,
							...
							},
				gSM			SEQUENCE {
							bcchCarrier			INTEGER (0..1023),
							bsic				INTEGER (0..63),
							cellGlobalIdGERAN	CellGlobalIdGERAN			OPTIONAL,	-- Need ON
							...
							},
				...,
				nBIoT-r14	SEQUENCE {
							nbPhysCellId-r14	INTEGER (0..503),
							nbCellGlobalId-r14	ECGI						OPTIONAL,	-- Need ON
							nbCarrierFreq-r14	CarrierFreq-NB-r14,
							...
							},
				nr-r15		SEQUENCE {
							nrPhysCellId-r15	INTEGER (0..1007),
							nrCellGlobalID-r15	NCGI-r15					OPTIONAL,	-- Need ON
							nrARFCN-r15			ARFCN-ValueNR-r15,
							...
							}
				},
	...
}

-- ASN1STOP
-- ASN1START

GNSS-ReferenceLocation ::= SEQUENCE {
		threeDlocation			EllipsoidPointWithAltitudeAndUncertaintyEllipsoid,
		...
}

-- ASN1STOP
-- ASN1START

GNSS-IonosphericModel ::= SEQUENCE {
	klobucharModel			KlobucharModelParameter		OPTIONAL,	-- Need ON
	neQuickModel			NeQuickModelParameter		OPTIONAL,	-- Need ON
	...,
	[[	klobucharModel2-r16		KlobucharModel2Parameter-r16	OPTIONAL	-- Need ON
	]]

}

-- ASN1STOP
-- ASN1START

KlobucharModelParameter ::= SEQUENCE {
	dataID			BIT STRING (SIZE (2)),
	alfa0			INTEGER (-128..127),
	alfa1			INTEGER (-128..127),
	alfa2			INTEGER (-128..127),
	alfa3			INTEGER (-128..127),
	beta0			INTEGER (-128..127),
	beta1			INTEGER (-128..127),
	beta2			INTEGER (-128..127),
	beta3			INTEGER (-128..127),
	...
}

-- ASN1STOP
-- ASN1START

KlobucharModel2Parameter-r16 ::= SEQUENCE {
	alfa1-r16			INTEGER (0..1023),
	alfa2-r16			INTEGER (-128..127),
	alfa3-r16			INTEGER (0..255),
	alfa4-r16			INTEGER (0..255),
	alfa5-r16			INTEGER (0..255),
	alfa6-r16			INTEGER (-128..127),
	alfa7-r16			INTEGER (-128..127),
	alfa8-r16			INTEGER (-128..127),
	alfa9-r16			INTEGER (-128..127),
	...
}

-- ASN1STOP
-- ASN1START

NeQuickModelParameter ::= SEQUENCE {
	ai0			INTEGER (0..2047),
	ai1			INTEGER (-1024..1023),
	ai2			INTEGER (-8192..8191),
	ionoStormFlag1	INTEGER (0..1)		OPTIONAL,	-- Need OP
	ionoStormFlag2	INTEGER (0..1)		OPTIONAL,	-- Need OP
	ionoStormFlag3	INTEGER (0..1)		OPTIONAL,	-- Need OP
	ionoStormFlag4	INTEGER (0..1)		OPTIONAL,	-- Need OP
	ionoStormFlag5	INTEGER (0..1)		OPTIONAL,	-- Need OP
	...
}

-- ASN1STOP
-- ASN1START

GNSS-EarthOrientationParameters ::= SEQUENCE {
	teop				INTEGER (0..65535),
	pmX					INTEGER (-1048576..1048575),
	pmXdot				INTEGER (-16384..16383),
	pmY					INTEGER (-1048576..1048575),
	pmYdot				INTEGER (-16384..16383),
	deltaUT1			INTEGER (-1073741824..1073741823),
	deltaUT1dot			INTEGER (-262144..262143),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-ReferenceStationInfo-r15 ::= SEQUENCE {
	referenceStationID-r15					GNSS-ReferenceStationID-r15,
	referenceStationIndicator-r15			ENUMERATED {physical, non-physical},
	antenna-reference-point-ECEF-X-r15		INTEGER (-137438953472..137438953471),
	antenna-reference-point-ECEF-Y-r15		INTEGER (-137438953472..137438953471),
	antenna-reference-point-ECEF-Z-r15		INTEGER (-137438953472..137438953471),
	antennaHeight-r15						INTEGER (0..65535)					OPTIONAL, -- Need ON
	antennaDescription-r15					AntennaDescription-r15				OPTIONAL, -- Need ON
	antenna-reference-point-unc-r15			AntennaReferencePointUnc-r15		OPTIONAL, -- Need ON
	physical-reference-station-info-r15		PhysicalReferenceStationInfo-r15	OPTIONAL, -- Cond NP
	...,
	[[
	equalIntegerAmbiguityLevel-r16			EqualIntegerAmbiguityLevel-r16		OPTIONAL -- Need ON
	]]
}

AntennaDescription-r15 ::= SEQUENCE {
	antennaDescriptor-r15					VisibleString (SIZE (1..256)),
	antennaSetUpID-r15						ENUMERATED { non-zero }				OPTIONAL, -- Need OP
	...
}

AntennaReferencePointUnc-r15 ::= SEQUENCE {
	uncertainty-X-r15						INTEGER (0..255),
	confidence-X-r15						INTEGER (0..100),
	uncertainty-Y-r15						INTEGER (0..255),
	confidence-Y-r15						INTEGER (0..100),
	uncertainty-Z-r15						INTEGER (0..255),
	confidence-Z-r15						INTEGER (0..100),
	...
}

PhysicalReferenceStationInfo-r15 ::= SEQUENCE {
	physicalReferenceStationID-r15			GNSS-ReferenceStationID-r15,
	physical-ARP-ECEF-X-r15					INTEGER (-137438953472..137438953471),
	physical-ARP-ECEF-Y-r15					INTEGER (-137438953472..137438953471),
	physical-ARP-ECEF-Z-r15					INTEGER (-137438953472..137438953471),
	physical-ARP-unc-r15					AntennaReferencePointUnc-r15		OPTIONAL, -- Need ON
	...
}

EqualIntegerAmbiguityLevel-r16 ::= CHOICE {
	allReferenceStations-r16				NULL,
	referenceStationList-r16				ReferenceStationList-r16
}

ReferenceStationList-r16 ::= SEQUENCE (SIZE(1..16)) OF GNSS-ReferenceStationID-r15

-- ASN1STOP
-- ASN1START

GNSS-RTK-CommonObservationInfo-r15 ::= SEQUENCE {
	referenceStationID-r15				GNSS-ReferenceStationID-r15,
	clockSteeringIndicator-r15			INTEGER (0..3),
	externalClockIndicator-r15			INTEGER (0..3),
	smoothingIndicator-r15				BIT STRING (SIZE(1)),
	smoothingInterval-r15				BIT STRING (SIZE(3)),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-AuxiliaryStationData-r15 ::= SEQUENCE {
	networkID-r15					GNSS-NetworkID-r15,
	subNetworkID-r15				GNSS-SubNetworkID-r15					OPTIONAL,	-- Need ON
	master-referenceStationID-r15	GNSS-ReferenceStationID-r15,
	auxiliaryStationList-r15		AuxiliaryStationList-r15,
	...
}

AuxiliaryStationList-r15 ::= SEQUENCE (SIZE (1..32)) OF AuxiliaryStationElement-r15

AuxiliaryStationElement-r15 ::= SEQUENCE {
	aux-referenceStationID-r15				GNSS-ReferenceStationID-r15,
	aux-master-delta-latitude-r15			INTEGER (-524288..524287),
	aux-master-delta-longitude-r15			INTEGER (-1048576..1048575),
	aux-master-delta-height-r15				INTEGER (-4194304..4194303),
	aux-ARP-unc-r15							Aux-ARP-Unc-r15					OPTIONAL,	-- Need ON
	...
}

Aux-ARP-Unc-r15 ::= SEQUENCE {
	horizontalUncertainty-r15				INTEGER (0..255),
	horizontalConfidence-r15				INTEGER (0..100),
	verticalUncertainty-r15					INTEGER (0..255)				OPTIONAL,	-- Need ON
	verticalConfidence-r15					INTEGER (0..100)				OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-CorrectionPoints-r16 ::= SEQUENCE {
	correctionPointSetID-r16			INTEGER (0..16383),
	correctionPoints-r16				CHOICE {
		listOfCorrectionPoints-r16			GNSS-SSR-ListOfCorrectionPoints-r16,
		arrayOfCorrectionPoints-r16			GNSS-SSR-ArrayOfCorrectionPoints-r16
	},
	...
}

GNSS-SSR-ListOfCorrectionPoints-r16 ::= SEQUENCE {
	referencePointLatitude-r16		INTEGER (-16384..16383),
	referencePointLongitude-r16		INTEGER (-32768..32767),
	relativeLocationsList-r16		SEQUENCE (SIZE (0..63)) OF RelativeLocationElement-r16,
	...
}

RelativeLocationElement-r16 ::= SEQUENCE {
	deltaLatitude-r16				INTEGER (-512..511),
	deltaLongitude-r16				INTEGER (-1024..1023),
	...
}

GNSS-SSR-ArrayOfCorrectionPoints-r16 ::=SEQUENCE {
	referencePointLatitude-r16			INTEGER (-16384..16383),
	referencePointLongitude-r16			INTEGER (-32768..32767),
	numberOfStepsLatitude-r16			INTEGER (0..63),
	numberOfStepsLongitude-r16			INTEGER (0..63),
	stepOfLatitude-r16					INTEGER (1..511),
	stepOfLongitude-r16					INTEGER (1..1023),
	bitmaskOfGrids-r16					BIT STRING (SIZE(64))				OPTIONAL,	-- Need OP
	...
}

-- ASN1STOP
-- ASN1START

GNSS-TimeModelList ::= SEQUENCE (SIZE (1..15)) OF GNSS-TimeModelElement

GNSS-TimeModelElement ::= SEQUENCE {
	gnss-TimeModelRefTime		INTEGER (0..65535),
	tA0							INTEGER (-67108864..67108863),
	tA1							INTEGER (-4096..4095)					OPTIONAL,	-- Need ON
	tA2							INTEGER (-64..63)						OPTIONAL,	-- Need ON
	gnss-TO-ID					INTEGER (1..15),
	weekNumber					INTEGER (0..8191)						OPTIONAL,	-- Need ON
	deltaT						INTEGER (-128..127)						OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

GNSS-DifferentialCorrections ::= SEQUENCE {
	dgnss-RefTime		INTEGER (0..3599),
	dgnss-SgnTypeList	DGNSS-SgnTypeList,
	...
}

DGNSS-SgnTypeList ::= SEQUENCE (SIZE (1..3)) OF DGNSS-SgnTypeElement

DGNSS-SgnTypeElement ::= SEQUENCE {
	gnss-SignalID		GNSS-SignalID,
	gnss-StatusHealth	INTEGER (0..7),
	dgnss-SatList		DGNSS-SatList,
	...
}

DGNSS-SatList ::= SEQUENCE (SIZE (1..64)) OF DGNSS-CorrectionsElement

DGNSS-CorrectionsElement ::= SEQUENCE {
	svID				SV-ID,
	iod				BIT STRING (SIZE(11)),
	udre				INTEGER (0..3),		
	pseudoRangeCor		INTEGER (-2047..2047),
	rangeRateCor		INTEGER (-127..127),
	udreGrowthRate		INTEGER (0..7)			OPTIONAL,	-- Need ON
	udreValidityTime	INTEGER (0..7)			OPTIONAL,	-- Need ON	
	...
}

-- ASN1STOP
-- ASN1START

GNSS-NavigationModel ::= SEQUENCE {
	nonBroadcastIndFlag		INTEGER (0..1),
	gnss-SatelliteList		GNSS-NavModelSatelliteList,
	...
}

GNSS-NavModelSatelliteList ::= SEQUENCE (SIZE(1..64)) OF GNSS-NavModelSatelliteElement

GNSS-NavModelSatelliteElement ::= SEQUENCE {
	svID				SV-ID,
	svHealth			BIT STRING (SIZE(8)),	
	iod					BIT STRING (SIZE(11)),	
	gnss-ClockModel		GNSS-ClockModel,
	gnss-OrbitModel		GNSS-OrbitModel,
	...,
	[[	svHealthExt-v1240 BIT STRING (SIZE(4))			OPTIONAL		-- Need ON
	]]
}

GNSS-ClockModel ::= CHOICE {
	standardClockModelList	StandardClockModelList,			-- Model-1
	nav-ClockModel			NAV-ClockModel,					-- Model-2
	cnav-ClockModel			CNAV-ClockModel,				-- Model-3
	glonass-ClockModel		GLONASS-ClockModel,				-- Model-4
	sbas-ClockModel			SBAS-ClockModel,				-- Model-5
	...,
	bds-ClockModel-r12		BDS-ClockModel-r12,				-- Model-6
	bds-ClockModel2-r16		BDS-ClockModel2-r16,			-- Model-7
	navic-ClockModel-r16	NavIC-ClockModel-r16			-- Model-8
}

GNSS-OrbitModel ::= CHOICE {
	keplerianSet			NavModelKeplerianSet,			-- Model-1
	nav-KeplerianSet		NavModelNAV-KeplerianSet,		-- Model-2
	cnav-KeplerianSet		NavModelCNAV-KeplerianSet,		-- Model-3
	glonass-ECEF			NavModel-GLONASS-ECEF,			-- Model-4
	sbas-ECEF				NavModel-SBAS-ECEF,				-- Model-5
	...,
	bds-KeplerianSet-r12	NavModel-BDS-KeplerianSet-r12,	-- Model-6
	bds-KeplerianSet2-r16	NavModel-BDS-KeplerianSet2-r16,	-- Model-7
	navic-KeplerianSet-r16	NavModel-NavIC-KeplerianSet-r16	-- Model-8
}

-- ASN1STOP
-- ASN1START

StandardClockModelList ::= SEQUENCE (SIZE(1..2)) OF StandardClockModelElement

StandardClockModelElement ::= SEQUENCE {
	stanClockToc			INTEGER (0..16383),
	stanClockAF2			INTEGER (-32..31),
	stanClockAF1			INTEGER (-1048576..1048575),
	stanClockAF0			INTEGER (-1073741824..1073741823),
	stanClockTgd			INTEGER (-512..511)				OPTIONAL,	-- Need ON
	sisa					INTEGER (0..255),
	stanModelID				INTEGER (0..1)					OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

NAV-ClockModel ::= SEQUENCE {
	navToc			INTEGER (0..37799),
	navaf2			INTEGER (-128..127),
	navaf1			INTEGER (-32768..32767),
	navaf0			INTEGER (-2097152..2097151),
	navTgd			INTEGER (-128..127),
	...
}

-- ASN1STOP
-- ASN1START

CNAV-ClockModel ::= SEQUENCE {
	cnavToc			INTEGER (0..2015),
	cnavTop			INTEGER (0..2015),
	cnavURA0		INTEGER (-16..15),
	cnavURA1		INTEGER (0..7),
	cnavURA2		INTEGER (0..7),
	cnavAf2			INTEGER (-512..511),
	cnavAf1			INTEGER (-524288..524287),
	cnavAf0			INTEGER (-33554432..33554431),
	cnavTgd			INTEGER (-4096..4095),
	cnavISCl1cp		INTEGER (-4096..4095)			OPTIONAL,	-- Need ON
	cnavISCl1cd		INTEGER (-4096..4095)			OPTIONAL,	-- Need ON
	cnavISCl1ca		INTEGER (-4096..4095)			OPTIONAL,	-- Need ON
	cnavISCl2c		INTEGER (-4096..4095)			OPTIONAL,	-- Need ON
	cnavISCl5i5		INTEGER (-4096..4095)			OPTIONAL,	-- Need ON
	cnavISCl5q5		INTEGER (-4096..4095)			OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

GLONASS-ClockModel ::= SEQUENCE {
	gloTau			INTEGER (-2097152..2097151),
	gloGamma		INTEGER (-1024..1023),
	gloDeltaTau		INTEGER (-16..15)				OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

SBAS-ClockModel ::= SEQUENCE {
	sbasTo			INTEGER (0..5399),
	sbasAgfo		INTEGER (-2048..2047),
	sbasAgf1		INTEGER (-128..127),
	...
}

-- ASN1STOP
-- ASN1START

BDS-ClockModel-r12 ::= SEQUENCE {
	bdsAODC-r12			INTEGER (0..31),
	bdsToc-r12			INTEGER (0..131071),
	bdsA0-r12			INTEGER (-8388608..8388607),
	bdsA1-r12			INTEGER (-2097152..2097151),
	bdsA2-r12			INTEGER (-1024..1023),
	bdsTgd1-r12			INTEGER (-512..511),
	...
}

-- ASN1STOP
-- ASN1START
BDS-ClockModel2-r16 ::= SEQUENCE {
	bdsToc-r16		INTEGER (0..2047),
	bdsA0-r16		INTEGER (-16777216..16777215),
	bdsA1-r16		INTEGER (-2097152..2097151),
	bdsA2-r16		INTEGER (-1024..1023),
	bdsTgdB1Cp-r16	INTEGER (-2048..2047),
	bdsIscB1Cd-r16	INTEGER (-2048..2047),
	...
}

-- ASN1STOP
-- ASN1START

NavIC-ClockModel-r16 ::= SEQUENCE {
	navic-Toc-r16			INTEGER (0..65535),
	navic-af2-r16			INTEGER (-128..127),
	navic-af1-r16			INTEGER (-32768..32767),
	navic-af0-r16			INTEGER (-2097152..2097151),
	navic-Tgd-r16			INTEGER (-128..127),
	...
}

-- ASN1STOP
-- ASN1START

NavModelKeplerianSet ::= SEQUENCE {
	keplerToe		INTEGER (0 .. 16383),
	keplerW			INTEGER (-2147483648..2147483647),
	keplerDeltaN	INTEGER (-32768..32767),
	keplerM0		INTEGER (-2147483648..2147483647),
	keplerOmegaDot	INTEGER (-8388608.. 8388607),
	keplerE		INTEGER (0..4294967295),
	keplerIDot		INTEGER (-8192..8191),
	keplerAPowerHalf INTEGER (0.. 4294967295),
	keplerI0		INTEGER (-2147483648..2147483647),
	keplerOmega0	INTEGER (-2147483648..2147483647),
	keplerCrs		INTEGER (-32768..32767),
	keplerCis		INTEGER (-32768..32767),
	keplerCus		INTEGER (-32768..32767),
	keplerCrc		INTEGER (-32768..32767),
	keplerCic		INTEGER (-32768..32767),
	keplerCuc		INTEGER (-32768..32767),
	...
}

-- ASN1STOP
-- ASN1START

NavModelNAV-KeplerianSet ::= SEQUENCE {
	navURA			INTEGER (0..15),
	navFitFlag		INTEGER (0..1),
	navToe			INTEGER (0..37799),
	navOmega		INTEGER (-2147483648..2147483647),
	navDeltaN		INTEGER (-32768..32767),
	navM0			INTEGER (-2147483648..2147483647),
	navOmegaADot	INTEGER (-8388608..8388607),
	navE			INTEGER (0..4294967295),
	navIDot			INTEGER (-8192..8191),
	navAPowerHalf	INTEGER (0..4294967295),
	navI0			INTEGER (-2147483648..2147483647),
	navOmegaA0		INTEGER (-2147483648..2147483647),
	navCrs			INTEGER (-32768..32767),
	navCis			INTEGER (-32768..32767),
	navCus			INTEGER (-32768..32767),
	navCrc			INTEGER (-32768..32767),
	navCic			INTEGER (-32768..32767),
	navCuc			INTEGER (-32768..32767),
	addNAVparam		SEQUENCE {
		ephemCodeOnL2	INTEGER (0..3),
		ephemL2Pflag	INTEGER (0..1),
		ephemSF1Rsvd	SEQUENCE {
			reserved1		INTEGER (0..8388607),	-- 23-bit field
			reserved2		INTEGER (0..16777215),	-- 24-bit field
			reserved3		INTEGER (0..16777215),	-- 24-bit field
			reserved4		INTEGER (0..65535)		-- 16-bit field
		},
		ephemAODA		INTEGER (0..31)
	}	OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

NavModelCNAV-KeplerianSet ::= SEQUENCE {
	cnavTop				INTEGER (0..2015),
	cnavURAindex		INTEGER (-16..15),
	cnavDeltaA			INTEGER (-33554432..33554431),
	cnavAdot			INTEGER (-16777216..16777215),
	cnavDeltaNo			INTEGER (-65536..65535),
	cnavDeltaNoDot		INTEGER (-4194304..4194303),
	cnavMo				INTEGER (-4294967296..4294967295),
	cnavE				INTEGER (0..8589934591),
	cnavOmega			INTEGER (-4294967296..4294967295),
	cnavOMEGA0			INTEGER (-4294967296..4294967295),
	cnavDeltaOmegaDot	INTEGER (-65536..65535),
	cnavIo				INTEGER (-4294967296..4294967295),
	cnavIoDot			INTEGER (-16384..16383),
	cnavCis				INTEGER (-32768..32767),
	cnavCic				INTEGER (-32768..32767),
	cnavCrs				INTEGER (-8388608..8388607),
	cnavCrc				INTEGER (-8388608..8388607),
	cnavCus				INTEGER (-1048576..1048575),
	cnavCuc				INTEGER (-1048576..1048575),
	...
}

-- ASN1STOP
-- ASN1START

NavModel-GLONASS-ECEF ::= SEQUENCE {
	gloEn				INTEGER (0..31),
	gloP1				BIT STRING (SIZE(2)),
	gloP2				BOOLEAN,
	gloM				INTEGER (0..3),
	gloX				INTEGER (-67108864..67108863),
	gloXdot				INTEGER (-8388608..8388607),
	gloXdotdot			INTEGER (-16..15),
	gloY				INTEGER (-67108864..67108863),
	gloYdot				INTEGER (-8388608..8388607),
	gloYdotdot			INTEGER (-16..15),
	gloZ				INTEGER (-67108864..67108863),
	gloZdot				INTEGER (-8388608..8388607),
	gloZdotdot			INTEGER (-16..15),
	...
}

-- ASN1STOP
-- ASN1START

NavModel-SBAS-ECEF ::= SEQUENCE {
	sbasTo				INTEGER (0..5399)					OPTIONAL,	-- Cond ClockModel
	sbasAccuracy		BIT STRING (SIZE(4)),
	sbasXg				INTEGER (-536870912..536870911),
	sbasYg				INTEGER (-536870912..536870911),
	sbasZg				INTEGER (-16777216..16777215),
	sbasXgDot			INTEGER (-65536..65535),
	sbasYgDot			INTEGER (-65536..65535),
	sbasZgDot			INTEGER (-131072..131071),
	sbasXgDotDot		INTEGER (-512..511),
	sbagYgDotDot		INTEGER (-512..511),
	sbasZgDotDot		INTEGER (-512..511),
	...
}

-- ASN1STOP
-- ASN1START

NavModel-BDS-KeplerianSet-r12 ::= SEQUENCE {
	bdsAODE-r12				INTEGER (0..31),
	bdsURAI-r12				INTEGER (0..15),
	bdsToe-r12				INTEGER (0..131071),
	bdsAPowerHalf-r12		INTEGER (0..4294967295),
	bdsE-r12				INTEGER (0..4294967295),
	bdsW-r12				INTEGER (-2147483648..2147483647),
	bdsDeltaN-r12			INTEGER (-32768..32767),
	bdsM0-r12				INTEGER (-2147483648..2147483647),
	bdsOmega0-r12			INTEGER (-2147483648..2147483647),
	bdsOmegaDot-r12			INTEGER (-8388608..8388607),
	bdsI0-r12				INTEGER (-2147483648..2147483647),
	bdsIDot-r12				INTEGER (-8192..8191),
	bdsCuc-r12				INTEGER (-131072..131071),
	bdsCus-r12				INTEGER (-131072..131071),
	bdsCrc-r12				INTEGER (-131072..131071),
	bdsCrs-r12				INTEGER (-131072..131071),
	bdsCic-r12				INTEGER (-131072..131071),
	bdsCis-r12				INTEGER (-131072..131071),
	...
}

-- ASN1STOP
-- ASN1START

NavModel-BDS-KeplerianSet2-r16 ::= SEQUENCE {
	bdsIODE-r16			INTEGER (0..255),
	bdsToe-r16					INTEGER (0..2047),
	bdsDeltaA-r16			INTEGER (-33554432..33554431),
	bdsAdot-r16					INTEGER (-16777216..16777216),
	bdsDeltaN0-r16			INTEGER (-65536..65535),
	bdsDeltaN0dot-r16		INTEGER (-4194304..4194303),
	bdsM0-r16					INTEGER (-4294967296..4294967295),
	bdsE-r16					INTEGER (0..8589934591),
	bdsOmega-r16			INTEGER (-4294967296..4294967295),
	bdsOmega0-r16			INTEGER (-4294967296..4294967295),
	bdsI0-r16					INTEGER (-4294967296..4294967295),
	bdsOmegaDot-r16 		INTEGER (-262144..262143),
	bdsI0Dot-r16			INTEGER (-16384..16383),
	bdsCuc-r16				INTEGER (-1048576..1048575),
	bdsCus-r16				INTEGER (-1048576..1048575),
	bdsCrc-r16				INTEGER (-8388608..8388607),
	bdsCrs-r16				INTEGER (-8388608..8388607),
	bdsCic-r16				INTEGER (-32768..32767),
	bdsCis-r16				INTEGER (-32768..32767),
	...
}

-- ASN1STOP
-- ASN1START

NavModel-NavIC-KeplerianSet-r16	 ::= SEQUENCE {
	navic-Toe-r16			INTEGER (0..65536),
	navic-URAI-r16			INTEGER (0..15),
	navic-W-r16				INTEGER (-2147483648..2147483647),
	navic-DeltaN-r16		INTEGER (-2097152..2097151),
	navic-M0-r16			INTEGER (-2147483648..2147483647),
	navic-OmegaDot-r16		INTEGER (-2147483648..2147483647),
	navic-E-r16				INTEGER (0..4294967295),
	navic-IDot-r16			INTEGER (-8192..8191),
	navic-APowerHalf-r16 	INTEGER (0.. 4294967295),
	navic-I0-r16			INTEGER (-2147483648..2147483647),
	navic-Omega0-r16		INTEGER (-2147483648..2147483647),
	navic-Crs-r16			INTEGER (-32768..32767),
	navic-Cis-r16			INTEGER (-32768..32767),
	navic-Cus-r16			INTEGER (-32768..32767),
	navic-Crc-r16			INTEGER (-32768..32767),
	navic-Cic-r16			INTEGER (-32768..32767),
	navic-Cuc-r16			INTEGER (-32768..32767),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RealTimeIntegrity ::= SEQUENCE {
	gnss-BadSignalList	GNSS-BadSignalList,
	...
}

GNSS-BadSignalList ::= SEQUENCE (SIZE(1..64)) OF BadSignalElement

BadSignalElement ::= SEQUENCE {
	badSVID			SV-ID,						
	badSignalID		GNSS-SignalIDs	OPTIONAL,	-- Need OP
	...
}

-- ASN1STOP
-- ASN1START

GNSS-DataBitAssistance ::= SEQUENCE {
	gnss-TOD				INTEGER (0..3599),
	gnss-TODfrac			INTEGER (0..999)		OPTIONAL,	-- Need ON
	gnss-DataBitsSatList	GNSS-DataBitsSatList,
	...
}

GNSS-DataBitsSatList ::= SEQUENCE (SIZE(1..64))OF GNSS-DataBitsSatElement

GNSS-DataBitsSatElement ::= SEQUENCE {
	svID					SV-ID,
	gnss-DataBitsSgnList	GNSS-DataBitsSgnList,
	...
}

GNSS-DataBitsSgnList ::= SEQUENCE (SIZE(1..8)) OF GNSS-DataBitsSgnElement

GNSS-DataBitsSgnElement ::= SEQUENCE {
	gnss-SignalType			GNSS-SignalID,
	gnss-DataBits			BIT STRING (SIZE (1..1024)),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-AcquisitionAssistance ::= SEQUENCE {
	gnss-SignalID				GNSS-SignalID,
	gnss-AcquisitionAssistList	GNSS-AcquisitionAssistList,
	...,
	confidence-r10				INTEGER (0..100)	OPTIONAL	-- Need ON
}

GNSS-AcquisitionAssistList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AcquisitionAssistElement

GNSS-AcquisitionAssistElement ::= SEQUENCE {
	svID						SV-ID,
	doppler0					INTEGER (-2048..2047),
	doppler1					INTEGER (0..63),
	dopplerUncertainty			INTEGER (0..4),
	codePhase					INTEGER (0..1022),
	intCodePhase				INTEGER (0..127),
	codePhaseSearchWindow		INTEGER (0..31),
	azimuth						INTEGER (0..511),
	elevation					INTEGER (0..127),		
	...,
	codePhase1023				BOOLEAN				OPTIONAL,	-- Need OP
	dopplerUncertaintyExt-r10	ENUMERATED {	d60,
												d80,
												d100,
												d120,
												noInformation, ... }	OPTIONAL	-- Need ON
}

-- ASN1STOP
-- ASN1START

GNSS-Almanac ::= SEQUENCE {
	weekNumber					INTEGER (0..255)	OPTIONAL,	-- Need ON
	toa							INTEGER (0..255)	OPTIONAL,	-- Need ON
	ioda						INTEGER (0..3)		OPTIONAL,	-- Need ON
	completeAlmanacProvided		BOOLEAN,
	gnss-AlmanacList			GNSS-AlmanacList,
	...,
	[[	toa-ext-v1240			INTEGER (256..1023)	OPTIONAL,	-- Need ON
		ioda-ext-v1240			INTEGER (4..15)		OPTIONAL	-- Need ON
	]],
	[[
		weekNumber-ext-r16		INTEGER (256..8191)			OPTIONAL,	-- Need ON
		toa-ext2-r16			INTEGER (256..65535)		OPTIONAL	-- Need ON
	]]
}

GNSS-AlmanacList ::= SEQUENCE (SIZE(1..64)) OF GNSS-AlmanacElement

GNSS-AlmanacElement ::= CHOICE {
	keplerianAlmanacSet				AlmanacKeplerianSet,		-- Model-1
	keplerianNAV-Almanac			AlmanacNAV-KeplerianSet,	-- Model-2
	keplerianReducedAlmanac			AlmanacReducedKeplerianSet,	-- Model-3
	keplerianMidiAlmanac			AlmanacMidiAlmanacSet,		-- Model-4
	keplerianGLONASS				AlmanacGLONASS-AlmanacSet,	-- Model-5
	ecef-SBAS-Almanac				AlmanacECEF-SBAS-AlmanacSet,-- Model-6
	...,
	keplerianBDS-Almanac-r12		AlmanacBDS-AlmanacSet-r12,	-- Model-7
	keplerianNavIC-Almanac-r16		AlmanacNavIC-AlmanacSet-r16	-- Model-8
}

-- ASN1STOP
-- ASN1START

AlmanacKeplerianSet ::= SEQUENCE {
	svID					SV-ID,
	kepAlmanacE				INTEGER (0..2047),
	kepAlmanacDeltaI		INTEGER (-1024..1023),
	kepAlmanacOmegaDot		INTEGER (-1024..1023),
	kepSV-StatusINAV		BIT STRING (SIZE (4)),
	kepSV-StatusFNAV		BIT STRING (SIZE (2))			OPTIONAL,	-- Need ON
	kepAlmanacAPowerHalf	INTEGER (-4096..4095),
	kepAlmanacOmega0		INTEGER (-32768..32767),
	kepAlmanacW				INTEGER (-32768..32767),
	kepAlmanacM0			INTEGER (-32768..32767),
	kepAlmanacAF0			INTEGER (-32768..32767),
	kepAlmanacAF1			INTEGER (-4096..4095),
	...
}

-- ASN1STOP
-- ASN1START

AlmanacNAV-KeplerianSet ::= SEQUENCE {
	svID					SV-ID,
	navAlmE					INTEGER (0..65535),
	navAlmDeltaI			INTEGER (-32768..32767),
	navAlmOMEGADOT			INTEGER (-32768..32767),
	navAlmSVHealth			INTEGER (0..255),
	navAlmSqrtA				INTEGER (0..16777215),
	navAlmOMEGAo			INTEGER (-8388608..8388607),
	navAlmOmega				INTEGER (-8388608..8388607),
	navAlmMo				INTEGER (-8388608..8388607),
	navAlmaf0				INTEGER (-1024..1023),
	navAlmaf1				INTEGER (-1024..1023),
	...
}

-- ASN1STOP
-- ASN1START

AlmanacReducedKeplerianSet ::= SEQUENCE {
	svID					SV-ID,
	redAlmDeltaA			INTEGER (-128..127),
	redAlmOmega0			INTEGER (-64..63),
	redAlmPhi0				INTEGER (-64..63),
	redAlmL1Health			BOOLEAN,
	redAlmL2Health			BOOLEAN,
	redAlmL5Health			BOOLEAN,
	...
}

-- ASN1STOP
-- ASN1START

AlmanacMidiAlmanacSet ::= SEQUENCE {
	svID					SV-ID,
	midiAlmE				INTEGER (0..2047),
	midiAlmDeltaI			INTEGER (-1024..1023),
	midiAlmOmegaDot			INTEGER (-1024..1023),
	midiAlmSqrtA			INTEGER (0..131071),
	midiAlmOmega0			INTEGER (-32768..32767),
	midiAlmOmega			INTEGER (-32768..32767),
	midiAlmMo				INTEGER (-32768..32767),
	midiAlmaf0				INTEGER (-1024..1023),
	midiAlmaf1				INTEGER (-512..511),
	midiAlmL1Health			BOOLEAN,
	midiAlmL2Health			BOOLEAN,
	midiAlmL5Health			BOOLEAN,
	...
}

-- ASN1STOP
-- ASN1START

AlmanacGLONASS-AlmanacSet ::= SEQUENCE {
	gloAlm-NA				INTEGER (1..1461),
	gloAlmnA				INTEGER (1..24),
	gloAlmHA				INTEGER (0..31),
	gloAlmLambdaA			INTEGER (-1048576..1048575),
	gloAlmtlambdaA			INTEGER (0..2097151),
	gloAlmDeltaIa			INTEGER (-131072..131071),
	gloAlmDeltaTA			INTEGER (-2097152..2097151),
	gloAlmDeltaTdotA		INTEGER (-64..63),
	gloAlmEpsilonA			INTEGER (0..32767),
	gloAlmOmegaA			INTEGER (-32768..32767),
	gloAlmTauA				INTEGER (-512..511),
	gloAlmCA				INTEGER (0..1),
	gloAlmMA				BIT STRING (SIZE(2))			OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

AlmanacECEF-SBAS-AlmanacSet ::= SEQUENCE {
	sbasAlmDataID			INTEGER (0..3),
	svID					SV-ID,
	sbasAlmHealth			BIT STRING (SIZE(8)),
	sbasAlmXg				INTEGER (-16384..16383),
	sbasAlmYg				INTEGER (-16384..16383),
	sbasAlmZg				INTEGER (-256..255),
	sbasAlmXgdot			INTEGER (-4..3),
	sbasAlmYgDot			INTEGER (-4..3),
	sbasAlmZgDot			INTEGER (-8..7),
	sbasAlmTo				INTEGER (0..2047),
	...
}

-- ASN1STOP
-- ASN1START

AlmanacBDS-AlmanacSet-r12 ::= SEQUENCE {
	svID					SV-ID,
	bdsAlmToa-r12			INTEGER (0..255)					OPTIONAL,	-- Cond NotSameForAllSV
	bdsAlmSqrtA-r12			INTEGER (0..16777215),
	bdsAlmE-r12				INTEGER (0..131071),
	bdsAlmW-r12				INTEGER (-8388608..8388607),
	bdsAlmM0-r12			INTEGER (-8388608..8388607),
	bdsAlmOmega0-r12		INTEGER (-8388608..8388607),
	bdsAlmOmegaDot-r12		INTEGER (-65536..65535),
	bdsAlmDeltaI-r12		INTEGER (-32768..32767),
	bdsAlmA0-r12			INTEGER (-1024..1023),
	bdsAlmA1-r12			INTEGER (-1024..1023),
	bdsSvHealth-r12			BIT STRING (SIZE(9))				OPTIONAL,	-- Cond SV-ID
	...
}

-- ASN1STOP
-- ASN1START

AlmanacNavIC-AlmanacSet-r16	 ::= SEQUENCE {
	svID-r16					SV-ID,
	navic-AlmToa-r16			INTEGER (0..65535)			OPTIONAL,	-- Cond NotSameForAllSV		
	navic-AlmE-r16				INTEGER (0..65535),
	navic-AlmOMEGADOT-r16		INTEGER (-32768..32767),
	navic-AlmSqrtA-r16			INTEGER (0..16777215),
	navic-AlmOMEGAo-r16			INTEGER (-8388608..8388607),
	navic-AlmOmega-r16			INTEGER (-8388608..8388607),
	navic-AlmMo-r16				INTEGER (-8388608..8388607),
	navic-Almaf0-r16			INTEGER (-1024..1023),
	navic-Almaf1-r16			INTEGER (-1024..1023),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-UTC-Model ::= CHOICE {
	utcModel1			UTC-ModelSet1,			-- Model-1
	utcModel2			UTC-ModelSet2,			-- Model-2
	utcModel3			UTC-ModelSet3,			-- Model-3
	utcModel4			UTC-ModelSet4,			-- Model-4
	...,
	utcModel5-r12		UTC-ModelSet5-r12		-- Model-5
}

-- ASN1STOP
-- ASN1START

UTC-ModelSet1 ::= SEQUENCE {
	gnss-Utc-A1			INTEGER (-8388608..8388607),
	gnss-Utc-A0			INTEGER (-2147483648..2147483647),
	gnss-Utc-Tot		INTEGER (0..255),
	gnss-Utc-WNt		INTEGER (0..255),
	gnss-Utc-DeltaTls	INTEGER (-128..127),
	gnss-Utc-WNlsf		INTEGER (0..255),
	gnss-Utc-DN			INTEGER (-128..127),
	gnss-Utc-DeltaTlsf	INTEGER (-128..127),
	...
}

-- ASN1STOP
-- ASN1START

UTC-ModelSet2 ::= SEQUENCE {
	utcA0				INTEGER (-32768..32767),
	utcA1				INTEGER (-4096..4095),
	utcA2				INTEGER (-64..63),
	utcDeltaTls			INTEGER (-128..127),
	utcTot				INTEGER (0..65535),
	utcWNot				INTEGER (0..8191),
	utcWNlsf			INTEGER (0..255),
	utcDN				BIT STRING (SIZE(4)),
	utcDeltaTlsf		INTEGER (-128..127),
	...,
	[[
		utcWNlsf-ext-r16	INTEGER (256..8191)	OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

UTC-ModelSet3 ::= SEQUENCE {
	nA					INTEGER (1..1461),
	tauC				INTEGER (-2147483648..2147483647),
	b1					INTEGER (-1024..1023)					OPTIONAL,	-- Cond GLONASS-M
	b2					INTEGER (-512..511)						OPTIONAL,	-- Cond GLONASS-M
	kp					BIT STRING (SIZE(2))					OPTIONAL,	-- Cond GLONASS-M
	...
}

-- ASN1STOP
-- ASN1START

UTC-ModelSet4 ::= SEQUENCE {
	utcA1wnt			INTEGER (-8388608..8388607),
	utcA0wnt			INTEGER (-2147483648..2147483647),
	utcTot				INTEGER (0..255),
	utcWNt				INTEGER (0..255),
	utcDeltaTls			INTEGER (-128..127),
	utcWNlsf			INTEGER (0..255),
	utcDN				INTEGER (-128..127),
	utcDeltaTlsf		INTEGER (-128..127),
	utcStandardID		INTEGER (0..7),
	...
}

-- ASN1STOP
-- ASN1START

UTC-ModelSet5-r12 ::= SEQUENCE {
	utcA0-r12			INTEGER (-2147483648..2147483647),
	utcA1-r12			INTEGER (-8388608..8388607),
	utcDeltaTls-r12		INTEGER (-128..127),
	utcWNlsf-r12		INTEGER (0..255),
	utcDN-r12			INTEGER (0..255),
	utcDeltaTlsf-r12	INTEGER (-128..127),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-AuxiliaryInformation ::= CHOICE {
	gnss-ID-GPS		GNSS-ID-GPS,
	gnss-ID-GLONASS	GNSS-ID-GLONASS,
	...,
	[[	gnss-ID-BDS-r16		GNSS-ID-BDS-r16
	]]
}

GNSS-ID-GPS ::= SEQUENCE	(SIZE(1..64)) OF GNSS-ID-GPS-SatElement

GNSS-ID-GPS-SatElement ::= SEQUENCE {
	svID				SV-ID,
	signalsAvailable	GNSS-SignalIDs,
	...
}

GNSS-ID-GLONASS ::= SEQUENCE (SIZE(1..64)) OF GNSS-ID-GLONASS-SatElement

GNSS-ID-GLONASS-SatElement ::= SEQUENCE {
	svID				SV-ID,
	signalsAvailable	GNSS-SignalIDs,
	channelNumber		INTEGER (-7..13)		OPTIONAL,		-- Cond FDMA
	...
}	

GNSS-ID-BDS-r16 ::= SEQUENCE	(SIZE(1..64)) OF GNSS-ID-BDS-SatElement-r16

GNSS-ID-BDS-SatElement-r16 ::= SEQUENCE {
	svID-r16			SV-ID,
	satType-r16				INTEGER (0..3),
	...
}

-- ASN1STOP
-- ASN1START

BDS-DifferentialCorrections-r12 ::= SEQUENCE {
	dbds-RefTime-r12			INTEGER (0..3599),
	bds-SgnTypeList-r12			BDS-SgnTypeList-r12,
	...
}

BDS-SgnTypeList-r12 ::= SEQUENCE (SIZE (1..3)) OF BDS-SgnTypeElement-r12

BDS-SgnTypeElement-r12 ::= SEQUENCE {
	gnss-SignalID				GNSS-SignalID				OPTIONAL,	-- Need ON
	dbds-CorrectionList-r12		DBDS-CorrectionList-r12,
	...
}

DBDS-CorrectionList-r12 ::= SEQUENCE (SIZE (1..64)) OF DBDS-CorrectionElement-r12

DBDS-CorrectionElement-r12 ::= SEQUENCE {
	svID						SV-ID,
	bds-UDREI-r12				INTEGER (0..15),
	bds-RURAI-r12				INTEGER (0..15),
	bds-ECC-DeltaT-r12			INTEGER (-4096..4095),
	...
}

-- ASN1STOP
-- ASN1START

BDS-GridModelParameter-r12 ::= SEQUENCE {
	bds-RefTime-r12			INTEGER (0..3599),
	gridIonList-r12			GridIonList-r12,
	...
}

GridIonList-r12 ::= SEQUENCE (SIZE (1..320)) OF GridIonElement-r12

GridIonElement-r12 ::= SEQUENCE {
	igp-ID-r12				INTEGER (1..320),
	dt-r12					INTEGER (0..511),
	givei-r12				INTEGER (0..15) ,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-Observations-r15 ::= SEQUENCE {
	epochTime-r15							GNSS-SystemTime,
	gnss-ObservationList-r15				GNSS-ObservationList-r15,
	...
}

GNSS-ObservationList-r15 ::= SEQUENCE (SIZE(1..64)) OF GNSS-RTK-SatelliteDataElement-r15

GNSS-RTK-SatelliteDataElement-r15 ::= SEQUENCE{
	svID-r15								SV-ID,
	integer-ms-r15							INTEGER (0..254)				OPTIONAL,	-- Need ON
	rough-range-r15							INTEGER (0..1023),
	rough-phase-range-rate-r15				INTEGER (-8192..8191)			OPTIONAL,	-- Need ON
	gnss-rtk-SatelliteSignalDataList-r15	GNSS-RTK-SatelliteSignalDataList-r15,
	...
}

GNSS-RTK-SatelliteSignalDataList-r15 ::= SEQUENCE (SIZE(1..24)) OF
														GNSS-RTK-SatelliteSignalDataElement-r15


GNSS-RTK-SatelliteSignalDataElement-r15 ::= SEQUENCE {
	gnss-SignalID-r15					GNSS-SignalID,
	fine-PseudoRange-r15				INTEGER (-524288..524287),
	fine-PhaseRange-r15					INTEGER (-8388608..8388607),
	lockTimeIndicator-r15				INTEGER (0..1023),
	halfCycleAmbiguityIndicator-r15		BIT STRING (SIZE (1)),
	carrier-to-noise-ratio-r15			INTEGER (0..1023)					OPTIONAL,	-- Need ON
	fine-PhaseRangeRate-r15				INTEGER (-16384..16383)				OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

GLO-RTK-BiasInformation-r15 ::= SEQUENCE{
	referenceStationID-r15		GNSS-ReferenceStationID-r15,
	cpbIndicator-r15			BIT STRING (SIZE(1)),
	l1-ca-cpBias-r15			INTEGER (-32768..32767)			OPTIONAL,		-- Need ON
	l1-p-cpBias-r15				INTEGER (-32768..32767)			OPTIONAL, 		-- Need ON
	l2-ca-cpBias-r15			INTEGER (-32768..32767)			OPTIONAL, 		-- Need ON
	l2-p-cpBias-r15				INTEGER (-32768..32767)			OPTIONAL, 		-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-MAC-CorrectionDifferences-r15 ::= SEQUENCE {
	networkID-r15						GNSS-NetworkID-r15,
	subNetworkID-r15					GNSS-SubNetworkID-r15				OPTIONAL,	-- Need ON
	master-ReferenceStationID-r15		GNSS-ReferenceStationID-r15,
	l1-r15								GNSS-FrequencyID-r15				OPTIONAL,	-- Need OP
	l2-r15								GNSS-FrequencyID-r15				OPTIONAL,	-- Need OP
	rtkCorrectionDifferencesList-r15	RTK-CorrectionDifferencesList-r15,
	...
}

RTK-CorrectionDifferencesList-r15 ::= SEQUENCE (SIZE (1..32)) OF
											RTK-CorrectionDifferencesElement-r15

RTK-CorrectionDifferencesElement-r15 ::= SEQUENCE {
	epochTime-r15							GNSS-SystemTime,
	auxiliary-referenceStationID-r15		GNSS-ReferenceStationID-r15,
	geometric-ionospheric-corrections-differences-r15	
											Geometric-Ionospheric-Corrections-Differences-r15,
	...
}

Geometric-Ionospheric-Corrections-Differences-r15 ::= SEQUENCE (SIZE(1..64)) OF
									Geometric-Ionospheric-Corrections-Differences-Element-r15

Geometric-Ionospheric-Corrections-Differences-Element-r15 ::= SEQUENCE {
	svID-r15										SV-ID,
	ambiguityStatusFlag-r15							INTEGER (0..3),
	non-synch-count-r15								INTEGER (0..7),
	geometricCarrierPhaseCorrectionDifference-r15	INTEGER (-65536..65535),
	iod-r15											BIT STRING (SIZE(11)),
	ionosphericCarrierPhaseCorrectionDifference-r15	INTEGER (-65536..65535),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-Residuals-r15 ::= SEQUENCE {
	epochTime-r15						GNSS-SystemTime,
	referenceStationID-r15				GNSS-ReferenceStationID-r15,
	n-Refs-r15							INTEGER (0..127),
	l1-r15								GNSS-FrequencyID-r15				OPTIONAL,	-- Need OP
	l2-r15								GNSS-FrequencyID-r15				OPTIONAL,	-- Need OP
	rtk-residuals-list-r15				RTK-Residuals-List-r15,
	...
}

RTK-Residuals-List-r15 ::= SEQUENCE (SIZE(1..64)) OF RTK-Residuals-Element-r15

RTK-Residuals-Element-r15 ::= SEQUENCE {
	svID-r15			SV-ID,
	s-oc-r15			INTEGER (0..255),
	s-od-r15			INTEGER (0..511),
	s-oh-r15			INTEGER (0..63),
	s-lc-r15			INTEGER (0..1023),
	s-ld-r15			INTEGER (0..1023),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-FKP-Gradients-r15 ::= SEQUENCE {
	referenceStationID-r15				GNSS-ReferenceStationID-r15,
	epochTime-r15						GNSS-SystemTime,
	l1-r15								GNSS-FrequencyID-r15				OPTIONAL,	-- Need OP
	l2-r15								GNSS-FrequencyID-r15				OPTIONAL,	-- Need OP
	fkp-gradients-list-r15				FKP-Gradients-List-r15,
	...
}

FKP-Gradients-List-r15 ::= SEQUENCE (SIZE(1..64)) OF FKP-Gradients-Element-r15

FKP-Gradients-Element-r15 ::= SEQUENCE {
	svID-r15							SV-ID,
	iod-r15								BIT STRING (SIZE(11)),
	north-geometric-gradient-r15		INTEGER (-2048..2047),
	east-geometric-gradient-r15			INTEGER (-2048..2047),
	north-ionospheric-gradient-r15		INTEGER (-8192..8191),
	east-ionospheric-gradient-r15		INTEGER (-8192..8191),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-OrbitCorrections-r15 ::= SEQUENCE {
	epochTime-r15						GNSS-SystemTime,
	ssrUpdateInterval-r15				INTEGER (0..15),
	satelliteReferenceDatum-r15			ENUMERATED { itrf, regional, ... },
	iod-ssr-r15							INTEGER (0..15),
	ssr-OrbitCorrectionList-r15			SSR-OrbitCorrectionList-r15,
	...
}

SSR-OrbitCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-OrbitCorrectionSatelliteElement-r15

SSR-OrbitCorrectionSatelliteElement-r15 ::= SEQUENCE {
	svID-r15							SV-ID,
	iod-r15								BIT STRING (SIZE(11)),
	delta-radial-r15					INTEGER (-2097152..2097151),
	delta-AlongTrack-r15				INTEGER (-524288..524287),
	delta-CrossTrack-r15				INTEGER (-524288..524287),
	dot-delta-radial-r15				INTEGER (-1048576..1048575)		OPTIONAL, -- Need ON
	dot-delta-AlongTrack-r15			INTEGER (-262144..262143) 		OPTIONAL, -- Need ON
	dot-delta-CrossTrack-r15			INTEGER (-262144..262143) 		OPTIONAL, -- Need ON
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-ClockCorrections-r15 ::= SEQUENCE {
	epochTime-r15						GNSS-SystemTime,
	ssrUpdateInterval-r15				INTEGER (0..15),
	iod-ssr-r15							INTEGER (0..15),
	ssr-ClockCorrectionList-r15			SSR-ClockCorrectionList-r15,
	...
}

SSR-ClockCorrectionList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-ClockCorrectionSatelliteElement-r15

SSR-ClockCorrectionSatelliteElement-r15 ::= SEQUENCE {
	svID-r15							SV-ID,
	delta-Clock-C0-r15					INTEGER (-2097152..2097151),
	delta-Clock-C1-r15					INTEGER (-1048576..1048575)			OPTIONAL, -- Need ON
	delta-Clock-C2-r15					INTEGER (-67108864..67108863)		OPTIONAL, -- Need ON
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-CodeBias-r15 ::= SEQUENCE {
	epochTime-r15						GNSS-SystemTime,
	ssrUpdateInterval-r15				INTEGER (0..15),
	iod-ssr-r15							INTEGER (0..15),
	ssr-CodeBiasSatList-r15				SSR-CodeBiasSatList-r15,
	...
}

SSR-CodeBiasSatList-r15 ::= SEQUENCE (SIZE(1..64)) OF SSR-CodeBiasSatElement-r15

SSR-CodeBiasSatElement-r15 ::= SEQUENCE {
	svID-r15							SV-ID,
	ssr-CodeBiasSignalList-r15			SSR-CodeBiasSignalList-r15,
	...
}

SSR-CodeBiasSignalList-r15 ::= SEQUENCE (SIZE(1..16)) OF SSR-CodeBiasSignalElement-r15

SSR-CodeBiasSignalElement-r15 ::= SEQUENCE {
	signal-and-tracking-mode-ID-r15		GNSS-SignalID,
	codeBias-r15						INTEGER (-8192..8191),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-URA-r16 ::= SEQUENCE {
	epochTime-r16						GNSS-SystemTime,
	ssrUpdateInterval-r16				INTEGER (0..15),
	iod-ssr-r16							INTEGER (0..15),
	ssr-URA-SatList-r16					SSR-URA-SatList-r16,
	...
}

SSR-URA-SatList-r16 ::= SEQUENCE (SIZE(1..64)) OF SSR-URA-SatElement-r16

SSR-URA-SatElement-r16 ::= SEQUENCE {
	svID-r16							SV-ID,
	ssr-URA-r16							BIT STRING (SIZE (6)),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-PhaseBias-r16 ::= SEQUENCE {
	epochTime-r16						GNSS-SystemTime,
	ssrUpdateInterval-r16				INTEGER (0..15),
	iod-ssr-r16							INTEGER (0..15),
	ssr-PhaseBiasSatList-r16			SSR-PhaseBiasSatList-r16,
	...
}

SSR-PhaseBiasSatList-r16 ::= SEQUENCE (SIZE(1..64)) OF SSR-PhaseBiasSatElement-r16

SSR-PhaseBiasSatElement-r16 ::= SEQUENCE {
	svID-r16							SV-ID,
	ssr-PhaseBiasSignalList-r16			SSR-PhaseBiasSignalList-r16,
	...
}

SSR-PhaseBiasSignalList-r16 ::= SEQUENCE (SIZE(1..16)) OF SSR-PhaseBiasSignalElement-r16

SSR-PhaseBiasSignalElement-r16 ::= SEQUENCE {
	signal-and-tracking-mode-ID-r16		GNSS-SignalID,
	phaseBias-r16						INTEGER (-16384..16383),
	phaseDiscontinuityIndicator-r16		INTEGER (0..3),
	phaseBiasIntegerIndicator-r16		INTEGER (0..3)					OPTIONAL,	-- Need OP
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-STEC-Correction-r16 ::= SEQUENCE {
	epochTime-r16						GNSS-SystemTime,
	ssrUpdateInterval-r16				INTEGER (0..15),
	iod-ssr-r16							INTEGER (0..15),
	correctionPointSetID-r16			INTEGER (0..16383),
	stec-SatList-r16					STEC-SatList-r16,
	...
}

STEC-SatList-r16 ::= SEQUENCE (SIZE(1..64)) OF STEC-SatElement-r16

STEC-SatElement-r16 ::= SEQUENCE {
	svID-r16							SV-ID,
	stecQualityIndicator-r16			BIT STRING (SIZE(6)),
	stec-C00-r16						INTEGER (-8192..8191),
	stec-C01-r16						INTEGER (-2048..2047)				OPTIONAL, -- Need ON
	stec-C10-r16						INTEGER (-2048..2047)				OPTIONAL, -- Need ON
	stec-C11-r16						INTEGER (-512..511)					OPTIONAL, -- Need ON
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-GriddedCorrection-r16 ::= SEQUENCE {
	epochTime-r16								GNSS-SystemTime,
	ssrUpdateInterval-r16						INTEGER (0..15),
	iod-ssr-r16									INTEGER (0..15),
	troposphericDelayQualityIndicator-r16		BIT STRING (SIZE(6))		OPTIONAL, -- Cond Tropo
	correctionPointSetID-r16					INTEGER (0..16383),
	gridList-r16								GridList-r16,
	...
}

GridList-r16 ::= SEQUENCE (SIZE(1..64)) OF GridElement-r16

GridElement-r16 ::= SEQUENCE {
	tropospericDelayCorrection-r16	TropospericDelayCorrection-r16	OPTIONAL, -- Need ON
	stec-ResidualSatList-r16		STEC-ResidualSatList-r16		OPTIONAL, -- Need ON
	...
}

TropospericDelayCorrection-r16 ::= SEQUENCE {
	tropoHydroStaticVerticalDelay-r16		INTEGER (-256..255),
	tropoWetVerticalDelay-r16				INTEGER (-128..127),
	...
}

STEC-ResidualSatList-r16 ::= SEQUENCE (SIZE(1..64)) OF STEC-ResidualSatElement-r16

STEC-ResidualSatElement-r16 ::= SEQUENCE {
	svID-r16							SV-ID,
	stecResidualCorrection-r16			CHOICE {
					b7-r16					INTEGER (-64..63),
					b16-r16					INTEGER (-32768..32767)
	},
	...
}

-- ASN1STOP
-- ASN1START

NavIC-DifferentialCorrections-r16 ::= SEQUENCE {
	navic-RefTOWC-r16				INTEGER (0..50400),
	navic-CorrectionListAutoNav-r16	NavIC-CorrectionListAutoNav-r16,
	...
}

NavIC-CorrectionListAutoNav-r16 ::= SEQUENCE (SIZE (1..64)) OF NavIC-CorrectionElementAutoNav-r16

NavIC-CorrectionElementAutoNav-r16 ::= SEQUENCE {
	svID						SV-ID,
	navic-Tod-r16				INTEGER (0..65535),
	navic-iodec-r16				INTEGER (0..255),
	navic-UDRAI-r16				INTEGER (-16..15),
	navic-UDRArateI-r16			INTEGER (-16..15),
	navic-EDC-r16				NavIC-EDC-r16,
	navic-CDC-r16				NavIC-CDC-r16,
	...
}

NavIC-EDC-r16 ::= SEQUENCE {
	navic-AlphaEDC-r16				INTEGER (-8192..8191),
	navic-BetaEDC-r16				INTEGER (-8192..8191),
	navic-GammaEDC-r16				INTEGER (-16384..16383),
	navic-AoIcorrection-r16			INTEGER (-2048..2047),
	navic-AoRAcorrection-r16		INTEGER (-2048..2047),
	navic-SemiMajorcorrection-r16	INTEGER (-2048..2047),
	...
}

NavIC-CDC-r16 ::= SEQUENCE {
	navic-ClockBiasCorrection-r16	INTEGER (-4096..4095),
	navic-ClockDriftCorrection-r16	INTEGER (-128..127),
	...
}

-- ASN1STOP
-- ASN1START

NavIC-GridModelParameter-r16 ::= SEQUENCE {
	navic-RefTOWC-r16	INTEGER (0..50400),
	regionMasked-r16	INTEGER (0..1023),
	regionIgpList-r16	RegionIgpList-r16,
	...
}

RegionIgpList-r16 ::= SEQUENCE (SIZE (1..16)) OF RegionIgpElement-r16

RegionIgpElement-r16 ::= SEQUENCE {
	regionID-r16	INTEGER (0..15),
	givei1-r16		INTEGER (0..15),
	givd1-r16		INTEGER (0..511),
	givei2-r16		INTEGER (0..15),
	givd2-r16		INTEGER (0..511),
	givei3-r16		INTEGER (0..15),
	givd3-r16		INTEGER (0..511),
	givei4-r16		INTEGER (0..15),
	givd4-r16		INTEGER (0..511),
	givei5-r16		INTEGER (0..15),
	givd5-r16		INTEGER (0..511),
	givei6-r16		INTEGER (0..15),
	givd6-r16		INTEGER (0..511),
	givei7-r16		INTEGER (0..15),
	givd7-r16		INTEGER (0..511),
	givei8-r16		INTEGER (0..15),
	givd8-r16		INTEGER (0..511),
	givei9-r16		INTEGER (0..15),
	givd9-r16		INTEGER (0..511),
	givei10-r16		INTEGER (0..15),
	givd10-r16		INTEGER (0..511),
	givei11-r16		INTEGER (0..15),
	givd11-r16		INTEGER (0..511),
	givei12-r16		INTEGER (0..15),
	givd12-r16		INTEGER (0..511),
	givei13-r16		INTEGER (0..15),
	givd13-r16		INTEGER (0..511),
	givei14-r16		INTEGER (0..15),
	givd14-r16		INTEGER (0..511),
	givei15-r16		INTEGER (0..15),
	givd15-r16		INTEGER (0..511),
	...
}

-- ASN1STOP
-- ASN1START

A-GNSS-RequestAssistanceData ::= SEQUENCE {
	gnss-CommonAssistDataReq		GNSS-CommonAssistDataReq		OPTIONAL, -- Cond CommonADReq
	gnss-GenericAssistDataReq		GNSS-GenericAssistDataReq		OPTIONAL, -- Cond GenADReq
	...,
	[[
		gnss-PeriodicAssistDataReq-r15
									GNSS-PeriodicAssistDataReq-r15	OPTIONAL -- Cond PerADReq
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-CommonAssistDataReq ::= SEQUENCE {
	gnss-ReferenceTimeReq				GNSS-ReferenceTimeReq				
																OPTIONAL, -- Cond RefTimeReq
	gnss-ReferenceLocationReq			GNSS-ReferenceLocationReq			
																OPTIONAL, -- Cond RefLocReq
	gnss-IonosphericModelReq			GNSS-IonosphericModelReq				
																OPTIONAL, -- Cond IonoModReq
	gnss-EarthOrientationParametersReq	GNSS-EarthOrientationParametersReq	
																OPTIONAL, -- Cond EOPReq
	...,
	[[
		gnss-RTK-ReferenceStationInfoReq-r15	
										GNSS-RTK-ReferenceStationInfoReq-r15
																OPTIONAL, -- Cond ARPReq
		gnss-RTK-AuxiliaryStationDataReq-r15
										GNSS-RTK-AuxiliaryStationDataReq-r15
																OPTIONAL -- Cond AuxARPReq
	]],
	[[
		gnss-SSR-CorrectionPointsReq-r16
										GNSS-SSR-CorrectionPointsReq-r16
																OPTIONAL -- Cond PointsReq
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-GenericAssistDataReq ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataReqElement

GNSS-GenericAssistDataReqElement ::= SEQUENCE {
	gnss-ID							GNSS-ID,
	sbas-ID							SBAS-ID							OPTIONAL, -- Cond GNSS-ID-SBAS
	gnss-TimeModelsReq				GNSS-TimeModelListReq			OPTIONAL, -- Cond TimeModReq
	gnss-DifferentialCorrectionsReq	GNSS-DifferentialCorrectionsReq	OPTIONAL, -- Cond DGNSS-Req
	gnss-NavigationModelReq			GNSS-NavigationModelReq			OPTIONAL, -- Cond NavModReq
	gnss-RealTimeIntegrityReq		GNSS-RealTimeIntegrityReq		OPTIONAL, -- Cond RTIReq
	gnss-DataBitAssistanceReq		GNSS-DataBitAssistanceReq		OPTIONAL, -- Cond DataBitsReq
	gnss-AcquisitionAssistanceReq	GNSS-AcquisitionAssistanceReq	OPTIONAL, -- Cond AcquAssistReq
	gnss-AlmanacReq					GNSS-AlmanacReq					OPTIONAL, -- Cond AlmanacReq
	gnss-UTCModelReq				GNSS-UTC-ModelReq				OPTIONAL, -- Cond UTCModReq
	gnss-AuxiliaryInformationReq	GNSS-AuxiliaryInformationReq	OPTIONAL, -- Cond AuxInfoReq
	...,
	[[
		bds-DifferentialCorrectionsReq-r12	
									BDS-DifferentialCorrectionsReq-r12
																	OPTIONAL,	-- Cond DBDS-Req
		bds-GridModelReq-r12		BDS-GridModelReq-r12			OPTIONAL	-- Cond BDS-GridModReq
	]],
	[[
		gnss-RTK-ObservationsReq-r15
									GNSS-RTK-ObservationsReq-r15	OPTIONAL,	-- Cond RTK-OSR-Req
		glo-RTK-BiasInformationReq-r15	
									GLO-RTK-BiasInformationReq-r15	OPTIONAL,	-- Cond GLO-CPB-Req
		gnss-RTK-MAC-CorrectionDifferencesReq-r15
									GNSS-RTK-MAC-CorrectionDifferencesReq-r15
																	OPTIONAL,	-- Cond MAC-Req
		gnss-RTK-ResidualsReq-r15	GNSS-RTK-ResidualsReq-r15		OPTIONAL,	-- Cond Res-Req
		gnss-RTK-FKP-GradientsReq-r15
									GNSS-RTK-FKP-GradientsReq-r15	OPTIONAL,	-- Cond FKP-Req
		gnss-SSR-OrbitCorrectionsReq-r15
									GNSS-SSR-OrbitCorrectionsReq-r15
																	OPTIONAL, 	-- Cond OC-Req
		gnss-SSR-ClockCorrectionsReq-r15
									GNSS-SSR-ClockCorrectionsReq-r15
																	OPTIONAL, 	-- Cond CC-Req
		gnss-SSR-CodeBiasReq-r15	GNSS-SSR-CodeBiasReq-r15		OPTIONAL 	-- Cond CB-Req
	]],
	[[
		gnss-SSR-URA-Req-r16		GNSS-SSR-URA-Req-r16			OPTIONAL,	-- Cond URA-Req
		gnss-SSR-PhaseBiasReq-r16	GNSS-SSR-PhaseBiasReq-r16		OPTIONAL,	-- Cond PB-Req
		gnss-SSR-STEC-CorrectionReq-r16
									GNSS-SSR-STEC-CorrectionReq-r16	OPTIONAL,	-- Cond STEC-Req
		gnss-SSR-GriddedCorrectionReq-r16	GNSS-SSR-GriddedCorrectionReq-r16
																	OPTIONAL,	-- Cond Grid-Req
		navic-DifferentialCorrectionsReq-r16	
									NavIC-DifferentialCorrectionsReq-r16
																OPTIONAL,	-- Cond DNavIC-Req
		navic-GridModelReq-r16		NavIC-GridModelReq-r16		OPTIONAL	-- Cond NavIC-GridModReq
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-PeriodicAssistDataReq-r15 ::= SEQUENCE {
	gnss-RTK-PeriodicObservationsReq-r15	GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pOSR
	glo-RTK-PeriodicBiasInformationReq-r15	GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pCPB
	gnss-RTK-MAC-PeriodicCorrectionDifferencesReq-r15
											GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pMAC
	gnss-RTK-PeriodicResidualsReq-r15		GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pRes
	gnss-RTK-FKP-PeriodicGradientsReq-r15	GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pFKP
	gnss-SSR-PeriodicOrbitCorrectionsReq-r15
											GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pOC
	gnss-SSR-PeriodicClockCorrectionsReq-r15
											GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pCC
	gnss-SSR-PeriodicCodeBiasReq-r15		GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pCB
	...,
	[[
	gnss-SSR-PeriodicURA-Req-r16			GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pURA
	gnss-SSR-PeriodicPhaseBiasReq-r16		GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pPB
	gnss-SSR-PeriodicSTEC-CorrectionReq-r16	GNSS-PeriodicControlParam-r15	OPTIONAL, -- Cond pSTEC
	gnss-SSR-PeriodicGriddedCorrectionReq-r16	
											GNSS-PeriodicControlParam-r15	OPTIONAL  -- Cond pGrid
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-ReferenceTimeReq ::= SEQUENCE {
    	gnss-TimeReqPrefList	SEQUENCE (SIZE (1..8)) OF GNSS-ID,			
    	gps-TOW-assistReq		BOOLEAN								OPTIONAL, -- Cond gps
    	notOfLeapSecReq			BOOLEAN								OPTIONAL, -- Cond glonass
	...
}

-- ASN1STOP
-- ASN1START

GNSS-ReferenceLocationReq ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-IonosphericModelReq ::=	SEQUENCE {
	klobucharModelReq		BIT STRING (SIZE(2))	OPTIONAL,	-- Cond klobuchar
	neQuickModelReq			NULL					OPTIONAL,	-- Cond	nequick
	...,
	[[	klobucharModel2Req-r16 	NULL				OPTIONAL	-- Cond klobuchar2
	]]

}

-- ASN1STOP
-- ASN1START

GNSS-EarthOrientationParametersReq ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-ReferenceStationInfoReq-r15 ::= SEQUENCE {
	antennaDescriptionReq-r15			BOOLEAN,
	antennaHeightReq-r15				BOOLEAN,
	physicalReferenceStationReq-r15		BOOLEAN,
	stationID-r15						GNSS-ReferenceStationID-r15		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-AuxiliaryStationDataReq-r15 ::= SEQUENCE {
	master-referenceStationID-r15		GNSS-ReferenceStationID-r15		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-CorrectionPointsReq-r16 ::=	SEQUENCE {
	correctionPointSetID-Req-r16			INTEGER (0..16383)			OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-TimeModelListReq ::= SEQUENCE (SIZE(1..15)) OF GNSS-TimeModelElementReq

GNSS-TimeModelElementReq ::= SEQUENCE {
	gnss-TO-IDsReq	INTEGER (1..15),
	deltaTreq		BOOLEAN,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-DifferentialCorrectionsReq ::=	SEQUENCE {
	dgnss-SignalsReq			GNSS-SignalIDs,
	dgnss-ValidityTimeReq		BOOLEAN,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-NavigationModelReq ::=	CHOICE {
	storedNavList		StoredNavListInfo,
	reqNavList			ReqNavListInfo,
	...
}


StoredNavListInfo ::= SEQUENCE {
	gnss-WeekOrDay			INTEGER (0..4095),
	gnss-Toe				INTEGER (0..255),
	t-toeLimit				INTEGER (0..15),
	satListRelatedDataList	SatListRelatedDataList	OPTIONAL,
	...
}

SatListRelatedDataList ::= SEQUENCE (SIZE (1..64)) OF SatListRelatedDataElement

SatListRelatedDataElement ::= SEQUENCE {
	svID				SV-ID,
    	iod				BIT STRING (SIZE(11)),
    	clockModelID		INTEGER (1..8)			OPTIONAL,
     orbitModelID		INTEGER (1..8)			OPTIONAL,			
    	...
}

ReqNavListInfo ::=	SEQUENCE {
	svReqList				BIT STRING (SIZE (64)),
    	clockModelID-PrefList	SEQUENCE (SIZE (1..8)) OF	INTEGER (1..8)		OPTIONAL,
	orbitModelID-PrefList	SEQUENCE (SIZE (1..8)) OF	INTEGER (1..8)		OPTIONAL,	
	addNavparamReq			BOOLEAN				OPTIONAL,	-- Cond orbitModelID-2
	...
}


-- ASN1STOP
-- ASN1START

GNSS-RealTimeIntegrityReq ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-DataBitAssistanceReq ::=	SEQUENCE {
	gnss-TOD-Req		INTEGER (0..3599),
	gnss-TOD-FracReq	INTEGER (0..999)		OPTIONAL,
	dataBitInterval		INTEGER (0..15),
	gnss-SignalType		GNSS-SignalIDs,
	gnss-DataBitsReq	GNSS-DataBitsReqSatList	OPTIONAL,
	...
}

GNSS-DataBitsReqSatList ::= SEQUENCE (SIZE(1..64)) OF GNSS-DataBitsReqSatElement

GNSS-DataBitsReqSatElement ::= SEQUENCE {
	svID				SV-ID,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-AcquisitionAssistanceReq ::=	SEQUENCE {
	gnss-SignalID-Req		GNSS-SignalID,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-AlmanacReq ::= SEQUENCE {
	modelID				INTEGER(1..8)	OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-UTC-ModelReq ::=	SEQUENCE {
	modelID				INTEGER(1..8)	OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-AuxiliaryInformationReq ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

BDS-DifferentialCorrectionsReq-r12 ::=	SEQUENCE {
	dgnss-SignalsReq			GNSS-SignalIDs,
	...
}

-- ASN1STOP
-- ASN1START

BDS-GridModelReq-r12 ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-ObservationsReq-r15::= 	SEQUENCE {
	gnss-RTK-SignalsReq-r15				GNSS-SignalIDs,
	gnss-RTK-Integer-ms-Req-r15			BOOLEAN,
	gnss-RTK-PhaseRangeRateReq-r15		BOOLEAN,
	gnss-RTK-CNR-Req-r15				BOOLEAN,
	stationID-r15						GNSS-ReferenceStationID-r15		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GLO-RTK-BiasInformationReq-r15 ::= 	SEQUENCE {
	stationID-r15						GNSS-ReferenceStationID-r15		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-MAC-CorrectionDifferencesReq-r15 ::= 	SEQUENCE {
	master-ReferenceStationID-r15		GNSS-ReferenceStationID-r15				OPTIONAL,
	aux-ReferenceStationList-r15		AUX-ReferenceStationList-r15			OPTIONAL,
	linkCombinations-PrefList-r15		GNSS-Link-CombinationsList-r15			OPTIONAL,
	...
}

AUX-ReferenceStationList-r15 ::= SEQUENCE (SIZE (1..32)) OF AUX-ReferenceStationID-Element-r15

AUX-ReferenceStationID-Element-r15 ::= SEQUENCE {
	aux-stationID-r15		GNSS-ReferenceStationID-r15,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-ResidualsReq-r15 ::= 	SEQUENCE {
	stationID-r15						GNSS-ReferenceStationID-r15		OPTIONAL,
	linkCombinations-PrefList-r15		GNSS-Link-CombinationsList-r15	OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-FKP-GradientsReq-r15 ::= 	SEQUENCE {
	stationID-r15						GNSS-ReferenceStationID-r15		OPTIONAL,
	linkCombinations-PrefList-r15		GNSS-Link-CombinationsList-r15	OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-OrbitCorrectionsReq-r15 ::= SEQUENCE {
	storedNavList-r15				GNSS-NavListInfo-r15				OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-ClockCorrectionsReq-r15 ::= SEQUENCE {
	storedNavList-r15				GNSS-NavListInfo-r15				OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-CodeBiasReq-r15 ::= SEQUENCE {
	signal-and-tracking-mode-ID-Map-r15		GNSS-SignalIDs,
	storedNavList-r15						GNSS-NavListInfo-r15				OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-URA-Req-r16 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-PhaseBiasReq-r16 ::= SEQUENCE {
	signal-and-tracking-mode-ID-Map-r16		GNSS-SignalIDs,
	storedNavList-r16						GNSS-NavListInfo-r15				OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-STEC-CorrectionReq-r16 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-GriddedCorrectionReq-r16 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

NavIC-DifferentialCorrectionsReq-r16 ::=	SEQUENCE {
	dgnss-SignalsReq-r16			GNSS-SignalIDs,
	...
}

-- ASN1STOP
-- ASN1START

NavIC-GridModelReq-r16 ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

A-GNSS-ProvideLocationInformation ::= SEQUENCE {
	gnss-SignalMeasurementInformation	GNSS-SignalMeasurementInformation		OPTIONAL,
	gnss-LocationInformation			GNSS-LocationInformation				OPTIONAL,
	gnss-Error							A-GNSS-Error							OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SignalMeasurementInformation ::= SEQUENCE {
	measurementReferenceTime		MeasurementReferenceTime,
	gnss-MeasurementList			GNSS-MeasurementList,
	...
}

-- ASN1STOP
-- ASN1START

MeasurementReferenceTime ::= SEQUENCE {
	gnss-TOD-msec		INTEGER (0..3599999),
	gnss-TOD-frac		INTEGER (0..3999)			OPTIONAL,		
	gnss-TOD-unc		INTEGER (0..127)			OPTIONAL,		
	gnss-TimeID			GNSS-ID,
	networkTime			CHOICE {
		eUTRA	SEQUENCE {
				physCellId			INTEGER (0..503),
				cellGlobalId		CellGlobalIdEUTRA-AndUTRA		OPTIONAL,
				systemFrameNumber	BIT STRING (SIZE (10)),
				...
				},
		uTRA	SEQUENCE {
				mode					CHOICE {
										fdd			SEQUENCE {
													primary-CPICH-Info	INTEGER (0..511),
													...
													},
										tdd			SEQUENCE {
													cellParameters		INTEGER (0..127),
													...
													}
										},
				cellGlobalId			CellGlobalIdEUTRA-AndUTRA		OPTIONAL,
				referenceSystemFrameNumber
										INTEGER (0..4095),
				...
				},
		gSM		SEQUENCE {
				bcchCarrier			INTEGER (0..1023),
				bsic				INTEGER (0..63),
				cellGlobalId		CellGlobalIdGERAN					OPTIONAL,
				referenceFrame		SEQUENCE {
									referenceFN		INTEGER (0..65535),
									referenceFNMSB		INTEGER (0..63)		OPTIONAL,
									...
									},
				deltaGNSS-TOD		INTEGER (0 .. 127)		OPTIONAL,
				...
				},
		...,
		nbIoT-r14
				SEQUENCE {
				nbPhysCellId-r14	INTEGER (0..503),
				nbCellGlobalId-r14	ECGI						OPTIONAL,
				sfn-r14				BIT STRING (SIZE (10)),
				hyperSFN-r14		BIT STRING (SIZE (10))		OPTIONAL,
				...
				},
		nr-r15	SEQUENCE {
				nrPhysCellId-r15	INTEGER (0..1007),
				nrCellGlobalID-r15	NCGI-r15					OPTIONAL,
				nr-sfn-r15			BIT STRING (SIZE (10)),
				...
				}
		}		OPTIONAL,												
	...
}

-- ASN1STOP
-- ASN1START

GNSS-MeasurementList ::= SEQUENCE (SIZE(1..16)) OF GNSS-MeasurementForOneGNSS

GNSS-MeasurementForOneGNSS ::= SEQUENCE {
	gnss-ID					GNSS-ID,
	gnss-SgnMeasList		GNSS-SgnMeasList,
	...
}

GNSS-SgnMeasList ::= SEQUENCE (SIZE(1..8)) OF GNSS-SgnMeasElement

GNSS-SgnMeasElement ::= SEQUENCE {
	gnss-SignalID			GNSS-SignalID,
	gnss-CodePhaseAmbiguity	INTEGER (0..127)		OPTIONAL,
	gnss-SatMeasList		GNSS-SatMeasList,
	...
}

GNSS-SatMeasList ::= SEQUENCE (SIZE(1..64)) OF GNSS-SatMeasElement

GNSS-SatMeasElement ::= SEQUENCE {
	svID				SV-ID,
	cNo					INTEGER (0..63),
	mpathDet			ENUMERATED {notMeasured (0), low (1), medium (2), high (3), ...},
	carrierQualityInd	INTEGER (0..3)				OPTIONAL,	
	codePhase			INTEGER (0..2097151),
	integerCodePhase	INTEGER (0..127)			OPTIONAL,
	codePhaseRMSError	INTEGER (0..63),						
	doppler				INTEGER (-32768..32767)	OPTIONAL,
	adr					INTEGER (0..33554431)		OPTIONAL,
	...,
	[[
		adrMSB-r15			INTEGER (0..15)						OPTIONAL,
		adrSign-r15			ENUMERATED {positive, negative}		OPTIONAL,
		adrRMSerror-r15		INTEGER (0..127)					OPTIONAL,
		delta-codePhase-r15	INTEGER (0..7)						OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-LocationInformation ::= SEQUENCE {
	measurementReferenceTime		MeasurementReferenceTime,
	agnss-List						GNSS-ID-Bitmap,					
	...
}

-- ASN1STOP
-- ASN1START

A-GNSS-RequestLocationInformation ::= SEQUENCE {
	gnss-PositioningInstructions		GNSS-PositioningInstructions,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-PositioningInstructions ::= SEQUENCE {
	gnss-Methods				GNSS-ID-Bitmap,	
	fineTimeAssistanceMeasReq	BOOLEAN,
	adrMeasReq					BOOLEAN,
	multiFreqMeasReq			BOOLEAN,
	assistanceAvailability		BOOLEAN,
	...,
	[[
		ha-GNSS-Req-r15			ENUMERATED { true }		OPTIONAL	-- Cond UEB
	]]
}

-- ASN1STOP
-- ASN1START

A-GNSS-ProvideCapabilities ::= SEQUENCE {
	gnss-SupportList			GNSS-SupportList				OPTIONAL,
	assistanceDataSupportList	AssistanceDataSupportList		OPTIONAL,
	locationCoordinateTypes		LocationCoordinateTypes			OPTIONAL,
	velocityTypes				VelocityTypes					OPTIONAL,
	...,
	[[ periodicalReportingNotSupported-r14
								PositioningModes				OPTIONAL,
		idleStateForMeasurements-r14		
								ENUMERATED { required }			OPTIONAL
	]],
	[[ periodicAssistanceData-r15
								BIT STRING { solicited 	 (0),
											 unsolicited (1)	} (SIZE (1..8))		OPTIONAL
	]]
}

GNSS-SupportList ::= SEQUENCE (SIZE(1..16)) OF GNSS-SupportElement

GNSS-SupportElement ::= SEQUENCE {
	gnss-ID							GNSS-ID,
	sbas-IDs						SBAS-IDs					OPTIONAL,	-- Cond GNSS-ID-SBAS
	agnss-Modes						PositioningModes,
	gnss-Signals					GNSS-SignalIDs,
	fta-MeasSupport					SEQUENCE {
										cellTime	AccessTypes,
										mode		PositioningModes,
										...
									}							OPTIONAL,	-- Cond fta
	adr-Support						BOOLEAN,
	velocityMeasurementSupport		BOOLEAN,
	...,
	[[
		adrEnhancementsSupport-r15	ENUMERATED { true }			OPTIONAL,
		ha-gnss-Modes-r15			PositioningModes			OPTIONAL
	]]
}

AssistanceDataSupportList ::= SEQUENCE {
	gnss-CommonAssistanceDataSupport	GNSS-CommonAssistanceDataSupport,
	gnss-GenericAssistanceDataSupport	GNSS-GenericAssistanceDataSupport,
	...
}


-- ASN1STOP
-- ASN1START

GNSS-CommonAssistanceDataSupport ::= SEQUENCE {
	gnss-ReferenceTimeSupport				GNSS-ReferenceTimeSupport				
																OPTIONAL, -- Cond RefTimeSup
	gnss-ReferenceLocationSupport			GNSS-ReferenceLocationSupport			
																OPTIONAL, -- Cond RefLocSup
	gnss-IonosphericModelSupport			GNSS-IonosphericModelSupport				
																OPTIONAL, -- Cond IonoModSup
	gnss-EarthOrientationParametersSupport	GNSS-EarthOrientationParametersSupport	
																OPTIONAL, -- Cond EOPSup
	...,
	[[
		gnss-RTK-ReferenceStationInfoSupport-r15	
											GNSS-RTK-ReferenceStationInfoSupport-r15
																OPTIONAL, -- Cond ARPSup
		gnss-RTK-AuxiliaryStationDataSupport-r15
											GNSS-RTK-AuxiliaryStationDataSupport-r15
																OPTIONAL -- Cond AuxARPSup
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-ReferenceTimeSupport ::=	SEQUENCE {
	gnss-SystemTime		GNSS-ID-Bitmap,
	fta-Support			AccessTypes										OPTIONAL, -- Cond fta
	...
}

-- ASN1STOP
-- ASN1START

GNSS-ReferenceLocationSupport ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-IonosphericModelSupport ::=	SEQUENCE {
	ionoModel		BIT STRING {	klobuchar	(0),
									neQuick		(1),
									klobuchar2-r16	(2) } (SIZE (1..8)),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-EarthOrientationParametersSupport ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-ReferenceStationInfoSupport-r15 ::= 	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-AuxiliaryStationDataSupport-r15 ::= 	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-GenericAssistanceDataSupport ::=
								SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataSupportElement

GNSS-GenericAssistDataSupportElement ::= SEQUENCE {
	gnss-ID								GNSS-ID,
	sbas-ID								SBAS-ID						OPTIONAL, -- Cond GNSSIDSBAS
	gnss-TimeModelsSupport				GNSS-TimeModelListSupport
																	OPTIONAL, -- Cond TimeModSup
	gnss-DifferentialCorrectionsSupport	GNSS-DifferentialCorrectionsSupport
																	OPTIONAL, -- Cond DGNSS-Sup
	gnss-NavigationModelSupport			GNSS-NavigationModelSupport
																	OPTIONAL, -- Cond NavModSup
	gnss-RealTimeIntegritySupport		GNSS-RealTimeIntegritySupport
																	OPTIONAL, -- Cond RTISup
	gnss-DataBitAssistanceSupport		GNSS-DataBitAssistanceSupport
																	OPTIONAL, -- Cond DataBitsSup
	gnss-AcquisitionAssistanceSupport	GNSS-AcquisitionAssistanceSupport
																	OPTIONAL, -- Cond AcquAssistSup
	gnss-AlmanacSupport					GNSS-AlmanacSupport
																	OPTIONAL, -- Cond AlmanacSup
	gnss-UTC-ModelSupport				GNSS-UTC-ModelSupport
																	OPTIONAL, -- Cond UTCModSup
	gnss-AuxiliaryInformationSupport	GNSS-AuxiliaryInformationSupport
																	OPTIONAL, -- Cond AuxInfoSup
	...,
	[[
		bds-DifferentialCorrectionsSupport-r12
										BDS-DifferentialCorrectionsSupport-r12
																	OPTIONAL, -- Cond DBDS-Sup
		bds-GridModelSupport-r12		BDS-GridModelSupport-r12
																	OPTIONAL	-- Cond BDS-GridModSup
	]],
	[[
		gnss-RTK-ObservationsSupport-r15
										GNSS-RTK-ObservationsSupport-r15
																	OPTIONAL,	-- Cond RTK-OSR-Sup
		glo-RTK-BiasInformationSupport-r15	
										GLO-RTK-BiasInformationSupport-r15	
																	OPTIONAL,	-- Cond GLO-CPB-Sup
		gnss-RTK-MAC-CorrectionDifferencesSupport-r15
										GNSS-RTK-MAC-CorrectionDifferencesSupport-r15
																	OPTIONAL,	-- Cond MAC-Sup
		gnss-RTK-ResidualsSupport-r15	GNSS-RTK-ResidualsSupport-r15
																	OPTIONAL,	-- Cond Res-Sup
		gnss-RTK-FKP-GradientsSupport-r15
										GNSS-RTK-FKP-GradientsSupport-r15
																	OPTIONAL,	-- Cond FKP-Sup
		gnss-SSR-OrbitCorrectionsSupport-r15
										GNSS-SSR-OrbitCorrectionsSupport-r15
																	OPTIONAL, 	-- Cond OC-Sup
		gnss-SSR-ClockCorrectionsSupport-r15
										GNSS-SSR-ClockCorrectionsSupport-r15
																	OPTIONAL, 	-- Cond CC-Sup
		gnss-SSR-CodeBiasSupport-r15	GNSS-SSR-CodeBiasSupport-r15
																	OPTIONAL 	-- Cond CB-Sup
	]],
	[[
		gnss-SSR-URA-Support-r16		GNSS-SSR-URA-Support-r16	OPTIONAL,	-- Cond URA-Sup
		gnss-SSR-PhaseBiasSupport-r16	GNSS-SSR-PhaseBiasSupport-r16		
																	OPTIONAL,	-- Cond PB-Sup
		gnss-SSR-STEC-CorrectionSupport-r16
										GNSS-SSR-STEC-CorrectionSupport-r16
																	OPTIONAL,	-- Cond STEC-Sup
		gnss-SSR-GriddedCorrectionSupport-r16
										GNSS-SSR-GriddedCorrectionSupport-r16
																	OPTIONAL,	-- Cond Grid-Sup
		navic-DifferentialCorrectionsSupport-r16
										NavIC-DifferentialCorrectionsSupport-r16
																OPTIONAL,	-- Cond DNavIC-Sup
		navic-GridModelSupport-r16		NavIC-GridModelSupport-r16
																OPTIONAL	-- Cond NavIC-GridModSup
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-TimeModelListSupport ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-DifferentialCorrectionsSupport ::=	SEQUENCE {
	gnssSignalIDs			GNSS-SignalIDs,
	dgnss-ValidityTimeSup	BOOLEAN,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-NavigationModelSupport ::= SEQUENCE {
	clockModel		BIT STRING {	model-1		(0),
									model-2		(1),
									model-3		(2),
									model-4		(3),
									model-5		(4),
									model-6		(5),
									model-7-r16	(6),
									model-8-r16	(7) } (SIZE (1..8))		OPTIONAL,
	orbitModel		BIT STRING {	model-1		(0),
									model-2		(1),
									model-3		(2),
									model-4		(3),
									model-5		(4),
									model-6		(5),
									model-7-r16	(6),
									model-8-r16	(7) } (SIZE (1..8))		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RealTimeIntegritySupport ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-DataBitAssistanceSupport ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-AcquisitionAssistanceSupport ::=	SEQUENCE {
	...,
	confidenceSupport-r10					ENUMERATED { true }		OPTIONAL,
	dopplerUncertaintyExtSupport-r10		ENUMERATED { true }		OPTIONAL
}

-- ASN1STOP
-- ASN1START

GNSS-AlmanacSupport ::=	SEQUENCE {
	almanacModel		BIT STRING {	model-1		(0),
										model-2		(1),
										model-3		(2),
										model-4		(3),
										model-5		(4),
										model-6		(5),
										model-7		(6) } (SIZE (1..8))		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-UTC-ModelSupport ::=	SEQUENCE {
	utc-Model		BIT STRING {	model-1		(0),
									model-2		(1),
									model-3		(2),
									model-4		(3),
									model-5		(4) } (SIZE (1..8))		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-AuxiliaryInformationSupport ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

BDS-DifferentialCorrectionsSupport-r12 ::=	SEQUENCE {
	gnssSignalIDs			GNSS-SignalIDs,
	...
}

-- ASN1STOP
-- ASN1START

BDS-GridModelSupport-r12 ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-ObservationsSupport-r15 ::= 	SEQUENCE {
	gnssSignalIDs-r15			GNSS-SignalIDs,
	...
}

-- ASN1STOP
-- ASN1START

GLO-RTK-BiasInformationSupport-r15 ::= 	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-MAC-CorrectionDifferencesSupport-r15 ::= 	SEQUENCE {
	link-combinations-support-r15		GNSS-Link-CombinationsList-r15,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-ResidualsSupport-r15 ::= 	SEQUENCE {
	link-combinations-support-r15		GNSS-Link-CombinationsList-r15,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-RTK-FKP-GradientsSupport-r15 ::= 	SEQUENCE {
	link-combinations-support-r15		GNSS-Link-CombinationsList-r15,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-OrbitCorrectionsSupport-r15 ::= 	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-ClockCorrectionsSupport-r15 ::= 	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-CodeBiasSupport-r15 ::= SEQUENCE {
	signal-and-tracking-mode-ID-Sup-r15		GNSS-SignalIDs,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-URA-Support-r16 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-PhaseBiasSupport-r16 ::= SEQUENCE {
	signal-and-tracking-mode-ID-Sup-r16		GNSS-SignalIDs,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-STEC-CorrectionSupport-r16 ::= 	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SSR-GriddedCorrectionSupport-r16 ::= 	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

NavIC-DifferentialCorrectionsSupport-r16 ::=	SEQUENCE {
	gnssSignalIDs-r16			GNSS-SignalIDs,
	...
}

-- ASN1STOP
-- ASN1START

NavIC-GridModelSupport-r16 ::=	SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

A-GNSS-RequestCapabilities ::= SEQUENCE {
	gnss-SupportListReq				BOOLEAN,
	assistanceDataSupportListReq	BOOLEAN,
	locationVelocityTypesReq		BOOLEAN,
	...
}

-- ASN1STOP
-- ASN1START

A-GNSS-Error ::= CHOICE {
	locationServerErrorCauses		GNSS-LocationServerErrorCauses,
	targetDeviceErrorCauses			GNSS-TargetDeviceErrorCauses,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-LocationServerErrorCauses ::= SEQUENCE {
	cause		ENUMERATED	{	
					undefined,
					undeliveredAssistanceDataIsNotSupportedByServer,
					undeliveredAssistanceDataIsSupportedButCurrentlyNotAvailableByServer,								undeliveredAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailableByServer,
					...,
				unconfirmedPeriodicAssistanceDataIsNotSupported-v1510,
				unconfirmedPeriodicAssistanceDataIsSupportedButCurrentlyNotAvailable-v1510,
				unconfirmedPeriodicAssistanceDataIsPartlyNotSupportedAndPartlyNotAvailable-v1510,
				undeliveredPeriodicAssistanceDataIsCurrentlyNotAvailable-v1510
					},
	...
}

-- ASN1STOP
-- ASN1START

GNSS-TargetDeviceErrorCauses ::= SEQUENCE {
	cause		ENUMERATED {	undefined,
								thereWereNotEnoughSatellitesReceived,
								assistanceDataMissing,
								notAllRequestedMeasurementsPossible,
								...
							},
	fineTimeAssistanceMeasurementsNotPossible		NULL		OPTIONAL,
	adrMeasurementsNotPossible						NULL		OPTIONAL,
	multiFrequencyMeasurementsNotPossible			NULL		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-FrequencyID-r15	::= SEQUENCE {
	gnss-FrequencyID-r15		INTEGER (0 .. 7),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-ID ::= SEQUENCE {
	gnss-id				ENUMERATED{ gps, sbas, qzss, galileo, glonass, ..., bds, navic-v1610 },
	...
}

-- ASN1STOP
-- ASN1START

GNSS-ID-Bitmap ::= SEQUENCE {
	gnss-ids			BIT STRING {	gps			(0),	
										sbas		(1),
										qzss		(2),
										galileo		(3),
										glonass		(4),
										bds			(5),
										navic-v1610	(6) } (SIZE (1..16)),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-Link-CombinationsList-r15 ::= SEQUENCE (SIZE(1..8)) OF GNSS-Link-Combinations-r15

GNSS-Link-Combinations-r15 ::= SEQUENCE {
	l1-r15		GNSS-FrequencyID-r15,
	l2-r15		GNSS-FrequencyID-r15,
	...
}

-- ASN1STOP
-- ASN1START

GNSS-NavListInfo-r15 ::= SEQUENCE (SIZE (1..64)) OF SatListElement-r15

SatListElement-r15 ::= SEQUENCE {
	svID-r15		SV-ID,
	iod-r15			BIT STRING (SIZE(11)),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-NetworkID-r15 ::= SEQUENCE {
	networkID-r15					INTEGER (0..255),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-PeriodicControlParam-r15 ::= SEQUENCE {
	deliveryAmount-r15			INTEGER (1..32),
	deliveryInterval-r15		INTEGER (1..64),
	...
}

-- ASN1STOP
-- ASN1START

GNSS-ReferenceStationID-r15 ::= SEQUENCE {
	referenceStationID-r15			INTEGER (0..65535),
	providerName-r15				VisibleString (SIZE (1..32))		OPTIONAL, -- Need ON
	...
}

-- ASN1STOP
-- ASN1START

GNSS-SignalID	::= SEQUENCE {
	gnss-SignalID		INTEGER (0 .. 7),
	...,
	[[
		gnss-SignalID-Ext-r15	INTEGER (8..23)			OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-SignalIDs	::= SEQUENCE {
	gnss-SignalIDs		BIT STRING (SIZE(8)),
	...,
	[[
		gnss-SignalIDs-Ext-r15	BIT STRING (SIZE(16))			OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

GNSS-SubNetworkID-r15 ::= SEQUENCE {
	subNetworkID-r15				INTEGER (0..15),
	...
}

-- ASN1STOP
-- ASN1START

SBAS-ID ::= SEQUENCE {
	sbas-id				ENUMERATED { waas, egnos, msas, gagan, ...},
	...
}

-- ASN1STOP
-- ASN1START

SBAS-IDs ::= SEQUENCE {
	sbas-IDs		BIT STRING {	waas		(0),	
									egnos		(1),
									msas		(2),
									gagan		(3)	} (SIZE (1..8)),
	...
}

-- ASN1STOP
-- ASN1START

SV-ID ::= SEQUENCE {
	satellite-id		INTEGER(0..63),
	...
}

-- ASN1STOP
-- ASN1START

ECID-ProvideLocationInformation ::= SEQUENCE {
	ecid-SignalMeasurementInformation	ECID-SignalMeasurementInformation		OPTIONAL,
	ecid-Error							ECID-Error								OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

ECID-SignalMeasurementInformation ::= SEQUENCE {
	primaryCellMeasuredResults	MeasuredResultsElement	OPTIONAL,
	measuredResultsList			MeasuredResultsList,
	...
}

MeasuredResultsList ::= SEQUENCE (SIZE(1..32)) OF MeasuredResultsElement

MeasuredResultsElement ::= SEQUENCE {
	physCellId						INTEGER (0..503),
	cellGlobalId					CellGlobalIdEUTRA-AndUTRA	OPTIONAL,
	arfcnEUTRA						ARFCN-ValueEUTRA,
	systemFrameNumber				BIT STRING (SIZE (10))		OPTIONAL,
	rsrp-Result						INTEGER (0..97)				OPTIONAL,
	rsrq-Result						INTEGER (0..34)				OPTIONAL,
	ue-RxTxTimeDiff					INTEGER (0..4095)			OPTIONAL,
	...,
	[[	arfcnEUTRA-v9a0				ARFCN-ValueEUTRA-v9a0		OPTIONAL		-- Cond EARFCN-max
	]],
	[[	nrsrp-Result-r14			INTEGER (0..113)			OPTIONAL,
		nrsrq-Result-r14			INTEGER (0..74)				OPTIONAL,
		carrierFreqOffsetNB-r14		CarrierFreqOffsetNB-r14		OPTIONAL,		-- Cond NB-IoT
		hyperSFN-r14				BIT STRING (SIZE (10))		OPTIONAL
	]],
	[[
		rsrp-Result-v1470			INTEGER (-17..-1)			OPTIONAL,
		rsrq-Result-v1470			INTEGER (-30..46)			OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

ECID-RequestLocationInformation ::= SEQUENCE {
	requestedMeasurements		BIT STRING {	rsrpReq		(0),
												rsrqReq		(1),
												ueRxTxReq	(2),
												nrsrpReq-r14	(3),
												nrsrqReq-r14	(4)} (SIZE(1..8)),
	...
}

-- ASN1STOP
-- ASN1START

ECID-ProvideCapabilities ::= SEQUENCE {
	ecid-MeasSupported	BIT STRING {	rsrpSup		(0),
										rsrqSup		(1),
										ueRxTxSup	(2),
										nrsrpSup-r14	(3),
										nrsrqSup-r14	(4)} (SIZE(1..8)),
	...,
	[[	ueRxTxSupTDD-r13					ENUMERATED { true }				OPTIONAL
	]],
	[[	periodicalReporting-r14				ENUMERATED { supported }		OPTIONAL,
		triggeredReporting-r14				ENUMERATED { supported }		OPTIONAL,
		idleStateForMeasurements-r14		ENUMERATED { required }			OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

ECID-RequestCapabilities ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

ECID-Error ::= CHOICE {
	locationServerErrorCauses		ECID-LocationServerErrorCauses,
	targetDeviceErrorCauses			ECID-TargetDeviceErrorCauses,
	...
}

-- ASN1STOP
-- ASN1START

ECID-LocationServerErrorCauses ::= SEQUENCE {
	cause		ENUMERATED	{	undefined,								
								...
							},
	...
}

-- ASN1STOP
-- ASN1START

ECID-TargetDeviceErrorCauses ::= SEQUENCE {
	cause		ENUMERATED {	undefined,
								requestedMeasurementNotAvailable,
								notAllrequestedMeasurementsPossible,
								...
							},
	rsrpMeasurementNotPossible				NULL		OPTIONAL,
	rsrqMeasurementNotPossible				NULL		OPTIONAL,
	ueRxTxMeasurementNotPossible			NULL		OPTIONAL,
	...,
	[[
	 nrsrpMeasurementNotPossible-r14		NULL		OPTIONAL,
	 nrsrqMeasurementNotPossible-r14		NULL		OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

TBS-ProvideLocationInformation-r13 ::= SEQUENCE {
	tbs-MeasurementInformation-r13			TBS-MeasurementInformation-r13		OPTIONAL,
	tbs-Error-r13							TBS-Error-r13						OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

TBS-MeasurementInformation-r13 ::= SEQUENCE {
	measurementReferenceTime-r13	UTCTime						OPTIONAL,
	mbs-SgnMeasList-r13				MBS-BeaconMeasList-r13		OPTIONAL,	-- Cond MBS
	...
}

-- ASN1STOP
-- ASN1START

MBS-BeaconMeasList-r13 ::= SEQUENCE (SIZE(1..64)) OF MBS-BeaconMeasElement-r13

MBS-BeaconMeasElement-r13 ::= SEQUENCE {
	transmitterID-r13				INTEGER (0..32767),
	codePhase-r13					INTEGER (0..2097151),
	codePhaseRMSError-r13			INTEGER (0..63),
	...,
	[[ rssi-r14						INTEGER (-130..-30)		OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

TBS-RequestLocationInformation-r13 ::= SEQUENCE {
	mbsSgnMeasListReq-r13				BOOLEAN,
	...,
	[[	mbsAssistanceAvailability-r14	BOOLEAN							OPTIONAL,	-- Need ON
		mbsRequestedMeasurements-r14	BIT STRING {
										rssi		(0)} (SIZE(1..8))	OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

TBS-ProvideCapabilities-r13 ::= SEQUENCE {
	tbs-Modes-r13			BIT STRING {	standalone		(0),
											ue-assisted		(1),
											ue-based		(2)} (SIZE (1..8)),
	...,
	[[	mbs-AssistanceDataSupportList-r14	MBS-AssistanceDataSupportList-r14		OPTIONAL,
		periodicalReportingSupported-r14	PositioningModes						OPTIONAL,
		mbs-ConfigSupport-r14	BIT STRING {	tb1		(0),
												tb2		(1),
												tb3		(2),
												tb4		(3)} (SIZE (1..8))			OPTIONAL,
		mbs-IdleStateForMeasurements-r14		ENUMERATED { required }				OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

MBS-AssistanceDataSupportList-r14 ::= SEQUENCE {
	mbs-AcquisitionAssistanceDataSupport-r14	BOOLEAN,
	mbs-AlmanacAssistanceDataSupport-r14		BOOLEAN,
	...
}

-- ASN1STOP
-- ASN1START

TBS-RequestCapabilities-r13 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

TBS-Error-r13 ::= CHOICE {
	locationServerErrorCauses-r13		TBS-LocationServerErrorCauses-r13,
	targetDeviceErrorCauses-r13			TBS-TargetDeviceErrorCauses-r13,
	...
}

-- ASN1STOP
-- ASN1START

TBS-LocationServerErrorCauses-r13 ::= SEQUENCE {
	cause-r13		ENUMERATED	{	undefined,
									...,
									assistanceDataNotSupportedByServer-v1420,
									assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420
								},
	...
}

-- ASN1STOP
-- ASN1START

TBS-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
	cause-r13		ENUMERATED {	undefined,
									thereWereNotEnoughMBSBeaconsReceived,
									...,
									assistanceDataMissing-v1420
								},
	...
}

-- ASN1STOP
-- ASN1START

TBS-ProvideAssistanceData-r14 ::= SEQUENCE {
	tbs-AssistanceDataList-r14	TBS-AssistanceDataList-r14	OPTIONAL,	-- Need ON
	tbs-Error-r14				TBS-Error-r13				OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

TBS-AssistanceDataList-r14 ::= SEQUENCE {
	mbs-AssistanceDataList-r14		MBS-AssistanceDataList-r14		OPTIONAL,	-- Need ON
	...
}

MBS-AssistanceDataList-r14 ::= SEQUENCE (SIZE (1..maxMBS-r14)) OF MBS-AssistanceDataElement-r14

MBS-AssistanceDataElement-r14 ::= SEQUENCE {
	mbs-AlmanacAssistance-r14		MBS-AlmanacAssistance-r14			OPTIONAL,	-- Need ON
	mbs-AcquisitionAssistance-r14	MBS-AcquisitionAssistance-r14		OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

MBS-AlmanacAssistance-r14 ::= SEQUENCE {
	transmitterID-r14			INTEGER (0..32767),
	transmitterLatitude-r14		BIT STRING (SIZE (26)),
	transmitterLongitude-r14	BIT STRING (SIZE (27)),
	transmitterAltitude-r14		BIT STRING (SIZE (15)),
	timeCorrection-r14			INTEGER (0..25)		OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

MBS-AcquisitionAssistance-r14 ::= SEQUENCE {
	transmitterID-r14				INTEGER (0..32767)						OPTIONAL,	-- Need ON
	mbsConfiguration-r14			ENUMERATED {tb1, tb2, tb3, tb4, ...}	OPTIONAL,	-- Need ON
	pnCodeIndex-r14					INTEGER (1..128)						OPTIONAL,	-- Need ON
	freq-r14						INTEGER (919750000..927250000)			OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

TBS-RequestAssistanceData-r14 ::= SEQUENCE {
	mbs-AlmanacAssistanceDataReq-r14		BOOLEAN,
	mbs-AcquisitionAssistanceDataReq-r14	BOOLEAN,
	...
}

-- ASN1STOP
-- ASN1START

Sensor-ProvideLocationInformation-r13 ::= SEQUENCE {
	sensor-MeasurementInformation-r13		Sensor-MeasurementInformation-r13		OPTIONAL,
	sensor-Error-r13						Sensor-Error-r13						OPTIONAL,
	...,
	[[
	sensor-MotionInformation-r15			Sensor-MotionInformation-r15			OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

Sensor-MeasurementInformation-r13 ::= SEQUENCE {
	measurementReferenceTime-r13		UTCTime						OPTIONAL,
	uncompensatedBarometricPressure-r13	INTEGER (30000..115000)		OPTIONAL, -- Cond Barometer
	...,
	[[
	uncertainty-r14					SEQUENCE {
									range-r14		INTEGER (0..1000),
									confidence-r14	INTEGER (1..100)
									}									OPTIONAL
	]],
	[[	adjustment-r16				INTEGER (-5000..5000) 				OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

Sensor-MotionInformation-r15 ::= SEQUENCE {
	refTime-r15					DisplacementTimeStamp-r15,
	displacementInfoList-r15	DisplacementInfoList-r15,
	...
}

DisplacementInfoList-r15 ::= SEQUENCE (SIZE (1..128)) OF DisplacementInfoListElement-r15

DisplacementInfoListElement-r15 ::= SEQUENCE {
	deltaTimeStamp-r15			DeltaTime-r15,
	displacement-r15			Displacement-r15			OPTIONAL,
	...
}

DisplacementTimeStamp-r15 ::= CHOICE {
	utcTime-r15					UTC-Time-r15,
	gnssTime-r15				MeasurementReferenceTime,
	systemFrameNumber-r15		SFN-r15,
	measurementSFN-r15			INTEGER(-8192..9214),
	...
}

DeltaTime-r15 ::= CHOICE {
	deltaTimeSec-r15			INTEGER (1..16384),
	deltaTimeSFN-r15			INTEGER (1..4096),
	...
}

SFN-r15 ::= SEQUENCE {
	sfn-r15						BIT STRING (SIZE (10)),
	hyperSFN-r15				BIT STRING (SIZE (10))		OPTIONAL,
	...
}

Displacement-r15 ::= SEQUENCE {
	bearing-r15					INTEGER (0..3599),
	bearingUncConfidence-r15	INTEGER (0..100)				OPTIONAL,
	bearingRef-r15				ENUMERATED { geographicNorth, magneticNorth, local },
	horizontalDistance-r15		INTEGER (0..8191),
	horizontalDistanceUnc-r15	INTEGER (0..255)				OPTIONAL,
	horizontalUncConfidence-r15	INTEGER (0..100)				OPTIONAL,
	verticalDirection-r15		ENUMERATED{upward, downward}	OPTIONAL,
	verticalDistance-r15		INTEGER(0..8191)				OPTIONAL,
	verticalDistanceUnc-r15		INTEGER (0..255)				OPTIONAL,
	verticalUncConfidence-r15	INTEGER (0..100)				OPTIONAL,
	...
}

UTC-Time-r15 ::= SEQUENCE {
	utcTime-r15					UTCTime,
	utcTime-ms-r15				INTEGER (0..999),
	...
}

-- ASN1STOP
-- ASN1START

Sensor-RequestLocationInformation-r13 ::= SEQUENCE {
	uncompensatedBarometricPressureReq-r13		BOOLEAN,
	...,
	[[	assistanceAvailability-r14				BOOLEAN		OPTIONAL	-- Need ON
	]],
	[[	sensor-MotionInformationReq-r15			BOOLEAN		OPTIONAL	-- Need ON
	]],
	[[	adjustmentReq-r16						BOOLEAN		OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

Sensor-ProvideCapabilities-r13 ::= SEQUENCE {
	sensor-Modes-r13			BIT STRING {	standalone	(0),
												ue-assisted	(1),
												ue-based	(2)} (SIZE (1..8)),
	...,
	[[	sensor-AssistanceDataSupportList-r14	Sensor-AssistanceDataSupportList-r14	OPTIONAL,
		periodicalReportingSupported-r14		PositioningModes						OPTIONAL,
		idleStateForMeasurements-r14			ENUMERATED { required }					OPTIONAL
	]],
	[[	sensor-MotionInformationSup-r15			ENUMERATED { true }						OPTIONAL
	]],
	[[	adjustmentSupported-r16					ENUMERATED	{ true }					OPTIONAL
	]]
}

Sensor-AssistanceDataSupportList-r14 ::= SEQUENCE {
	...,
	[[	validityPeriodSupported-v1520			ENUMERATED { true }		OPTIONAL,
		validityAreaSupported-v1520				ENUMERATED { true }		OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

Sensor-RequestCapabilities-r13 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

Sensor-Error-r13 ::= CHOICE {
	locationServerErrorCauses-r13		Sensor-LocationServerErrorCauses-r13,
	targetDeviceErrorCauses-r13			Sensor-TargetDeviceErrorCauses-r13,
	...
}

-- ASN1STOP
-- ASN1START

Sensor-LocationServerErrorCauses-r13 ::= SEQUENCE {
	cause-r13		ENUMERATED	{	undefined,
									...,
									assistanceDataNotSupportedByServer-v1420,
									assistanceDataSupportedButCurrentlyNotAvailableByServer-v1420
									},
	...
}

-- ASN1STOP
-- ASN1START

Sensor-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
	cause-r13			ENUMERATED		{	undefined,
											...,
											assistanceDataMissing-v1420
										},
	...
}

-- ASN1STOP
-- ASN1START

Sensor-ProvideAssistanceData-r14 ::= SEQUENCE {
	sensor-AssistanceDataList-r14		Sensor-AssistanceDataList-r14		OPTIONAL,	-- Need ON
	sensor-Error-r14					Sensor-Error-r13					OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

Sensor-AssistanceDataList-r14::= SEQUENCE {
	refPressure-r14		INTEGER (-20000..10000),
	refPosition-r14		EllipsoidPointWithAltitudeAndUncertaintyEllipsoid	OPTIONAL,	-- Need ON
	refTemperature-r14	INTEGER (-64..63)									OPTIONAL,	-- Need ON
	...,
	[[
	period-v1520		SEQUENCE {
		pressureValidityPeriod-v1520	PressureValidityPeriod-v1520,
		referencePressureRate-v1520		INTEGER	(-128..127)					OPTIONAL,	-- Need ON
		...
	}																		OPTIONAL,	-- Need ON
	area-v1520			SEQUENCE {
		pressureValidityArea-v1520		PressureValidityArea-v1520,
		gN-pressure-v1520				INTEGER (-1024..1023)				OPTIONAL,	-- Need ON
		gE-pressure-v1520				INTEGER (-1024..1023)				OPTIONAL,	-- Need ON
		...
	}																		OPTIONAL	-- Need ON
	]]
}

PressureValidityArea-v1520 ::= SEQUENCE {
	centerPoint-v1520				Ellipsoid-Point,
	validityAreaWidth-v1520			INTEGER (1..128),
	validityAreaHeight-v1520		INTEGER (1..128),
	...
}

PressureValidityPeriod-v1520 ::= SEQUENCE {
	beginTime-v1520					GNSS-SystemTime,
	beginTimeAlt-v1520				INTEGER (0..2881)						OPTIONAL,	-- Need ON
	duration-v1520					INTEGER (1..2881),
	...
}

-- ASN1STOP
-- ASN1START

Sensor-RequestAssistanceData-r14 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

WLAN-ProvideLocationInformation-r13 ::= SEQUENCE {
	wlan-MeasurementInformation-r13		WLAN-MeasurementInformation-r13		OPTIONAL,
	wlan-Error-r13						WLAN-Error-r13						OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

WLAN-MeasurementInformation-r13 ::= SEQUENCE {
	measurementReferenceTime-r13		UTCTime						OPTIONAL,
	wlan-MeasurementList-r13			WLAN-MeasurementList-r13	OPTIONAL,
	...
}

WLAN-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxWLAN-AP-r13)) OF WLAN-MeasurementElement-r13

WLAN-MeasurementElement-r13 ::= SEQUENCE {
	wlan-AP-Identifier-r13		WLAN-AP-Identifier-r13,
	rssi-r13					INTEGER (-127..128)					OPTIONAL,
	rtt-r13						WLAN-RTT-r13						OPTIONAL,
	apChannelFrequency-r13		INTEGER (0..256)					OPTIONAL,
	servingFlag-r13				BOOLEAN								OPTIONAL,
	...
}

WLAN-AP-Identifier-r13 ::= SEQUENCE {
	bssid-r13					OCTET STRING (SIZE (6)),
	ssid-r13					OCTET STRING (SIZE (1..32))			OPTIONAL,
	...
}

WLAN-RTT-r13 ::= SEQUENCE {
	rttValue-r13	INTEGER (0..16777215),
	rttUnits-r13	ENUMERATED {	microseconds,
									hundredsofnanoseconds,
									tensofnanoseconds,
									nanoseconds,
									tenthsofnanoseconds,
									... },
	rttAccuracy-r13	INTEGER (0..255)								OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

WLAN-RequestLocationInformation-r13 ::= SEQUENCE {
	requestedMeasurements-r13	BIT STRING {	
											rssi		(0),
											rtt			(1)} (SIZE(1..8)),
	...,
	[[	assistanceAvailability-r14	BOOLEAN			OPTIONAL	-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

WLAN-ProvideCapabilities-r13 ::= SEQUENCE {
	wlan-Modes-r13			BIT STRING	{	standalone		(0),
											ue-assisted		(1),
											ue-based		(2)}	(SIZE (1..8)),
	wlan-MeasSupported-r13	BIT STRING	{	
											rssi-r13		(0),
											rtt-r13			(1)}	(SIZE(1..8)),
	...	,
	[[	wlan-AP-AD-Supported-r14	
							BIT STRING {	ap-identifier	(0),
											ap-location		(1)}	(SIZE (1..8))
																					OPTIONAL,
		periodicalReportingSupported-r14	PositioningModes						OPTIONAL,
		idleStateForMeasurements-r14
							ENUMERATED {	required	}							OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

WLAN-RequestCapabilities-r13 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

WLAN-Error-r13 ::= CHOICE {
	locationServerErrorCauses-r13		WLAN-LocationServerErrorCauses-r13,
	targetDeviceErrorCauses-r13			WLAN-TargetDeviceErrorCauses-r13,
	...
}

-- ASN1STOP
-- ASN1START

WLAN-LocationServerErrorCauses-r13 ::= SEQUENCE {
	cause-r13								ENUMERATED	{undefined,	
														...,
														requestedADNotAvailable-v1420,
														notAllrequestedADAvailable-v1420
														},
	...,
	[[	apLocationDataUnavailable-r14		NULL	OPTIONAL		-- Need ON
	]]
}

-- ASN1STOP
-- ASN1START

WLAN-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
	cause-r13								ENUMERATED {undefined,
														requestedMeasurementsNotAvailable,
														notAllrequestedMeasurementsPossible,
														...
														},
	wlan-AP-RSSI-MeasurementNotPossible-r13				NULL		OPTIONAL,
	wlan-AP-RTT-MeasurementNotPossible-r13				NULL		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

WLAN-ProvideAssistanceData-r14 ::= SEQUENCE {
	wlan-DataSet-r14	SEQUENCE (SIZE (1..maxWLAN-DataSets-r14)) OF WLAN-DataSet-r14
																			OPTIONAL,	-- Need ON
	wlan-Error-r14		WLAN-Error-r13										OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

WLAN-DataSet-r14 ::= SEQUENCE {
	wlan-AP-List-r14				SEQUENCE (SIZE (1..maxWLAN-AP-r14)) OF WLAN-AP-Data-r14,
	supportedChannels-11a-r14		SupportedChannels-11a-r14		OPTIONAL,	-- Need ON
	supportedChannels-11bg-r14		SupportedChannels-11bg-r14		OPTIONAL,	-- Need ON
	...
}

SupportedChannels-11a-r14 ::= SEQUENCE {
	ch34-r14		BOOLEAN,
	ch36-r14		BOOLEAN,
	ch38-r14		BOOLEAN,
	ch40-r14		BOOLEAN,
	ch42-r14		BOOLEAN,
	ch44-r14		BOOLEAN,
	ch46-r14		BOOLEAN,
	ch48-r14		BOOLEAN,
	ch52-r14		BOOLEAN,
	ch56-r14		BOOLEAN,
	ch60-r14		BOOLEAN,
	ch64-r14		BOOLEAN,
	ch149-r14		BOOLEAN,
	ch153-r14		BOOLEAN,
	ch157-r14		BOOLEAN,
	ch161-r14		BOOLEAN
}

SupportedChannels-11bg-r14 ::= SEQUENCE {
	ch1-r14			BOOLEAN,
	ch2-r14			BOOLEAN,
	ch3-r14			BOOLEAN,
	ch4-r14			BOOLEAN,
	ch5-r14			BOOLEAN,
	ch6-r14			BOOLEAN,
	ch7-r14			BOOLEAN,
	ch8-r14			BOOLEAN,
	ch9-r14			BOOLEAN,
	ch10-r14		BOOLEAN,
	ch11-r14		BOOLEAN,
	ch12-r14		BOOLEAN,
	ch13-r14		BOOLEAN,
	ch14-r14		BOOLEAN
}

-- ASN1STOP
-- ASN1START

WLAN-AP-Data-r14 ::= SEQUENCE {
	wlan-AP-Identifier-r14				WLAN-AP-Identifier-r13,
	wlan-AP-Location-r14				WLAN-AP-Location-r14		OPTIONAL,	-- Need ON
	...
}

WLAN-AP-Location-r14 ::= SEQUENCE {
	locationDataLCI-r14					LocationDataLCI-r14,
	...
}

LocationDataLCI-r14 ::= SEQUENCE {
	latitudeUncertainty-r14				BIT STRING (SIZE (6)),
	latitude-r14						BIT STRING (SIZE (34)),
	longitudeUncertainty-r14			BIT STRING (SIZE (6)),
	longitude-r14						BIT STRING (SIZE (34)),
	altitudeUncertainty-r14				BIT STRING (SIZE (6))		OPTIONAL,	-- Need ON
	altitude-r14						BIT STRING (SIZE (30))		OPTIONAL,	-- Need ON
	datum-r14							BIT STRING (SIZE (8)),
	...
}

-- ASN1STOP
-- ASN1START

WLAN-RequestAssistanceData-r14 ::= SEQUENCE {
	requestedAD-r14			BIT STRING {	ap-identifier		(0),
											ap-location			(1)}	(SIZE (1..8)),
	visibleAPs-r14			SEQUENCE (SIZE (1..maxVisibleAPs-r14)) OF WLAN-AP-Identifier-r13	OPTIONAL,
	wlan-AP-StoredData-r14	SEQUENCE (SIZE (1..maxKnownAPs-r14)) OF WLAN-AP-Identifier-r13	OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

BT-ProvideLocationInformation-r13 ::= SEQUENCE {
	bt-MeasurementInformation-r13		BT-MeasurementInformation-r13	OPTIONAL,
	bt-Error-r13						BT-Error-r13					OPTIONAL,
	...	
}

-- ASN1STOP
-- ASN1START

BT-MeasurementInformation-r13 ::= SEQUENCE {
	measurementReferenceTime-r13		UTCTime						OPTIONAL,
	bt-MeasurementList-r13				BT-MeasurementList-r13		OPTIONAL,
	...
}

BT-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxBT-Beacon-r13)) OF BT-MeasurementElement-r13


BT-MeasurementElement-r13 ::= SEQUENCE {
	btAddr-r13						BIT STRING (SIZE (48)),
	rssi-r13						INTEGER (-128..127)				OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

BT-RequestLocationInformation-r13 ::= SEQUENCE {
	requestedMeasurements-r13	BIT STRING {	
											rssi		(0)} (SIZE(1..8)),
	...
}

-- ASN1STOP
-- ASN1START

BT-ProvideCapabilities-r13 ::= SEQUENCE {
	bt-Modes-r13			BIT STRING {	standalone		(0),
											ue-assisted		(1)}	(SIZE (1..8)),
	bt-MeasSupported-r13	BIT STRING {	rssi-r13		(0)}	(SIZE (1..8)),
	...,
	[[
	idleStateForMeasurements-r14
							ENUMERATED {	required	}							OPTIONAL,
	periodicalReportingSupported-r14	
							PositioningModes										OPTIONAL
	]]
}

-- ASN1STOP
-- ASN1START

BT-RequestCapabilities-r13 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

BT-Error-r13 ::= CHOICE {
	locationServerErrorCauses-r13		BT-LocationServerErrorCauses-r13,
	targetDeviceErrorCauses-r13			BT-TargetDeviceErrorCauses-r13,
	...
}

-- ASN1STOP
-- ASN1START

BT-LocationServerErrorCauses-r13 ::= SEQUENCE {
	cause-r13								ENUMERATED	{undefined,	...},
	...
}

-- ASN1STOP
-- ASN1START

BT-TargetDeviceErrorCauses-r13 ::= SEQUENCE {
	cause-r13								ENUMERATED {undefined,
														requestedMeasurementsNotAvailable,
														notAllrequestedMeasurementsPossible,
														...
														},
	bt-Beacon-rssiMeasurementNotPossible-r13	NULL		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-UL-ProvideCapabilities-r16 ::= SEQUENCE {
	nr-UL-SRS-Capability-r16		NR-UL-SRS-Capability-r16,
	...
}

-- ASN1STOP
-- ASN1START

NR-UL-RequestCapabilities-r16 ::= SEQUENCE {
	...
}
-- ASN1STOP
-- ASN1START

NR-ECID-ProvideLocationInformation-r16 ::= SEQUENCE {
	nr-ECID-SignalMeasurementInformation-r16	NR-ECID-SignalMeasurementInformation-r16 OPTIONAL,
	nr-ECID-Error-r16							NR-ECID-Error-r16						 OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-ECID-SignalMeasurementInformation-r16 ::= SEQUENCE {
	nr-PrimaryCellMeasuredResults-r16	NR-MeasuredResultsElement-r16,
	nr-MeasuredResultsList-r16			NR-MeasuredResultsList-r16				OPTIONAL,
	...
}

NR-MeasuredResultsList-r16 ::= SEQUENCE (SIZE(1..32)) OF NR-MeasuredResultsElement-r16

NR-MeasuredResultsElement-r16 ::= SEQUENCE {
	nr-PhysCellID-r16				NR-PhysCellID-r16,
	nr-ARFCN-r16					CHOICE {
		ssb-ARFCN-r16					ARFCN-ValueNR-r15,
		csi-RS-pointA-r16				ARFCN-ValueNR-r15
	},
	nr-CellGlobalID-r16				NCGI-r15									OPTIONAL,
	systemFrameNumber-r16			BIT STRING (SIZE (10))						OPTIONAL,	resultsSSB-Cell-r16				MeasQuantityResults-r16						OPTIONAL,
	resultsCSI-RS-Cell-r16			MeasQuantityResults-r16						OPTIONAL,
	resultsSSB-Indexes-r16			ResultsPerSSB-IndexList-r16					OPTIONAL,
	resultsCSI-RS-Indexes-r16		ResultsPerCSI-RS-IndexList-r16				OPTIONAL,
	...
}

MeasQuantityResults-r16 ::= SEQUENCE {
	nr-RSRP-r16						INTEGER (0..127)							OPTIONAL,
	nr-RSRQ-r16						INTEGER (0..127)							OPTIONAL
}

ResultsPerSSB-IndexList-r16::= SEQUENCE (SIZE (1..64)) OF ResultsPerSSB-Index-r16

ResultsPerSSB-Index-r16 ::= SEQUENCE {
	ssb-Index-r16					INTEGER (0..63),
	ssb-Results-r16					MeasQuantityResults-r16
}

ResultsPerCSI-RS-IndexList-r16::= SEQUENCE (SIZE (1..64)) OF ResultsPerCSI-RS-Index-r16

ResultsPerCSI-RS-Index-r16 ::= SEQUENCE {
	csi-RS-Index-r16				INTEGER (0..95),
	csi-RS-Results-r16				MeasQuantityResults-r16
}

-- ASN1STOP
-- ASN1START

NR-ECID-RequestLocationInformation-r16 ::= SEQUENCE {
	requestedMeasurements-r16		BIT STRING {	ssrsrpReq		(0),
													ssrsrqReq		(1),
													csirsrpReq		(2),				
													csirsrqReq		(3)} (SIZE(1..8)),
	...
}

-- ASN1STOP
-- ASN1START

NR-ECID-ProvideCapabilities-r16 ::= SEQUENCE {
	nr-ECID-MeasSupported-r16		BIT STRING {	ssrsrpSup		(0),
													ssrsrqSup		(1),
													csirsrpSup		(2),
													csirsrqSup		(3)} (SIZE(1..8)),
	periodicalReporting-r16		ENUMERATED { supported }							OPTIONAL,
	triggeredReporting-r16		ENUMERATED { supported }							OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-ECID-RequestCapabilities-r16 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

NR-ECID-Error-r16 ::= CHOICE {
	locationServerErrorCauses-r16		NR-ECID-LocationServerErrorCauses-r16,
	targetDeviceErrorCauses-r16			NR-ECID-TargetDeviceErrorCauses-r16,
	...
}

-- ASN1STOP
-- ASN1START

NR-ECID-LocationServerErrorCauses-r16 ::= SEQUENCE {
	cause-r16		ENUMERATED	{	undefined,
									...
								},
	...
}

-- ASN1STOP
-- ASN1START

NR-ECID-TargetDeviceErrorCauses-r16 ::= SEQUENCE {
	cause-r16		ENUMERATED {	undefined,
									requestedMeasurementNotAvailable,
									notAllrequestedMeasurementsPossible,
									...
								},
	ss-RSRPMeasurementNotPossible-r16				NULL		OPTIONAL,
	ss-RSRQMeasurementNotPossible-r16				NULL		OPTIONAL,
	csi-RSRPMeasurementNotPossible-r16				NULL		OPTIONAL,
	csi-RSRQMeasurementNotPossible-r16				NULL		OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-ProvideAssistanceData-r16 ::= SEQUENCE {
	nr-DL-PRS-AssistanceData-r16		NR-DL-PRS-AssistanceData-r16		OPTIONAL,	-- Need ON
	nr-SelectedDL-PRS-IndexList-r16		NR-SelectedDL-PRS-IndexList-r16 	OPTIONAL,	-- Need ON
	nr-PositionCalculationAssistance-r16
										NR-PositionCalculationAssistance-r16
																			OPTIONAL, 	-- Cond UEB
	nr-DL-TDOA-Error-r16				NR-DL-TDOA-Error-r16				OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-RequestAssistanceData-r16 ::= SEQUENCE {
	nr-PhysCellID-r16				NR-PhysCellID-r16							OPTIONAL,
	nr-AdType-r16					BIT STRING {	dl-prs 	(0),
													posCalc (1) } (SIZE (1..8)),
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-ProvideLocationInformation-r16 ::= SEQUENCE {
	nr-DL-TDOA-SignalMeasurementInformation-r16	
											NR-DL-TDOA-SignalMeasurementInformation-r16
																			OPTIONAL,
	nr-dl-tdoa-LocationInformation-r16		NR-DL-TDOA-LocationInformation-r16
																			OPTIONAL,
	nr-DL-TDOA-Error-r16					NR-DL-TDOA-Error-r16			OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-SignalMeasurementInformation-r16 ::= SEQUENCE {
	dl-PRS-ReferenceInfo-r16		DL-PRS-ID-Info-r16,
	nr-DL-TDOA-MeasList-r16			NR-DL-TDOA-MeasList-r16,
	...
}

NR-DL-TDOA-MeasList-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF NR-DL-TDOA-MeasElement-r16

NR-DL-TDOA-MeasElement-r16 ::= SEQUENCE {
	dl-PRS-ID-r16					INTEGER (0..255),
	nr-PhysCellID-r16				NR-PhysCellID-r16								OPTIONAL,
	nr-CellGlobalID-r16				NCGI-r15										OPTIONAL,
	nr-ARFCN-r16					ARFCN-ValueNR-r15								OPTIONAL,
	nr-DL-PRS-ResourceID-r16		NR-DL-PRS-ResourceID-r16	 					OPTIONAL,
	nr-DL-PRS-ResourceSetID-r16		NR-DL-PRS-ResourceSetID-r16						OPTIONAL,
	nr-TimeStamp-r16				NR-TimeStamp-r16,
	nr-RSTD-r16						CHOICE {
			k0-r16						INTEGER (0..1970049),
			k1-r16						INTEGER (0..985025),
			k2-r16						INTEGER (0..492513),
			k3-r16						INTEGER (0..246257),
			k4-r16						INTEGER (0..123129),
			k5-r16						INTEGER (0..61565),
			...
	},
	nr-AdditionalPathList-r16		NR-AdditionalPathList-r16						OPTIONAL,
	nr-TimingQuality-r16			NR-TimingQuality-r16,
	nr-DL-PRS-RSRP-Result-r16		INTEGER (0..126)								OPTIONAL,
	nr-DL-TDOA-AdditionalMeasurements-r16
									NR-DL-TDOA-AdditionalMeasurements-r16			OPTIONAL,
	...
}

NR-DL-TDOA-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..3)) OF
													NR-DL-TDOA-AdditionalMeasurementElement-r16

NR-DL-TDOA-AdditionalMeasurementElement-r16 ::= SEQUENCE {
	nr-DL-PRS-ResourceID-r16		NR-DL-PRS-ResourceID-r16	 					OPTIONAL,
	nr-DL-PRS-ResourceSetID-r16		NR-DL-PRS-ResourceSetID-r16 					OPTIONAL,
	nr-TimeStamp-r16				NR-TimeStamp-r16,
	nr-RSTD-ResultDiff-r16			CHOICE {
			k0-r16						INTEGER (0..8191),
			k1-r16						INTEGER (0..4095),
			k2-r16						INTEGER (0..2047),
			k3-r16						INTEGER (0..1023),
			k4-r16						INTEGER (0..511),
			k5-r16						INTEGER (0..255),
			...
	},
	nr-TimingQuality-r16			NR-TimingQuality-r16,
	nr-DL-PRS-RSRP-ResultDiff-r16	INTEGER (0..61)									OPTIONAL,
	nr-AdditionalPathList-r16		NR-AdditionalPathList-r16						OPTIONAL,
...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-LocationInformation-r16 ::= SEQUENCE {
	measurementReferenceTime-r16	CHOICE {
			systemFrameNumber-r16			NR-TimeStamp-r16,
			utc-time-r16					UTCTime,
			...
			}															OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-RequestLocationInformation-r16 ::= SEQUENCE {
	nr-DL-PRS-RstdMeasurementInfoRequest-r16	ENUMERATED { true }				OPTIONAL,-- Need ON
	nr-RequestedMeasurements-r16				BIT STRING { prsrsrpReq (0) } (SIZE(1..8)),
	nr-AssistanceAvailability-r16				BOOLEAN,
	nr-DL-TDOA-ReportConfig-r16					NR-DL-TDOA-ReportConfig-r16		OPTIONAL, -- Need ON
	additionalPaths-r16							ENUMERATED { requested }		OPTIONAL, -- Need ON
	...
}

NR-DL-TDOA-ReportConfig-r16 ::= SEQUENCE {
	maxDL-PRS-RSTD-MeasurementsPerTRPPair-r16	INTEGER (1..4)					OPTIONAL, -- Need ON
	timingReportingGranularityFactor-r16 		INTEGER (0..5)					OPTIONAL, -- Need ON
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-ProvideCapabilities-r16 ::= SEQUENCE {
	nr-DL-TDOA-Mode-r16						PositioningModes,
	nr-DL-TDOA-PRS-Capability-r16			NR-DL-PRS-ResourcesCapability-r16,
	nr-DL-TDOA-MeasurementCapability-r16	NR-DL-TDOA-MeasurementCapability-r16,
	nr-DL-PRS-QCL-ProcessingCapability-r16	NR-DL-PRS-QCL-ProcessingCapability-r16,
	nr-DL-PRS-ProcessingCapability-r16		NR-DL-PRS-ProcessingCapability-r16,
	additionalPathsReport-r16				ENUMERATED { supported }					OPTIONAL,
	periodicalReporting-r16					PositioningModes							OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-MeasurementCapability-r16 ::= SEQUENCE {
	dl-RSTD-MeasurementPerPairOfTRP-FR1-r16			INTEGER (1..4),
	dl-RSTD-MeasurementPerPairOfTRP-FR2-r16			INTEGER (1..4),
	supportOfDL-PRS-RSRP-MeasFR1-r16				ENUMERATED { supported}	OPTIONAL,
	supportOfDL-PRS-RSRP-MeasFR2-r16				ENUMERATED { supported}	OPTIONAL,
	...
}
-- ASN1STOP
-- ASN1START

NR-DL-TDOA-RequestCapabilities-r16 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-Error-r16 ::= CHOICE {
	locationServerErrorCauses-r16		NR-DL-TDOA-LocationServerErrorCauses-r16,
	targetDeviceErrorCauses-r16			NR-DL-TDOA-TargetDeviceErrorCauses-r16,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-LocationServerErrorCauses-r16 ::= SEQUENCE {
	cause-r16		ENUMERATED	{	undefined,
									assistanceDataNotSupportedByServer,
									assistanceDataSupportedButCurrentlyNotAvailableByServer,
									notProvidedAssistanceDataNotSupportedByServer,
									...
								},
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-TDOA-TargetDeviceErrorCauses-r16 ::= SEQUENCE {
	cause-r16		ENUMERATED {	undefined,
									assistance-data-missing,
									unableToMeasureAnyTRP,
									attemptedButUnableToMeasureSomeNeighbourTRPs,
									thereWereNotEnoughSignalsReceivedForUeBasedDL-TDOA,
									locationCalculationAssistanceDataMissing,
									...
								},
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-ProvideAssistanceData-r16 ::= SEQUENCE {
	nr-DL-PRS-AssistanceData-r16		NR-DL-PRS-AssistanceData-r16		OPTIONAL,	-- Need ON
	nr-SelectedDL-PRS-IndexList-r16		NR-SelectedDL-PRS-IndexList-r16		OPTIONAL,	-- Need ON
	nr-PositionCalculationAssistance-r16
										NR-PositionCalculationAssistance-r16
																			OPTIONAL, -- Cond UEB
	nr-DL-AoD-Error-r16					NR-DL-AoD-Error-r16					OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-RequestAssistanceData-r16 ::= SEQUENCE {
	nr-PhysCellID-r16				NR-PhysCellID-r16						OPTIONAL,
	nr-AdType-r16					BIT STRING { 	dl-prs 	(0),
													posCalc (1) } (SIZE (1..8)),
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-ProvideLocationInformation-r16 ::= SEQUENCE {
	nr-DL-AoD-SignalMeasurementInformation-r16
											NR-DL-AoD-SignalMeasurementInformation-r16
																			OPTIONAL,
	nr-dl-AoD-LocationInformation-r16		NR-DL-AoD-LocationInformation-r16
																			OPTIONAL,
	nr-DL-AoD-Error-r16						NR-DL-AoD-Error-r16				OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-SignalMeasurementInformation-r16 ::= SEQUENCE {
	nr-DL-AoD-MeasList-r16			NR-DL-AoD-MeasList-r16,
	...
}

NR-DL-AoD-MeasList-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF NR-DL-AoD-MeasElement-r16

NR-DL-AoD-MeasElement-r16 ::= SEQUENCE {
	dl-PRS-ID-r16					INTEGER (0..255),
	nr-PhysCellID-r16				NR-PhysCellID-r16						OPTIONAL,
	nr-CellGlobalID-r16				NCGI-r15								OPTIONAL,
	nr-ARFCN-r16					ARFCN-ValueNR-r15						OPTIONAL,
	nr-DL-PRS-ResourceID-r16		NR-DL-PRS-ResourceID-r16	 			OPTIONAL,
	nr-DL-PRS-ResourceSetID-r16		NR-DL-PRS-ResourceSetID-r16 			OPTIONAL,
	nr-TimeStamp-r16				NR-TimeStamp-r16,
	nr-DL-PRS-RSRP-Result-r16		INTEGER (0..126),
	nr-DL-PRS-RxBeamIndex-r16		INTEGER (1..8)							OPTIONAL,
	nr-DL-AoD-AdditionalMeasurements-r16
									NR-DL-AoD-AdditionalMeasurements-r16	OPTIONAL,
	...
}

NR-DL-AoD-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..7)) OF
													NR-DL-AoD-AdditionalMeasurementElement-r16

NR-DL-AoD-AdditionalMeasurementElement-r16 ::= SEQUENCE {
	nr-DL-PRS-ResourceID-r16		NR-DL-PRS-ResourceID-r16	 			OPTIONAL,
	nr-DL-PRS-ResourceSetID-r16		NR-DL-PRS-ResourceSetID-r16 			OPTIONAL,
	nr-TimeStamp-r16				NR-TimeStamp-r16,
	nr-DL-PRS-RSRP-ResultDiff-r16	INTEGER (0..30),
	nr-DL-PRS-RxBeamIndex-r16		INTEGER (1..8)							OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-LocationInformation-r16 ::= SEQUENCE {
	measurementReferenceTime-r16	CHOICE {
			sfn-time-r16					NR-TimeStamp-r16,
			utc-time-r16					UTCTime,
			...
			}															OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-RequestLocationInformation-r16 ::= SEQUENCE {
	nr-AssistanceAvailability-r16				BOOLEAN,
	nr-DL-AoD-ReportConfig-r16					NR-DL-AoD-ReportConfig-r16,
	...
}

NR-DL-AoD-ReportConfig-r16 ::= SEQUENCE {
	maxDL-PRS-RSRP-MeasurementsPerTRP-r16		INTEGER (1..8)			OPTIONAL, -- Need ON
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-ProvideCapabilities-r16 ::= SEQUENCE {
	nr-DL-AoD-Mode-r16						PositioningModes,
	nr-DL-AoD-PRS-Capability-r16			NR-DL-PRS-ResourcesCapability-r16,
	nr-DL-AoD-MeasurementCapability-r16		NR-DL-AoD-MeasurementCapability-r16,
	nr-DL-PRS-QCL-ProcessingCapability-r16	NR-DL-PRS-QCL-ProcessingCapability-r16,
	nr-DL-PRS-ProcessingCapability-r16		NR-DL-PRS-ProcessingCapability-r16,
	periodicalReporting-r16					PositioningModes						OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-MeasurementCapability-r16 ::= SEQUENCE {
	maxDL-PRS-RSRP-MeasurementFR1-r16		INTEGER (1..8),
	maxDL-PRS-RSRP-MeasurementFR2-r16		INTEGER (1..8),
	dl-AoD-MeasCapabilityBandList-r16		SEQUENCE (SIZE (1..nrMaxBands-r16)) OF
													DL-AoD-MeasCapabilityPerBand-r16,
	...
}

DL-AoD-MeasCapabilityPerBand-r16 ::= SEQUENCE {
	freqBandIndicatorNR-r16				FreqBandIndicatorNR-r16,
	simul-NR-DL-AoD-DL-TDOA-r16			ENUMERATED { supported}	OPTIONAL,
	simul-NR-DL-AoD-Multi-RTT-r16		ENUMERATED { supported}	OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-RequestCapabilities-r16 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-Error-r16 ::= CHOICE {
	locationServerErrorCauses-r16		NR-DL-AoD-LocationServerErrorCauses-r16,
	targetDeviceErrorCauses-r16			NR-DL-AoD-TargetDeviceErrorCauses-r16,
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-LocationServerErrorCauses-r16 ::= SEQUENCE {
	cause-r16		ENUMERATED	{	undefined,
									assistanceDataNotSupportedByServer,
									assistanceDataSupportedButCurrentlyNotAvailableByServer,
									notProvidedAssistanceDataNotSupportedByServer,
									...
								},
	...
}

-- ASN1STOP
-- ASN1START

NR-DL-AoD-TargetDeviceErrorCauses-r16 ::= SEQUENCE {
	cause-r16		ENUMERATED {	undefined,
									assistance-data-missing,
									unableToMeasureAnyTRP,
									attemptedButUnableToMeasureSomeNeighbourTRPs,
									thereWereNotEnoughSignalsReceivedForUeBasedDL-AoD,
									locationCalculationAssistanceDataMissing,
									...
								},
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-ProvideAssistanceData-r16 ::= SEQUENCE {
	nr-DL-PRS-AssistanceData-r16			NR-DL-PRS-AssistanceData-r16	OPTIONAL,	-- Need ON
	nr-SelectedDL-PRS-IndexList-r16			NR-SelectedDL-PRS-IndexList-r16 OPTIONAL,	-- Need ON
	nr-Multi-RTT-Error-r16					NR-Multi-RTT-Error-r16			OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-RequestAssistanceData-r16 ::= SEQUENCE {
	nr-PhysCellID-r16				NR-PhysCellID-r16						OPTIONAL,
	nr-AdType-r16					BIT STRING { 	dl-prs (0),
													ul-srs (1) } (SIZE (1..8)),
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-ProvideLocationInformation-r16 ::= SEQUENCE {
	nr-Multi-RTT-SignalMeasurementInformation-r16
											NR-Multi-RTT-SignalMeasurementInformation-r16
																					OPTIONAL,
	nr-Multi-RTT-Error-r16					NR-Multi-RTT-Error-r16					OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-SignalMeasurementInformation-r16 ::= SEQUENCE {
	nr-Multi-RTT-MeasList-r16		NR-Multi-RTT-MeasList-r16,
	nr-NTA-Offset-r16				ENUMERATED { nTA1, nTA2, nTA3, nTA4, ... }		OPTIONAL,
	...
}

NR-Multi-RTT-MeasList-r16 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF NR-Multi-RTT-MeasElement-r16

NR-Multi-RTT-MeasElement-r16 ::= SEQUENCE {
	dl-PRS-ID-r16					INTEGER (0..255),
	nr-PhysCellID-r16				NR-PhysCellID-r16								OPTIONAL,
	nr-CellGlobalID-r16				NCGI-r15										OPTIONAL,
	nr-ARFCN-r16					ARFCN-ValueNR-r15								OPTIONAL,
	nr-DL-PRS-ResourceID-r16		NR-DL-PRS-ResourceID-r16						OPTIONAL,
	nr-DL-PRS-ResourceSetID-r16		NR-DL-PRS-ResourceSetID-r16 					OPTIONAL,
	nr-UE-RxTxTimeDiff-r16			CHOICE {
			k0-r16						INTEGER (0..1970049),
			k1-r16						INTEGER (0..985025),
			k2-r16						INTEGER (0..492513),
			k3-r16						INTEGER (0..246257),
			k4-r16						INTEGER (0..123129),
			k5-r16						INTEGER (0..61565),
			...
	},
	nr-AdditionalPathList-r16		NR-AdditionalPathList-r16						OPTIONAL,
	nr-TimeStamp-r16				NR-TimeStamp-r16,
	nr-TimingQuality-r16			NR-TimingQuality-r16,
	nr-DL-PRS-RSRP-Result-r16		INTEGER (0..126)								OPTIONAL,
	nr-Multi-RTT-AdditionalMeasurements-r16
									NR-Multi-RTT-AdditionalMeasurements-r16			OPTIONAL,
	...
}

NR-Multi-RTT-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..3)) OF
									NR-Multi-RTT-AdditionalMeasurementElement-r16

NR-Multi-RTT-AdditionalMeasurementElement-r16 ::= SEQUENCE {
	nr-DL-PRS-ResourceID-r16			NR-DL-PRS-ResourceID-r16					OPTIONAL,
	nr-DL-PRS-ResourceSetID-r16			NR-DL-PRS-ResourceSetID-r16 				OPTIONAL,
	nr-DL-PRS-RSRP-ResultDiff-r16		INTEGER (0..61)								OPTIONAL,
	nr-UE-RxTxTimeDiffAdditional-r16	CHOICE {
			k0-r16							INTEGER (0..8191),
			k1-r16							INTEGER (0..4095),
			k2-r16							INTEGER (0..2047),
			k3-r16							INTEGER (0..1023),
			k4-r16							INTEGER (0..511),
			k5-r16							INTEGER (0..255),
			...
	},
	nr-TimingQuality-r16				NR-TimingQuality-r16,
	nr-AdditionalPathList-r16			NR-AdditionalPathList-r16					OPTIONAL,
	nr-TimeStamp-r16					NR-TimeStamp-r16,
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-RequestLocationInformation-r16 ::= SEQUENCE {
	nr-UE-RxTxTimeDiffMeasurementInfoRequest-r16
										ENUMERATED { true }					OPTIONAL, -- Need ON
	nr-RequestedMeasurements-r16		BIT STRING { prsrsrpReq(0)} (SIZE(1..8)),
	nr-AssistanceAvailability-r16		BOOLEAN,
	nr-Multi-RTT-ReportConfig-r16		NR-Multi-RTT-ReportConfig-r16,
	additionalPaths-r16					ENUMERATED { requested }			OPTIONAL, -- Need ON
	...
}

NR-Multi-RTT-ReportConfig-r16 ::= SEQUENCE {
	maxDL-PRS-RxTxTimeDiffMeasPerTRP-r16 	INTEGER (1..4)					OPTIONAL, -- Need ON
	timingReportingGranularityFactor-r16 	INTEGER (0..5)					OPTIONAL	-- Need ON
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-ProvideCapabilities-r16 ::= SEQUENCE {
	nr-Multi-RTT-PRS-Capability-r16			NR-DL-PRS-ResourcesCapability-r16,
	nr-Multi-RTT-MeasurementCapability-r16	NR-Multi-RTT-MeasurementCapability-r16,
	nr-DL-PRS-QCL-ProcessingCapability-r16	NR-DL-PRS-QCL-ProcessingCapability-r16,
	nr-DL-PRS-ProcessingCapability-r16		NR-DL-PRS-ProcessingCapability-r16,
	nr-UL-SRS-Capability-r16				NR-UL-SRS-Capability-r16,
	additionalPathsReport-r16				ENUMERATED { supported }					OPTIONAL,
	periodicalReporting-r16					ENUMERATED { supported }					OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-MeasurementCapability-r16 ::= SEQUENCE {
	maxNrOfRx-TX-MeasFR1-r16					INTEGER (1..4)	OPTIONAL,
	maxNrOfRx-TX-MeasFR2-r16					INTEGER (1..4)	OPTIONAL,
	supportOfRSRP-MeasFR1-r16					ENUMERATED { supported}	OPTIONAL,
	supportOfRSRP-MeasFR2-r16					ENUMERATED { supported}	OPTIONAL,
	srs-AssocPRS-MultiLayersFR1-r16				ENUMERATED { supported}	OPTIONAL,
	srs-AssocPRS-MultiLayersFR2-r16				ENUMERATED { supported}	OPTIONAL,
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-RequestCapabilities-r16 ::= SEQUENCE {
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-Error-r16 ::= CHOICE {
	locationServerErrorCauses-r16		NR-Multi-RTT-LocationServerErrorCauses-r16,
	targetDeviceErrorCauses-r16			NR-Multi-RTT-TargetDeviceErrorCauses-r16,
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-LocationServerErrorCauses-r16 ::= SEQUENCE {
	cause-r16		ENUMERATED	{	undefined,
									assistanceDataNotSupportedByServer,
									assistanceDataSupportedButCurrentlyNotAvailableByServer,
									...
								},
	...
}

-- ASN1STOP
-- ASN1START

NR-Multi-RTT-TargetDeviceErrorCauses-r16 ::= SEQUENCE {
	cause-r16		ENUMERATED {	undefined,
									dl-assistance-data-missing,
									unableToMeasureAnyTRP,
									attemptedButUnableToMeasureSomeNeighbourTRPs,
									ul-srs-configuration-missing,
									unableToTransmit-ul-srs,
									...
								},
	...
}

-- ASN1STOP
-- ASN1START

maxEARFCN					INTEGER ::= 65535	-- Maximum value of EUTRA carrier frequency
maxEARFCN-Plus1				INTEGER ::= 65536	-- Lowest value extended EARFCN range
maxEARFCN2					INTEGER ::= 262143	-- Highest value extended EARFCN range

maxMBS-r14					INTEGER ::= 64
maxWLAN-AP-r13				INTEGER ::= 64
maxKnownAPs-r14				INTEGER ::= 2048
maxVisibleAPs-r14			INTEGER ::= 32
maxWLAN-AP-r14				INTEGER ::= 128
maxWLAN-DataSets-r14		INTEGER ::= 8

maxBT-Beacon-r13			INTEGER ::= 32

nrMaxBands-r16							INTEGER ::= 1024	-- Maximum number of supported bands in
															-- UE capability.
nrMaxFreqLayers-r16						INTEGER ::= 4		-- Max freq layers
nrMaxFreqLayers-1-r16					INTEGER ::= 3
nrMaxNumDL-PRS-ResourcesPerSet-1-r16 	INTEGER ::= 63
nrMaxNumDL-PRS-ResourceSetsPerTRP-1-r16	INTEGER ::= 7
nrMaxResourceIDs-r16					INTEGER ::= 64		-- Max Resource IDs
nrMaxResourceOffsetValue-1-r16 			INTEGER ::= 511
nrMaxResourcesPerSet-r16				INTEGER ::= 64		-- Maximum resources for one set
nrMaxSetsPerTrpPerFreqLayer-r16			INTEGER ::= 2		-- Maximum resource sets for one TRP
nrMaxSetsPerTrpPerFreqLayer-1-r16		INTEGER ::= 1
nrMaxTRPs-r16							INTEGER ::= 256		-- Max TRPs per UE
nrMaxTRPsPerFreq-r16					INTEGER ::= 64		-- Max TRPs per freq layers
nrMaxTRPsPerFreq-1-r16					INTEGER ::= 63
maxSimultaneousBands-r16				INTEGER ::= 4		-- Maximum number of simultaneously
															-- measured bands
maxBandComb-r16							INTEGER ::= 1024
nrMaxConfiguredBands-r16				INTEGER ::= 16

-- ASN1STOP
-- ASN1START

END

-- ASN1STOP
-- ASN1START

LPP-Broadcast-Definitions

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
	OTDOA-ReferenceCellInfo,
	OTDOA-NeighbourCellInfoList,
	NR-TRP-LocationInfo-r16,
	NR-DL-PRS-BeamInfo-r16,
	NR-RTD-Info-r16	
FROM LPP-PDU-Definitions;

-- ASN1STOP
-- ASN1START

AssistanceDataSIBelement-r15 ::= SEQUENCE {
	valueTag-r15						INTEGER (0..63)					OPTIONAL, -- Need OP
	expirationTime-r15					UTCTime							OPTIONAL, -- Need OP
	cipheringKeyData-r15				CipheringKeyData-r15 			OPTIONAL, -- Need OP
	segmentationInfo-r15				SegmentationInfo-r15			OPTIONAL, -- Need OP
	assistanceDataElement-r15			OCTET STRING,
	...
}

CipheringKeyData-r15 ::= SEQUENCE {
	cipherSetID-r15 					INTEGER (0..65535),
	d0-r15 								BIT STRING (SIZE (1..128)),
	...
}

SegmentationInfo-r15 ::= SEQUENCE {
	segmentationOption-r15				ENUMERATED {pseudo-seg, octet-string-seg},
	assistanceDataSegmentType-r15		ENUMERATED {notLastSegment, lastSegment},
	assistanceDataSegmentNumber-r15		INTEGER (0..63),
	...
}

-- ASN1STOP
-- ASN1START

OTDOA-UE-Assisted-r15 ::= SEQUENCE {
	otdoa-ReferenceCellInfo-r15			OTDOA-ReferenceCellInfo,
	otdoa-NeighbourCellInfo-r15			OTDOA-NeighbourCellInfoList,
	...
}

-- ASN1STOP
-- ASN1START

NR-UEB-TRP-LocationData-r16 ::= SEQUENCE {
	nr-trp-LocationInfo-r16 			NR-TRP-LocationInfo-r16,
	nr-dl-prs-BeamInfo-r16				NR-DL-PRS-BeamInfo-r16			OPTIONAL,	-- Need ON
	...
}

-- ASN1STOP
-- ASN1START

NR-UEB-TRP-RTD-Info-r16 ::= SEQUENCE {
	nr-rtd-Info-r16						NR-RTD-Info-r16,
	...
}

-- ASN1STOP
-- ASN1START

END

-- ASN1STOP
