




Contents
Foreword	5
1	Scope	6
1.1	References	6
1.2	Abbreviations	7
2	Functionality of Protocol	7
2.1	General	7
2.2	Position Measurement Procedure	8
2.3	Assistance Data Delivery Procedure	9
2.3a	Positioning Capability Transfer Procedure	10
2.4	(void)	10
2.5	Error Handling Procedures	10
2.5.1	General	10
2.5.1a	Message Too Short	10
2.5.2	Unknown Reference Number	11
2.5.3	Missing Information Element or Component Element	11
2.5.4	Incorrect Data	11
2.5.5	Repeated Component	11
2.5.6	(void)	12
2.5.7	Missing Component	12
2.5.8	Unforeseen Component	12
2.5.8a	 RRLP Procedure	12
2.5.9	 Pseudo-Segmentation	13
3	Message Structure	13
3.1	General Format of RRLP Message	13
3.2	Reference Number IE	14
3.3	Component IE	15
4	Components	15
4.1	Measure Position Request	16
4.2	Measure Position Response	16
4.3	Assistance Data	16
4.4	Assistance Data Acknowledgement	17
4.5	Protocol Error	17
4.6	Positioning Capability Request	17
4.7	Positioning Capability Response	18
5	Elements of Components	18
5.1	ASN.1 Description	18
6	TOM Protocol Header for RRLP Transport	54
6.1	General	54
6.2	Remaining Octets of TOM Protocol Header for RRLP	54
Annex A (informative):	Description of Components	56
A.1	Introduction	56
A.2	Measure Position Request	56
A.2.1	General	56
A.2.2	Elements	56
A.2.2.1	Positioning Instructions Element	56
A.2.2.1a	GANSS Positioning Method Element	58
A.2.2.2	E-OTD Reference BTS for Assistance Data Element	58
A.2.2.3	E-OTD Measurement Assistance Data Element	59
A.2.2.4	E-OTD Measurement Assistance Data for System Information List Element	61
A.2.2.4a	GPS Time Assistance Measurement Request element	63
A.2.2.4b 	GPS Reference Time Uncertainty element	64
A.2.2.4c	Velocity Request element	64
A.2.2.4d	GANSS Carrier-Phase Measurement Request Element	64
A.2.2.4e	GANSS TOD - GSM Time Association Request Element	64
A.2.2.4f	Required Response Time	64
A.2.2.4g	GANSS Multi-frequency Measurement Request Element	64
A.2.2.5	Extended Reference IE	65
A.3	Measure Position Response	65
A.3.1	General	65
A.3.2	Elements	66
A.3.2.1	Multiple Sets Element	66
A.3.2.2	Reference BTS Identity Element	66
A.3.2.3	E-OTD Measurement Information Element	67
A.3.2.3a	E-OTD Measurement Extended Information Element	71
A.3.2.4	Location Information Element	72
A.3.2.5	GPS Measurement Information Element	73
A.3.2.6	Location Information Error Element	77
A.3.2.6a	GPS Time Assistance Measurements Element	77
A.3.2.6b	Velocity Estimate Element	78
A.3.2.7	Extended Reference IE	79
A.3.2.8	Uplink RRLP Pseudo Segmentation Indication	79
A.3.2.9	GANSS Location Information Element	79
A.3.2.10	GANSS Measurement Information Element	82
A.3.2.10.1	GANSS Generic Measurement Information Element	85
A.4	Assistance Data	88
A.4.1	General	88
A.4.2	Elements	89
A.4.2.1	E-OTD Reference BTS for Assistance Data Element	89
A.4.2.2	E-OTD Measurement Assistance Data Element	89
A.4.2.3	E-OTD Measurement Assistance Data for System Information List Element	89
A.4.2.4	GPS Assistance Data Element	89
A.4.2.4a	GPS Time Assistance Measurement Request Element	101
A.4.2.4b	GPS Reference Time Uncertainty Element	101
A.4.2.4c	Additional GPS Assistance Data	101
A.4.2.5	More Assistance Data To Be Sent Element	111
A.4.2.5	More Assistance Data To Be Sent Element	111
A.4.2.6	GANSS Assistance Data	111
A.4.2.6.1	GANSS Common Assistance Data	112
A.4.2.6.2	GANSS Generic Assistance Data	115
A.4.2.7	GANSS Carrier-Phase Measurement Request Element	150
A.4.2.8	GANSS TOD - GSM Time Association Request Element	151
A.5	Assistance Data Acknowledgement	151
A.5.1	General	151
A.6	Protocol Error	151
A.6.1	General	151
A.6.2	Extended Reference IE	151
A.7	Positioning Capability Request	151
A.7.1	General	151
A.8	Positioning Capability Response	152
A.8.1	General	152
A.8.2	Elements	152
A.8.2.1	Positioning Capabilities	152
A.8.2.2	Assistance Data Supported	154
A.8.2.3	Assistance Data Needed	156
Annex B (informative):	Change History	157

Foreword
This Technical Specification has been produced by the 3rd Generation Partnership Project (3GPP).
The contents of the present document are subject to continuing work within the TSG and may change following formal TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an identifying change of release date and an increase in version number as follows:
Version x.y.z
where:
x	the first digit:
1	presented to TSG for information;
2	presented to TSG for approval;
3	or greater indicates TSG approved document under change control.
y	the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections, updates, etc.
z	the third digit is incremented when editorial only changes have been incorporated in the document.
1	Scope
The present document contains the definition of the Radio Resource LCS Protocol (RRLP) to be used between the Mobile Station (MS) and the Serving Mobile Location Centre (SMLC).
Clause 2 defines the functionality of the protocol. Clause 3 describes the message structure, and Clause 4 the structure of components. Clause 5 contains the ASN.1 description of the components.
1.1	References
The following documents contain provisions which, through reference in this text, constitute provisions of the present document.
-	References are either specific (identified by date of publication, edition number, version number, etc.) or non‑specific.
-	For a specific reference, subsequent revisions do not apply.
-	For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same Release as the present document.
[1]	3GPP TR 21.905: "Vocabulary for 3GPP Specifications".
[2]	3GPP TS 43.059: "Functional Stage 2 Description of Location Services in GERAN".
[3]	3GPP TS 29.002: "Mobile Application Part (MAP) specification".
[4]	ITU-T Recommendation X.691: "Information technology - ASN.1 encoding rules: Specification of Packed Encoding Rules (PER)".
[5]	ITU-T Recommendation X.680: "Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation".
[6]	3GPP TS 23.032: "Universal Geographical Area Description (GAD)".
[7]	3GPP TS 49.031: "Location Services (LCS); Base Station System Application Part LCS Extension (BSSAP-LE)".
[8]	ICD-GPS-200, Navstar GPS Space Segment/Navigation User Interfaces.
[9]	RTCM-SC104, RTCM Recommended Standards for Differential GNSS Service (v.2.2).
[10]	3GPP TS 44.064: "General Packet Radio Service (GPRS); Mobile Station - Serving GPRS Support Node (MS-SGSN); Logical Link Control (LLC) layer specification".
[11]	Galileo OS Signal in Space ICD (OS SIS ICD), Issue 1.12, September February 20104, European Union.
[12]	IS-GPS-200, Revision D, Navstar GPS Space Segment/Navigation User Interfaces, March 7th, 2006. 
[13]	IS-GPS-705, Navstar GPS Space Segment/User Segment L5 Interfaces, September 22, 2005.
[14]	IS-GPS-800, Navstar GPS Space Segment/User Segment L1C Interfaces, March 31, 2008.
[15]	Specification for the Wide Area Augmentation System (WAAS), US Department of Transportation, Federal Aviation Administration, DTFA01-96-C-00025, 2001.
[16]	IS-QZSS, Quasi Zenith Satellite System Navigation Service Interface Specifications for QZSS, Ver.1.0, June 17, 2008.
[17]	Global Navigation Satellite System GLONASS Interface Control Document, Version 5, 2002.
[18]	BDS-SIS-ICD-2.0: "BeiDou Navigation Satellite System Signal In Space Interface Control Document Open Service Signal (Version 2.0)", December 2013.
1.2	Abbreviations
For the purposes of the present document, the following abbreviations and the abbreviations given in 3GPP TR 21.905 or in 3GPP TS 43.059 apply. 
ADR	Accumulated Delta-Range 
BDS	BeiDou Navigation Satellite System
CNAV	Civil Navigation
ECEF	Earth-Centered, Earth-Fixed
ECI	Earth-Centered-Inertial
EGNOS	European Geostationary Navigation Overlay Service
FEC	Forward Error Correction
GAGAN	GPS Aided Geo Augmented Navigation
ICD	Interface Control Document
GANSS	Galileo and Additional Navigation Satellite Systems
GLONASS	GLObal'naya NAvigatsionnaya Sputnikovaya Sistema (Engl.: Global Navigation Satellite System)
GNSS	Global Navigation Satellite System
IOD	Issue of Data
LSB	Least Significant Bit
MSAS	Multi-functional Satellite Augmentation System
MSB	Most Significant Bit
msd	mean solar day
NAV	Navigation
NICT	National Institute of Information and Communications Technology
NTSC	National Time Service Center
PZ-90	Parametry Zemli 1990 Goda – Parameters of the Earth Year 1990
QZSS	Quasi-Zenith Satellite System
SBAS	Space Based Augmentation System
SV	Space Vehicle
USNO	US Naval Observatory
WAAS	Wide Area Augmentation System
WGS-84	World Geodetic System 1984
2	Functionality of Protocol
2.1	General
The present document defines one generic RRLP message that is used to transfer Location Services (LCS) related information between the Mobile Station (MS) and the Serving Mobile Location Centre (SMLC). Usage of the RRLP protocol on a general level is described in 3GPP TS 43.059 that includes Stage 2 description of LCS.
One message includes one of the following components:
-	Measure Position Request;
-	Measure Position Response;
-	Assistance Data;
-	Assistance Data Acknowledgement;
-	Protocol Error;
-	Positioning Capability Request;
-	Positioning Capability Response.
Next sub-clauses describe the usage of these components.
Delivery of components may be supported in the RRLP level using pseudo-segmentation by sending several shorter messages instead of one long message. Any assistance data that is successfully delivered to an MS and acknowledged prior to the interruption of the positioning procedure by an event like handover, or by any other event that causes an MS to terminate the positioning procedure or delivery of assistance data (see 3GPP TS 43.059), shall be retained by the MS and need not be resent by the SMLC when positioning or delivery of assistance data is again re-attempted.
The RRLP maximum PDU size is 242 octets. If the amount of data that needs to be sent is larger than RRLP maximum PDU size, the RRLP pseudo-segmentation shall be used. The RRLP pseudo-segmentation is the use of several RRLP components (one in each RRLP message) to deliver a large amount of information. For SMLC to MS messages, the Assistance Data component is the one that is sent several times in order to deliver the information. For MS to SMLC messages, the Measure Position Response component may be sent twice in order to deliver the information. Legacy MS and SMLC (3GPP Rel-4 or older) may send RRLP components that are larger than the RRLP maximum PDU size. In this case lower level segmentation will be used.
2.2	Position Measurement Procedure
The purpose of this procedure is to enable the SMLC to request for position measurement data or location estimate from the MS, and the MS to respond to the request with measurements or location estimate.

Figure 2.1: Position Measurement procedure
1.	The Measure Position Request component and any Assistance Data Delivery Procedure may be preceded by a Positioning Capability Transfer procedure (see sub-clause 2.3a) to transfer the MS positioning capabilities to the SMLC.
2.	The Measure Position Request component may be preceded by an Assistance Data Delivery Procedure (see sub-clause 2.3) to deliver some or all of the entire set of assistance data that is needed by the subsequent positioning procedure (steps 3-5).
3.	The SMLC sends the Measure Position Request component in a RRLP message to the MS. The component includes QoS, other instructions, and possible assistance data to the MS. The RRLP message contains a reference number and an extended reference ID of the request.
4.	The MS sends a RRLP message containing the Protocol Error component to the SMLC, if there is a problem that prevents the MS to receive a complete and understandable Measure Position Request component. The RRLP message contains the reference number and, if available, the extended reference ID included in the Measure Position Request received incomplete. The Protocol Error component includes a more specific reason. When the SMLC receives the Protocol Error component, it may try to resend the Measure Position Request (go back to the step 3), abort location, or start a new position measurement procedure (e.g. with updated assistance data).
5.	The MS tries to perform the requested location measurements, and possibly calculates it own position. When the MS has location measurements, location estimate, or an error indication (measurements/location estimation not possible), it sends the results in the Measure Position Response component to the SMLC. The RRLP message contains the reference number and, if received, the extended reference ID of the request originally received in the step 3. The MS may optionally send one additional Measure Position Response component in a second RRLP message to the SMLC if the amount of information it needs to transfer to the SMLC is too large to fit into one single Measure Position Response component (uplink RRLP pseudo-segmentation). This RRLP message also contains the reference number and, if received, the extended reference ID of the request originally received in the step 3. If two components are sent, the MS shall indicate in the first component that it is the first of many components and in the second one that it is the second of many components. If there is a problem that prevents the SMLC to receive a complete and understandable Measure Position Response component, the SMLC may decide to abort location, or start a new position measurement procedure instead. If additional Measure Position Response components are received by the SMLC after the 1st and optional 2nd one, they shall be ignored.
2.3	Assistance Data Delivery Procedure
The purpose of this procedure is to enable the SMLC to send assistance data to the MS related to position measurement and/or location calculation. Notice that RRLP protocol is not used by the MS to request assistance data, only to deliver it to the MS. The entire set of assistance data (i.e. the total amount of assistance data that the SMLC has decided to send in the current procedure) may be delivered in one or several Assistance Data components. In this case steps 1 and 3 below may be repeated several times by the SMLC. If several components are sent, the SMLC shall await the acknowledgement of each component before the next Assistance Data component is sent. If Assistance Data Delivery is used as part of the Position Measurement Procedure, as described in sub-clause 2.2, then some assistance data may be delivered in the final RRLP Measure Position Request.

Figure 2.2: Assistance Data Delivery procedure
1.	The SMLC sends the Assistance Data component to the MS. The component includes assistance data for location measurement and/or location calculation. The RRLP message contains a reference number and an extended reference ID of the delivery. The More Assistance Data To Be Sent Element in the Assistance Data component is used by the SMLC to indicate to the MS if either more Assistance Data components (in the current Assistance Data Delivery procedure) or a final RRLP Measure Position Request (if the Assistance Data Delivery Procedure forms part of a Position Measurement procedure as described in sub-clause 2.2) will be sent.
2.	The MS sends a RRLP message containing the Protocol Error component to the SMLC, if there is a problem that prevents the MS to receive a complete and understandable Assistance Data component. The RRLP message contains the reference number and, if available, the extended reference ID included in the Assistance Data component received incomplete. The Protocol Error component includes a more specific reason. When the SMLC receives the Protocol Error component, it may try to resend the Assistance Data component (go back to the step 1), send a new measure Assistance Data set (e.g. with updated assistance data), or abort the delivery.
3.	When the MS has received a complete Assistance Data component, it send the Assistance Data Acknowledgement component to the SMLC. The RRLP message contains the reference number of the Assistance Data originally received in step 1.
2.3a	Positioning Capability Transfer Procedure
The purpose of this procedure is to enable the SMLC to obtain the positioning capabilities of the MS, the types of assistance supported and the types of assistance data that may be needed from the SMLC. MS support for this procedure can be indicated to the SMLC using the MS Classmark 3 IE for GSM (see 3GPP TS 24.008), the PS LCS Capability IE for GERAN Gb mode (see 3GPP TS 24.008) and the MS Positioning Capability IE for GERAN Iu mode (see 3GPP TS 44.118).

Figure 2.3: Positioning Capability Transfer procedure
1.	The SMLC sends the Positioning Capability Request component to the MS. The RRLP message contains a reference number and an extended reference ID of the request. The message may contain indication of GANSS positioning support.
2.	The MS sends a RRLP message containing the Protocol Error component to the SMLC, if there is a problem that prevents the MS to receive a complete and understandable Positioning Capability Request component. The RRLP message contains the reference number and the extended reference ID included in the Positioning Capability Request component. The Protocol Error component includes a more specific reason. When the SMLC receives the Protocol Error component, it may try to resend the Positioning Capability Request component (go back to the step 1) or abort the request.
3.	When the MS has received a complete Positioning Capability Request component, it sends the Positioning Capability Response component to the SMLC. The component shall include the positioning capabilities of the MS and the types of supported assistance data. The component may include the types of assistance needed by the MS to obtain a location estimate or positioning measurements. The RRLP message also contains the reference number and extended Reference ID of the Positioning Capability Request originally received in step 1.
2.4	(void)
2.5	Error Handling Procedures
2.5.1	General
In this sub-clause it is described how a receiving entity behaves in cases when it receives erroneous data or detects that certain data is missing.
2.5.1a	Message Too Short
When MS receives a RRLP message, that is too short to contain all mandatory IEs, the MS sends a Protocol Error component with indication "Message Too Short". If the Reference Number can be found, it is included. If the Reference Number is not available, the Reference Number of the RRLP message carrying the Protocol Error component is set to '0'. If the Extended Reference IE can be found, it shall be included in the returned Protocol Error Component. If the Extended Reference IE is not available, an Extended Reference IE shall not be included. The original sending entity that receives the Protocol Error, may then resend the original message, or abort the procedure.
2.5.2	Unknown Reference Number
A SMLC detects that it has received a RRLP message with an unknown or invalid Reference Number, when one or more of the following conditions occur:
-	a Measure Position Response, Assistance Data Acknowledgement, Positioning Capability Response or Protocol Error component is received with a Reference Number that the SMLC has not sent in a Measure Position Request, Assistance Data or Positioning Capability Request component during a pending Position Measurement, Assistance Data Delivery or Positioning Capability Transfer procedure.
-	a Measure Position Response, Positioning Capability Response or Protocol Error component is received with an Extended Reference IE value that the SMLC has not sent in a Measure Position Request Assistance Data or Positioning Capability Request component during a pending Position Measurement, Assistance Data Delivery or Positioning Capability Transfer procedure.
-	a Measure Position Response, Positioning Capability Response or Protocol Error component is received with a Reference Number and an Extended Reference IE value that the SMLC has not sent together in the same Measure Position Request, the same Assistance Data or the same Positioning Capability Request component during a pending Position Measurement, Assistance Data Delivery or Positioning Capability Transfer procedure.
The SMLC shall then discard the message. If the SMLC receives a Measure Position Response or a Protocol Error component containing no Extended Reference ID, then the SMLC shall assume that the target MS is for Release 4 or earlier and shall only verify the received Reference Number.
2.5.3	Missing Information Element or Component Element
When MS receives a RRLP message, that does not contain IEs or component elements expected to be present, the MS sends a Protocol Error component with indication "Missing Information Element or Component Element". If the Reference Number can be found, it is included. If the Reference Number is not available, the Reference Number of the RRLP message carrying the Protocol Error component is set to '0'. If the Extended Reference IE can be found, it shall be included in the returned Protocol Error Component. If the Extended Reference IE is not available, an Extended Reference IE shall not be included. The SMLC that receives the Protocol Error, may then resend the original message, or abort the procedure.
2.5.4	Incorrect Data
When MS receives a RRLP message, that is contains IEs or elements of components that are syntactically incorrect, the MS sends a Protocol Error component with indication "Incorrect Data". If the Reference Number can be found, it is included. If the Reference Number is not available, the Reference Number of the RRLP message carrying the Protocol Error component is set to '0'. If the Extended Reference IE can be found, it shall be included in the returned Protocol Error Component. If the Extended Reference IE is not available, an Extended Reference IE shall not be included. The SMLC that receives the Protocol Error, may then resend the original message, or abort the procedure.
2.5.5	Repeated Component
When after the reception of a Measure Position Request component, but before responding with a Measure Position Response or a Protocol Error component, the MS receives a new RRLP message with the Measure Position Request component, it acts as follows:
-	if the old and new Measure Position Request components have the same Reference Number and, if included, the same Extended Reference IE, the MS ignores the later component;
-	if the old and new Measure Position Request components have different Reference Numbers or, if included, different Extended Reference IEs or if one Measure Position Request component (old or new) contains an Extended Reference IE but the other component does not, the MS aborts activity for the former component, and starts to acts according to the later component, and sends a response to that.
When after the reception of an Assistance Data component, but before responding with an Assistance Data Acknowledgement or a Protocol Error component, the MS receives a new RRLP message with the Assistance Data component, it acts as follows:
-	if the old and new Assistance Data components have the same Reference Number and, if included, the same Extended Reference IE and if pseudo-segmentation does not apply (see sub-clause 2.5.9), the MS ignores the later component;
-	if the old and new Assistance Data components have different Reference Numbers or, if included, different Extended Reference IEs or if one Assistance Data component (old or new) contains an Extended Reference IE but the other component does not, the MS ignores the former component and sends an acknowledgement to the latter component.
When after the reception of a Positioning Capability Request component, but before responding with a Positioning Capability Response or a Protocol Error component, the MS receives a new RRLP message with the Positioning Capability Request component, it acts as follows:
-	if the old and new Positioning Capability Request components have the same Reference Number and the same Extended Reference IE, the MS ignores the later component;
-	if the old and new Positioning Capability Request components have different Reference Numbers or different Extended Reference IEs, the MS aborts activity for the former component, starts to act according to the later component and sends a response to that.
When after the reception of an Measure Position Response component, the SMLC receives a new RRLP message with the Measure Position Response component, it acts as follows:
-	if the old and new Measure Position Response components have the same Reference Number and, if included, the same Extended Reference IE values, the SMLC may ignore the later component;
2.5.6	(void)
2.5.7	Missing Component
When the SMLC sends a Measure Position Request component to the MS, it starts a timer. If the timer expires before the SMLC receives the last Measure Position Response component or a Protocol Error component from the MS with the same Reference Number and, if included, the same Extended Reference IE value as in the sent component, it may abort location attempt or send a new Measure Position Request.
When the SMLC receives a Measure Position Response component with the same Reference Number and, if included, the same Extended Reference IE value as in the sent component indicating that it is the second of many segments, but the first of the many segments was never received by the SMLC, it may abort location attempt or send a new Measure Position Request.
When the SMLC sends a Assistance Data component to the MS, it starts a timer. If the timer expires before the SMLC receives a Assistance Data Acknowledgement or Protocol Error component from the MS with the same Reference Number as in the sent component and, in the case of a Protocol Error component, either the same extended reference ID as in the sent component or no extended reference ID, it may abort delivery attempt or send a new Assistance Data. 
When the SMLC sends a Positioning Capability Request component to the MS, it starts a timer. If the timer expires before the SMLC receives a Positioning Capability Response or Protocol Error component from the MS with the same Reference Number and the same Extended Reference ID as in the sent component, it may abort the Positioning Capability Transfer Procedure attempt or send a new Positioning Capability Request.
2.5.8	Unforeseen Component
When the MS receives a complete Assistance Data pseudo-segmentation sequence or an Assistance Data component that was sent without pseudo-segmentation, that it is not expecting, MS may discard it.
2.5.8a		RRLP Procedure
The MS and SMLC shall only support one RRLP procedure at a time for either positioning, delivery of assistance data or positioning capability transfer. The normal sequence of events for either procedure is defined in sub-clause 2.2, sub-clause 2.3 or sub-clause2.3a, respectively. If the MS is engaged in an RRLP procedure and receives a correctly encoded RRLP message from the SMLC that starts a new procedure, the MS shall abort the first procedure without sending a response and start the second.
2.5.9		Pseudo-Segmentation
When the SMLC employs pseudo-segmentation to send an RRLP Measure Position Request message or an RRLP Assistance Data message, the SMLC shall send one or more RRLP Assistance Data components followed by:
-	a final RRLP Measure Position Request component (see sub-clause 2.2) or
-	a final RRLP Assistance Data component (see sub-clause 2.3).
The SMLC shall indicate in all but the final component (Measure Position Request or Assistance Data, respectively) that more components are on the way.
When an MS receives an Assistance Data component indicating that more components are on the way, the MS may store the contents of the component. If the MS receives a subsequent Assistance Data component or a final Measure Position Request component that is correctly encoded, the MS shall assume that the new component continues the pseudo-segmentation of the earlier component and may then store the contents of the new component. If the new component is an Assistance Data component indicating that no more components are on the way or if it is a Measure Position Request, the MS shall assume that pseudo-segmentation is complete. The MS may then employ the rules defined in sub-clause 2.5.5 to verify if the new message is a repeated duplicate of a previous message.
3	Message Structure
3.1	General Format of RRLP Message
The general format of the RRLP message is given below, and based on:
-	ITU-T Recommendation X.680;
-	ITU-T Recommendation X.691;
and is consistent with these ITU-T recommendations. Also further definitions in the present document are based on ASN.1/94 defined in ITU-T Recommendation X.680 (ASN.1 1994). BASIC-PER, unaligned variant is used. Both RRLP ASN.1 modules, RRLP-Messages and RRLP-Components, are based on recommendations presented above.
ASN.1 identifiers have the same name as the corresponding parameters (information elements of the RRLP message, components, elements of components, fields of component elements etc) in other parts of the present document, except for the differences required by the ASN.1 notation (blanks between words are removed, the first letter of the first word is lower-case and the first letter of the following words are capitalized, e.g. "Reference Number" is mapped to "referenceNumber"). In addition some words may be abbreviated as follows:
msr	measure
req	request
rsp 	response
nbr	number
ack 	acknowledgement
Ellipsis Notation shall be used in the same way as described in 3GPP TS 29.002 and shall be supported on the radio interface by the MS and the network for all operations defined in the present document.
Table 3.1.a: RRLP Message Format
RRLP-Messages
-- { RRLP-messages }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
	MsrPosition-Req, MsrPosition-Rsp, AssistanceData,
	ProtocolError, PosCapability-Req, PosCapability-Rsp
FROM
	RRLP-Components 	-- { RRLP-Components }
;

PDU ::= SEQUENCE {
	referenceNumber			INTEGER (0..7),
	component				RRLP-Component
}

RRLP-Component ::= CHOICE {
	msrPositionReq			MsrPosition-Req,
	msrPositionRsp			MsrPosition-Rsp,
	assistanceData			AssistanceData,
	assistanceDataAck		NULL,
	protocolError			ProtocolError,
	...,
	posCapabilityReq		PosCapability-Req,
	posCapabilityRsp		PosCapability-Rsp
}

END


The message consists of two information elements, that are further described in the following sub-clauses.
3.2	Reference Number IE
This element is mandatory, and appears only once per RRLP message. It has the range from 0 to 7. Value 0 is reserved for indicating unknown Reference Number. Its ASN.1 definition is in sub-clause 3.1. This element contains the Reference Number that shall be used as follows:
-	in the Position Measurement procedure the SMLC shall select any number within the range 1- 7 that it is not already using with the particular MS. The Reference Number serves as an identification of the Measure Position request component that it sends to the MS. When the MS responds either with the Measure Position Response component, or the Protocol Error component, it shall use the same Reference Number value and, if an Extended Reference ID was included by the SMLC, the same Extended Reference ID to identify to which Measure Position Request it is responding, if the Reference Number has been obtained. If the MS has not been able to decode the Reference Number (e.g. IE missing), it shall use '0' as the Reference number in the response. This mechanism helps for example in the cases where the SMLC sends a Measure Position Request to the MS, and before it receives the Response, it needs to send another Request (e.g. assistance data changes). Then the SMLC can identify to which Request the Response is related to;
-	in the Assistance Data Delivery procedure the SMLC shall select any number within the range 1 - 7 that it is not already using with the MS. The Reference Number serves as an identification of the Assistance Data component that it sends to the MS. When the MS responds either with the Assistance Data Acknowledgement component or the Protocol Error component, it shall use the same Reference Number value if the Reference Number has been obtained and, in the case of Protocol Error, if an Extended Reference ID was included by the SMLC, the same Extended Reference ID to identify to which Assistance Data component it is responding. If the MS has not been able to decode the Reference Number (e.g. IE missing), it shall use '0' as the Reference number in the response.
-	in the Position Capability Transfer procedure the SMLC shall select any number within the range 1 - 7 that it is not already using with the MS. The Reference Number serves as an identification of the Positioning Capability Request component that it sends to the MS. When the MS responds either with the Positioning Capability Response component, or the Protocol Error component, it shall use the same Reference Number value if the Reference Number has been obtained and the same Extended Reference ID value if that has been obtained to identify to which Positioning Capability Request component it is responding. If the MS has not been able to decode the Reference Number (e.g. IE missing), it shall use '0' as the Reference number in the response.
-	the SMLC shall use the same Reference Number and same Extended Reference ID to resend any RRLP component for which a response was not received from the MS.
-	the SMLC shall use a different Reference Number to that in any RRLP component for which a response was not received from the MS if the SMLC aborts an existing RRLP procedure and starts a new procedure. 
-	the SMLC may use the same Reference Number and same Extended Reference ID or different Reference Numbers and Extended Reference IDs for different RRLP components within the same pseudo-segmentation sequence.
In all RRLP messages except Assistance Data Acknowledgement, the Reference Number IE shall be supplemented by an Extended Reference IE in order to distinguish valid from invalid RRLP responses at the SMLC and duplicate from non-duplicate RRLP commands at the MS. In order to remain backward compatible, the receiving entity shall be able to receive Measure Position Request, Measure Position Response, Assistance Data and Protocol Error messages without the Extended Reference IE. The ASN.1 definition of the Extended Reference IE is given in sub-clause 5.1 and the procedures associated with sending and receiving it are given in clause 2 and in Annex A, sub-clauses A.2.2.5, A.3.2.7 and A.6.6.
3.3	Component IE
This element is mandatory, and appears only once per RRLP message. It contains the actual component to be transferred.
Different components are described further in Chapter 4. This IE contains only one component, i.e. it is not possible to include two or more components.
4	Components
This ASN.1 module contains the definitions of the components and datatypes defined in the components.
Table 4.a: RRLP-Components format
RRLP-Components
-- { RRLP-Components }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
	Ext-GeographicalInformation, VelocityEstimate
FROM
	MAP-LCS-DataTypes {
	itu-t identified-organization (4) etsi (0) mobileDomain (0)
	gsm-Network (1) modules (3) map-LCS-DataTypes (25) version10 (10)}

	ExtensionContainer
FROM MAP-ExtensionDataTypes {
	itu-t identified-organization (4) etsi (0) mobileDomain (0)
	gsm-Network (1) modules (3) map-ExtensionDataTypes (21) version10 (10)}
;

-- Add here other ASN.1 definitions presented below
-- in chapters 4 and 5.

END


4.1	Measure Position Request
This component is used by the SMLC to request location measurements or a location estimate from the MS. It includes QoS, other instructions, and possible assistance data to the MS. This component is defined as follows:
Table 4.1.a: Measure Position Request
-- add this definition to RRLP-Components module

-- Measurement Position request component
MsrPosition-Req ::= SEQUENCE {
	positionInstruct		PositionInstruct,
	referenceAssistData		ReferenceAssistData		OPTIONAL,
	msrAssistData			MsrAssistData			OPTIONAL,
	systemInfoAssistData	SystemInfoAssistData	OPTIONAL,
	gps-AssistData			GPS-AssistData			OPTIONAL,
	extensionContainer		ExtensionContainer		OPTIONAL,
	...,
	-- Release 98 extension element
rel98-MsrPosition-Req-extension			Rel98-MsrPosition-Req-Extension			OPTIONAL,	
	-- Release 5 extension element
rel5-MsrPosition-Req-extension			Rel5-MsrPosition-Req-Extension			OPTIONAL,
	-- Release 7 extension element
rel7-MsrPosition-Req-extension			Rel7-MsrPosition-Req-Extension			OPTIONAL
}


The elements of this component are defined in clause 5.
4.2	Measure Position Response
This component is used by the MS to respond to a Measure Position Request from the SMLC with location measurements, a location estimate, or an error indication. This component is defined as follows:
Table 4.2.a: Measure Position Response
-- add this defintion to RRLP-Components module

-- Measurement Position response component
MsrPosition-Rsp ::= SEQUENCE {
	multipleSets			MultipleSets			OPTIONAL,
	referenceIdentity		ReferenceIdentity		OPTIONAL,
	otd-MeasureInfo			OTD-MeasureInfo			OPTIONAL,
	locationInfo			LocationInfo			OPTIONAL,
	gps-MeasureInfo			GPS-MeasureInfo			OPTIONAL,
	locationError			LocationError			OPTIONAL,
	extensionContainer		ExtensionContainer		OPTIONAL,
	...,	
	-- Release extension here
	rel-98-MsrPosition-Rsp-Extension		
							Rel-98-MsrPosition-Rsp-Extension		OPTIONAL,
	rel-5-MsrPosition-Rsp-Extension
							Rel-5-MsrPosition-Rsp-Extension		OPTIONAL,
	-- When RRLP pseudo-segmentation is used, rel-5-MsrPosition-Rsp-Extension 
	-- and other possible future extensions should be the ones included in 
	-- the 2nd MsrPosition-Rsp component.
	rel-7-MsrPosition-Rsp-Extension
							Rel-7-MsrPosition-Rsp-Extension		OPTIONAL
}


The elements of this component are defined in clause 5.
4.3	Assistance Data
This component is used by the SMLC to deliver assistance data for location measurement and/or location calculation. This component is defined as follows:
Table 4.3.a: Assistance Data
-- add this defintion to RRLP-Components module

-- Assistance Data component
AssistanceData ::= SEQUENCE {
	referenceAssistData	ReferenceAssistData			OPTIONAL,
	msrAssistData			MsrAssistData			OPTIONAL,
	systemInfoAssistData	SystemInfoAssistData	OPTIONAL,
	gps-AssistData			GPS-AssistData			OPTIONAL,	
	moreAssDataToBeSent		MoreAssDataToBeSent		OPTIONAL,	-- If not present, interpret as only
																-- Assistance Data component used to
																-- deliver entire set of assistance
																-- data.
	extensionContainer		ExtensionContainer		OPTIONAL,
	...,
	-- Release extension here
	rel98-AssistanceData-Extension	Rel98-AssistanceData-Extension	OPTIONAL,
	rel5-AssistanceData-Extension	Rel5-AssistanceData-Extension	OPTIONAL,
 	rel7-AssistanceData-Extension Rel7-AssistanceData-Extension OPTIONAL	
}


The elements of this component are defined in clause 5.
4.4	Assistance Data Acknowledgement
This component does not have any information contents. It presence indicates that the MS has received the complete Assistance Data component.
4.5	Protocol Error
This component is used by the receiving entity (SMLC or MS) to indicate to the sending entity, that there is a problem that prevents the receiving entity to receive a complete and understandable component. This component is defined as follows:
Table 4.5.a: Protocol Error
-- add this defintion to RRLP-Components module

-- Protocol Error component
ProtocolError ::= SEQUENCE {
	errorCause				ErrorCodes,	
	extensionContainer		ExtensionContainer		OPTIONAL,
	...,
	-- Release extensions here
	rel-5-ProtocolError-Extension Rel-5-ProtocolError-Extension		OPTIONAL
}


The elements of this component are defined in clause 5.
4.6	Positioning Capability Request 
This component is used by the SMLC to request the positioning capabilities of the MS and optionally indicating GANSS positioning support. This component is defined as follows:
Table 4.6.a: Positioning Capability Request
-- add this definition to RRLP-Components module

-- Positioning Capability request component
PosCapability-Req ::= SEQUENCE {
	extended-reference			Extended-reference,
	gANSSPositionMethods		GANSSPositionMethods	OPTIONAL,
	extensionContainer			ExtensionContainer		OPTIONAL,
	...
}


The elements of this component are defined in clause 5.
4.7	Positioning Capability Response
This component is used by the MS to respond to a Positioning Capability Request from the SMLC with the positioning capabilities of the MS, the types of assistance data supported and the types of assistance data possibly needed by the MS. This component is defined as follows:
Table 4.7.a: Positioning Capability Response
-- add this definition to RRLP-Components module

-- Positioning Capability response component
PosCapability-Rsp ::= SEQUENCE {
	extended-reference		Extended-reference,
	posCapabilities			PosCapabilities,

-- assistanceSupported shall be included if and only if any of the assistance data is supported
	assistanceSupported		AssistanceSupported		OPTIONAL,
	assistanceNeeded		AssistanceNeeded		OPTIONAL,
	extensionContainer		ExtensionContainer		OPTIONAL,
	...
}


The elements of this component are defined in clause 5.
5	Elements of Components
5.1	ASN.1 Description
The following ASN.1 code defines the elements of components. See the Annex A for further description of the contents of components and their elements.
Table 5.1.a: ASN.1 Description
-- add these defintions to RRLP-Components module
-- Position instructions
PositionInstruct ::= SEQUENCE {
	-- Method type
	methodType				MethodType,	
	positionMethod			PositionMethod,
	measureResponseTime		MeasureResponseTime,		
	useMultipleSets			UseMultipleSets,		
	environmentCharacter	EnvironmentCharacter	OPTIONAL	
}

--
MethodType ::= CHOICE {
	msAssisted		AccuracyOpt,	-- accuracy is optional
	msBased			Accuracy,		-- accuracy is mandatory
	msBasedPref		Accuracy,		-- accuracy is mandatory
	msAssistedPref	Accuracy 		-- accuracy is mandatory
}

-- Accuracy of the location estimation
AccuracyOpt ::= SEQUENCE {
	accuracy		Accuracy	OPTIONAL
}

-- The values of this field are defined in 3GPP TS 23.032 (Uncertainty code)
Accuracy ::= INTEGER (0..127)

-- Position Method
PositionMethod ::= ENUMERATED {
	eotd (0),
	gps (1),
	gpsOrEOTD (2)
}

-- Measurement request response time
MeasureResponseTime ::= INTEGER (0..7)

-- useMultiple Sets, FFS!
UseMultipleSets ::= ENUMERATED {
	multipleSets (0),		-- multiple sets are allowed
	oneSet (1)				-- sending of multiple is not allowed
}

-- Environment characterization
EnvironmentCharacter ::= ENUMERATED {
	badArea (0),		-- bad urban or suburban, heavy multipath and NLOS
	notBadArea (1),		-- light multipath and NLOS
	mixedArea (2),		-- not defined or mixed environment
	...
}

-- E-OTD reference BTS for Assitance data IE
ReferenceAssistData ::= SEQUENCE {
	bcchCarrier		BCCHCarrier,						-- BCCH carrier
	bsic			BSIC,								-- BSIC
	timeSlotScheme	TimeSlotScheme, 					-- Timeslot scheme
	btsPosition		BTSPosition			OPTIONAL
}

-- ellipsoid point and
-- ellipsoid point with altitude and uncertainty ellipsoid shapes are supported
BTSPosition ::= Ext-GeographicalInformation

-- RF channel number of BCCH
BCCHCarrier ::= INTEGER (0..1023)

-- Base station Identity Code
BSIC ::= INTEGER (0..63)

-- Timeslot scheme
TimeSlotScheme ::= ENUMERATED {
	equalLength (0),
	variousLength (1)
}

-- Time slot (modulo)
ModuloTimeSlot ::= INTEGER (0..3)

-- E-OTD measurement assistance data IE
-- The total number of neighbors in this element (MsrAssistData)
-- and in SystemInfoAssistData element (presented neighbors
-- can be at a maximum 15!)
MsrAssistData ::= SEQUENCE {
	 msrAssistList SeqOfMsrAssistBTS
}
SeqOfMsrAssistBTS ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS

MsrAssistBTS ::= SEQUENCE {
	bcchCarrier			BCCHCarrier,		-- BCCH carrier
	bsic				BSIC,				-- BSIC
	multiFrameOffset	MultiFrameOffset, 	-- multiframe offset
	timeSlotScheme		TimeSlotScheme,		-- Timeslot scheme
	roughRTD			RoughRTD,			-- rough RTD value

	-- Location Calculation Assistance data is moved here
	calcAssistanceBTS	CalcAssistanceBTS	OPTIONAL
}

-- Multiframe offset
MultiFrameOffset ::= INTEGER (0..51)
-- The Multiframe Offset value 51 shall not be encoded by the transmitting entity and
-- shall be treated by the receiving entity as 0.

-- Rough RTD value between one base station and reference BTS
RoughRTD ::= INTEGER (0..1250)
-- The RoughRTD value 1250 shall not be encoded by the transmitting entity and shall
-- be treated by the receiving entity as 0.

-- E-OTD Measurement assistance data for system information List IE
-- The total number of base stations in this element (SystemInfoAssistData
-- presented neighbors) and in MsrAssistData element can be at a maximum 15.
SystemInfoAssistData ::= SEQUENCE {
	systemInfoAssistList 	SeqOfSystemInfoAssistBTS
}
SeqOfSystemInfoAssistBTS::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS

-- whether n.th is present or not ?
SystemInfoAssistBTS ::= CHOICE {
	notPresent		NULL,
	present			AssistBTSData
}

-- Actual assistance data for system information base station
AssistBTSData ::= SEQUENCE {
	bsic				BSIC,				-- BSIC
	multiFrameOffset	MultiFrameOffset,	-- multiframe offset
	timeSlotScheme		TimeSlotScheme,		-- Timeslot scheme
	roughRTD			RoughRTD,			-- rough RTD value

	-- Location Calculation Assistance data
	calcAssistanceBTS	CalcAssistanceBTS	OPTIONAL
}

-- E-OTD Location calculation assistance data,
-- CalcAssistanceBTS element is optional not subfields
CalcAssistanceBTS ::= SEQUENCE {
	fineRTD				FineRTD,		-- fine RTD value between base stations
	referenceWGS84		ReferenceWGS84	-- reference coordinates
}

-- Coordinates of neighbour BTS, WGS-84 ellipsoid
ReferenceWGS84 ::= SEQUENCE {
	relativeNorth	RelDistance,				-- relative distance (south negative)
	relativeEast	RelDistance,				-- relative distance (west negative)
	-- Relative Altitude is not always known
	relativeAlt		RelativeAlt		OPTIONAL	-- relative altitude
}

-- Fine RTD value between this BTS and the reference BTS	
FineRTD ::= INTEGER (0..255)

-- Relative north/east distance
RelDistance ::= INTEGER (-200000..200000)

-- Relative altitude
RelativeAlt ::= INTEGER (-4000..4000)

-- Measure position response IEs
-- Reference Identity
-- Multiple sets
MultipleSets ::= SEQUENCE {
	-- number of reference sets
	nbrOfSets			INTEGER (2..3),		

	-- This field actually tells the number of reference BTSs
	nbrOfReferenceBTSs	INTEGER (1..3),

	-- This field is conditional and included optionally only if
	-- nbrOfSets is 3 and number of reference BTSs is 2.
	referenceRelation		ReferenceRelation		OPTIONAL
}

-- Relation between refence BTSs and sets
ReferenceRelation ::= ENUMERATED {
	secondBTSThirdSet (0),	-- 1st BTS related to 1st and 2nd sets
	secondBTSSecondSet (1),	-- 1st BTS related to 1st and 3rd sets
	firstBTSFirstSet (2)	-- 1st BTS related to 1st set
}

-- Reference BTS Identity, this element contains number of
-- BTSs told nbrOfReferenceBTSs field in Multiple sets element)
ReferenceIdentity ::= SEQUENCE {
	-- Reference BTS list
	refBTSList		SeqOfReferenceIdentityType
}
SeqOfReferenceIdentityType ::= SEQUENCE (SIZE(1..3)) OF ReferenceIdentityType

-- Cell identity
ReferenceIdentityType ::= CHOICE {
	bsicAndCarrier	BSICAndCarrier,		-- BSIC and Carrier
	ci				CellID,				-- Cell ID, LAC not needed
	requestIndex	RequestIndex,		-- Index to Requested Neighbor List
	systemInfoIndex	SystemInfoIndex,	-- Index to System info list, this type of ref. identity
										-- shall not be used by the MS unless it has received
										-- the SystemInfoAssistData from the SMLC for this cell.
	ciAndLAC		CellIDAndLAC		-- CI and LAC
}

BSICAndCarrier ::= SEQUENCE {
	carrier	BCCHCarrier,
	bsic		BSIC
}

RequestIndex ::= INTEGER (1..16)

SystemInfoIndex ::= INTEGER (1..32)

CellIDAndLAC ::= SEQUENCE {
	referenceLAC	LAC,				-- Location area code
	referenceCI		CellID				-- Cell identity
}
CellID ::= INTEGER (0..65535)
LAC ::= INTEGER (0..65535)

-- OTD-MeasureInfo
OTD-MeasureInfo ::= SEQUENCE {
	-- Measurement info elements, OTD-MsrElement is repeated number of times
	-- told in nbrOfReferenceBTSs in MultipleSets, default value is 1
	otdMsrFirstSets		OTD-MsrElementFirst,

	-- if more than one sets are present this element is repeated
	-- NumberOfSets - 1 (-1 = first set)
	otdMsrRestSets		SeqOfOTD-MsrElementRest		OPTIONAL
}

SeqOfOTD-MsrElementRest ::= SEQUENCE (SIZE(1..2)) OF OTD-MsrElementRest

-- OTD measurent information for 1 set
OTD-MsrElementFirst ::= SEQUENCE {
	refFrameNumber			INTEGER (0..42431), 				-- Frame number modulo 42432
	referenceTimeSlot		ModuloTimeSlot,
	toaMeasurementsOfRef	TOA-MeasurementsOfRef	OPTIONAL,
	stdResolution			StdResolution,
	taCorrection			INTEGER (0..960)		OPTIONAL,	-- TA correction

	-- measured neighbors in OTD measurements
	otd-FirstSetMsrs 		SeqOfOTD-FirstSetMsrs 	OPTIONAL
}
SeqOfOTD-FirstSetMsrs ::= SEQUENCE (SIZE(1..10)) OF OTD-FirstSetMsrs

-- OTD measurent information 2 and 3 sets if exist
OTD-MsrElementRest ::= SEQUENCE {
	refFrameNumber			INTEGER (0..42431), 					-- Frame number modulo 42432
	referenceTimeSlot		ModuloTimeSlot,
	toaMeasurementsOfRef	TOA-MeasurementsOfRef		OPTIONAL,
	stdResolution			StdResolution,
	taCorrection			INTEGER (0..960)			OPTIONAL,	-- TA correction

	-- measured neighbors in OTD measurements
	otd-MsrsOfOtherSets 	SeqOfOTD-MsrsOfOtherSets	OPTIONAL
}
SeqOfOTD-MsrsOfOtherSets ::= SEQUENCE (SIZE(1..10)) OF OTD-MsrsOfOtherSets

-- Standard deviation of the TOA measurements from the reference BTS
TOA-MeasurementsOfRef ::= SEQUENCE {
	refQuality			RefQuality,
	numOfMeasurements	NumOfMeasurements
}

RefQuality ::= INTEGER (0..31)			-- St Dev of TOA of reference as defined in annex
NumOfMeasurements ::= INTEGER (0..7)	-- No. of measurements for RefQuality as defined in annex
StdResolution ::= INTEGER (0..3)		-- Values of resolution are defined in annex

OTD-FirstSetMsrs ::= OTD-MeasurementWithID

-- Neighbour info in OTD measurements 0-10 times in TD measurement info
OTD-MsrsOfOtherSets ::= CHOICE {
	identityNotPresent	OTD-Measurement,	
	identityPresent		OTD-MeasurementWithID
}

-- For this OTD measurement identity is same as the identity of BTS
-- in the first set with same sequence number
OTD-Measurement ::= SEQUENCE {
	nborTimeSlot	ModuloTimeSlot,
	eotdQuality		EOTDQuality,
	otdValue		OTDValue
}

-- This measurement contains the BTS identity and measurement
OTD-MeasurementWithID ::=SEQUENCE {
	neighborIdentity	NeighborIdentity,
	nborTimeSlot		ModuloTimeSlot,
	eotdQuality			EOTDQuality,
	otdValue			OTDValue
}

EOTDQuality ::= SEQUENCE {
	nbrOfMeasurements	INTEGER	(0..7),
	stdOfEOTD			INTEGER (0..31)
}

NeighborIdentity ::= CHOICE {
	bsicAndCarrier		BSICAndCarrier,		-- BSIC and Carrier
	ci					CellID,				-- Cell ID, LAC not needed
	multiFrameCarrier	MultiFrameCarrier, 	-- MultiFrameOffest and BSIC
	requestIndex		RequestIndex,		-- Index to Requested Neighbor List
	systemInfoIndex		SystemInfoIndex,	-- Index to System info list, this type of neighbour
											-- identity shall not be used by the MS unless it has
											-- received the SystemInfoAssistData from the SMLC for
											-- this cell.
	ciAndLAC			CellIDAndLAC		-- CI and LAC
}

-- Multiframe and carrier
MultiFrameCarrier ::= SEQUENCE {
	bcchCarrier			BCCHCarrier,
	multiFrameOffset	MultiFrameOffset
}

-- OTD measurement value for neighbour
OTDValue ::= INTEGER (0..39999)

-- Location information IE
LocationInfo ::= SEQUENCE {
	refFrame		INTEGER (0..65535),			-- Reference Frame number
	-- If refFrame is within (42432..65535), it shall be ignored by the receiver
	-- in that case the MS should provide GPS TOW if available
	gpsTOW			INTEGER (0..14399999)	OPTIONAL,	-- GPS TOW
	fixType			FixType,
	-- Note that applicable range for refFrame is 0 - 42431
	-- Possible shapes carried in posEstimate are
	-- ellipsoid point,
	-- ellipsoid point with uncertainty circle
	-- ellipsoid point with uncertainty ellipse
	-- ellipsoid point with altitude and uncertainty ellipsoid
	posEstimate		Ext-GeographicalInformation
}

FixType ::= INTEGER {
	twoDFix (0),
	threeDFix (1)
} (0..1)

-- GPS-Measurement information
GPS-MeasureInfo ::= SEQUENCE {
	-- Measurement info elements
	-- user has to make sure that in this element is number of elements
	-- defined in reference BTS identity
	gpsMsrSetList	SeqOfGPS-MsrSetElement	
}
SeqOfGPS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GPS-MsrSetElement

-- OTD measurent information 1-3 times in message
GPS-MsrSetElement ::= SEQUENCE {
	refFrame		INTEGER (0..65535)	OPTIONAL, 	-- Reference Frame number
	gpsTOW			GPSTOW24b,						-- GPS TOW
	-- Note that applicable range for refFrame is 0 - 42431

--N_SAT can be read from number of elements of gps-msrList

	gps-msrList		SeqOfGPS-MsrElement
}

-- 24 bit presentation for GPSTOW
GPSTOW24b ::= INTEGER (0..14399999)

-- measured elements in measurement parameters field
SeqOfGPS-MsrElement ::= SEQUENCE (SIZE(1..16)) OF GPS-MsrElement

GPS-MsrElement ::= SEQUENCE {
	satelliteID		SatelliteID,				-- Satellite identifier
	cNo				INTEGER (0..63),			-- carrier noise ratio
	doppler			INTEGER (-32768..32767), 	-- doppler, mulltiply by 0,2
	wholeChips		INTEGER (0..1022),			-- whole value of the code phase measurement
	fracChips		INTEGER (0..1024),			-- fractional value of the code phase measurement
											-- a value of 1024 shall not be encoded by the sender
											-- the receiver shall consider a value of 1024 to be
											-- invalid data
	mpathIndic		MpathIndic,					-- multipath indicator
	pseuRangeRMSErr	INTEGER (0..63)				-- index		
}

-- Multipath indicator
MpathIndic ::= ENUMERATED {
	notMeasured (0),
	low (1),
	medium (2),
	high (3)
}

-- Location error IE
LocationError ::= SEQUENCE {
	locErrorReason				LocErrorReason,
	additionalAssistanceData	AdditionalAssistanceData	OPTIONAL,
	...
}

LocErrorReason ::= ENUMERATED {
	unDefined (0),	
	notEnoughBTSs (1),
	notEnoughSats (2),
	eotdLocCalAssDataMissing (3),
	eotdAssDataMissing (4),
	gpsLocCalAssDataMissing (5),
	gpsAssDataMissing (6),
	methodNotSupported (7),
	notProcessed (8),
	refBTSForGPSNotServingBTS (9),
	refBTSForEOTDNotServingBTS (10),
	...,
	notEnoughGANSSSats (11),	
 ganssAssDataMissing (12),
	refBTSForGANSSNotServingBTS (13)
}

-- exception handling:
-- an unrecognized value shall be treated the same as value 0


-- defines additional assistance data needed for any new location attempt
-- MS shall retain any assistance data already received
AdditionalAssistanceData ::= SEQUENCE {
	gpsAssistanceData		GPSAssistanceData		OPTIONAL,
	extensionContainer		ExtensionContainer		OPTIONAL,
	...,
	ganssAssistanceData GANSSAssistanceData OPTIONAL
}


GPSAssistanceData ::= OCTET STRING (SIZE (1..maxGPSAssistanceData))
-- GPSAssistanceData has identical structure and encoding to octets 3 to n of the
-- GPS Assistance Data IE in 3GPP TS 49.031

maxGPSAssistanceData	INTEGER ::= 40

GANSSAssistanceData ::= OCTET STRING (SIZE (1..maxGANSSAssistanceData))
-- GANSSAssistanceData has identical structure and encoding to octets 3 to n of the
-- GANSS Assistance Data IE in 3GPP TS 49.031

maxGANSSAssistanceData	INTEGER ::= 40

-- Protocol Error Causes
ErrorCodes ::= ENUMERATED {
	unDefined (0),
missingComponet (1),			
incorrectData (2),			
missingIEorComponentElement (3),		
messageTooShort (4),			
unknowReferenceNumber (5),		
...
}

-- exception handling:
-- an unrecognized value shall be treated the same as value 0

-- GPS assistance data IE
GPS-AssistData ::= SEQUENCE {
	controlHeader		ControlHeader
}

-- More Assistance Data To Be Sent IE
-- More Assistance Data Components On the Way indication for delivery of an entire set of assistance
-- data in multiple Assistance Data components.

MoreAssDataToBeSent ::= ENUMERATED {
	noMoreMessages (0),			-- This is the only or last Assistance Data message used to deliver
								-- the entire set of assistance data.
	moreMessagesOnTheWay (1)	-- The SMLC will send more Assistance Data messages or a final RRLP
								-- Measure Position Request message to deliver the
								-- the entire set of assistance data.
}

-- Control header of the GPS assistance data
ControlHeader ::= SEQUENCE {

	-- Field type Present information
	referenceTime		ReferenceTime		OPTIONAL,
	refLocation			RefLocation			OPTIONAL,
	dgpsCorrections		DGPSCorrections		OPTIONAL,
	navigationModel		NavigationModel		OPTIONAL,
	ionosphericModel	IonosphericModel	OPTIONAL,
	utcModel			UTCModel			OPTIONAL,
	almanac				Almanac				OPTIONAL,
	acquisAssist		AcquisAssist		OPTIONAL,
	realTimeIntegrity SeqOf-BadSatelliteSet OPTIONAL
}

ReferenceTime ::= SEQUENCE {
	gpsTime				GPSTime,
	gsmTime				GSMTime				OPTIONAL,
	gpsTowAssist		GPSTOWAssist		OPTIONAL
}

-- GPS Time includes week number and time-of-week (TOW)
GPSTime ::= SEQUENCE {
	gpsTOW23b			GPSTOW23b,
	gpsWeek				GPSWeek
}

-- GPSTOW, range 0-604799,92, resolution 0,08 sec, 23-bit presentation
GPSTOW23b ::= INTEGER (0..7559999)

-- GPS week number
GPSWeek ::= INTEGER (0..1023)

-- GPSTOWAssist consists of TLM message, Anti-spoof flag, Alert flag, and 2 reserved bits in TLM Word
-- for each visible satellite.
-- N_SAT can be read from number of elements in GPSTOWAssist
GPSTOWAssist ::= SEQUENCE (SIZE(1..12)) OF GPSTOWAssistElement

GPSTOWAssistElement ::= SEQUENCE {
	satelliteID			SatelliteID,
	tlmWord				TLMWord,
	antiSpoof			AntiSpoofFlag,
	alert				AlertFlag,
	tlmRsvdBits			TLMReservedBits
}

-- TLM Word, 14 bits
TLMWord ::= INTEGER (0..16383)

-- Anti-Spoof flag
AntiSpoofFlag ::= INTEGER (0..1)

-- Alert flag
AlertFlag ::= INTEGER (0..1)

-- Reserved bits in TLM word, MSB occurs earlier in TLM Word transmitted by satellite
TLMReservedBits ::= INTEGER (0..3)

GSMTime ::= SEQUENCE {
	bcchCarrier		BCCHCarrier,	-- BCCH carrier
	bsic			BSIC,			-- BSIC
	frameNumber		FrameNumber,
	timeSlot		TimeSlot,
	bitNumber		BitNumber
}

-- Frame number
FrameNumber ::= INTEGER (0..2097151)

-- Time slot number
TimeSlot ::= INTEGER (0..7)

-- Bit number
BitNumber ::= INTEGER (0..156)


-- Reference Location IE
RefLocation ::= SEQUENCE {
	threeDLocation			Ext-GeographicalInformation
}

-- DGPS Corrections IE
DGPSCorrections ::= SEQUENCE {

	gpsTOW		INTEGER (0..604799),	-- DGPS reference time
	status		INTEGER (0..7),
	-- N_SAT can be read from number of elements of satList
	satList		SeqOfSatElement 	
}
SeqOfSatElement ::= SEQUENCE (SIZE (1..16)) OF SatElement

-- number of correction for satellites
SatElement ::= SEQUENCE {
	satelliteID		SatelliteID,

--- Sequence number for ephemeris
	iode 			INTEGER (0..239),
	-- User Differential Range Error
	udre			INTEGER (0..3),		

	-- Pseudo Range Correction, range is
	-- -655,04 - +655,04,
	pseudoRangeCor	INTEGER (-2047..2047), 	

	-- Pseudo Range Rate Correction, range is
	-- -4,064 - +4,064,
	rangeRateCor	INTEGER (-127..127),

-- Delta Pseudo Range Correction 2 	
	deltaPseudoRangeCor2 	INTEGER (-127..127),	-- This IE shall be ignored by the receiver 
													-- and set to zero by the sender
	-- Delta Pseudo Range Correction 2	
	deltaRangeRateCor2		INTEGER (-7..7),		-- This IE shall be ignored by the receiver 
													-- and set to zero by the sender
	-- Delta Pseudo Range Correction 3
	deltaPseudoRangeCor3 	INTEGER (-127..127),	-- This IE shall be ignored by the receiver 
													-- and set to zero by the sender
	-- Delta Pseudo Range Correction 3
	deltaRangeRateCor3		INTEGER (-7..7)			-- This IE shall be ignored by the receiver 
													-- and set to zero by the sender
}

SatelliteID ::= INTEGER (0..63)	-- identifies satellite

-- Navigation Model IE
NavigationModel ::= SEQUENCE {
	navModelList	SeqOfNavModelElement	
}

-- navigation model satellite list
SeqOfNavModelElement ::= SEQUENCE (SIZE(1..16)) OF NavModelElement

NavModelElement ::= SEQUENCE {
	satelliteID		SatelliteID,			
	satStatus		SatStatus		-- satellite status
}

-- the Status of the navigation model
SatStatus ::= CHOICE {
	-- New satellite, new Navigation Model
	newSatelliteAndModelUC	UncompressedEphemeris,

	-- Existing satellite, Existing Navigation Model
	oldSatelliteAndModel	NULL,

	-- Existing satellite, new Navigation Model
	newNaviModelUC			UncompressedEphemeris,
	...
}

-- Uncompressed satellite emhemeris and clock corrections
UncompressedEphemeris ::= SEQUENCE {
	ephemCodeOnL2	INTEGER (0..3),
	ephemURA		INTEGER (0..15),
	ephemSVhealth	INTEGER (0..63),
	ephemIODC		INTEGER	(0..1023),
	ephemL2Pflag	INTEGER (0..1),
	ephemSF1Rsvd	EphemerisSubframe1Reserved,
	ephemTgd		INTEGER (-128..127),
	ephemToc		INTEGER (0..37799),
	ephemAF2		INTEGER (-128..127),
	ephemAF1		INTEGER (-32768..32767),
	ephemAF0		INTEGER (-2097152..2097151),
	ephemCrs		INTEGER (-32768..32767),
	ephemDeltaN		INTEGER (-32768..32767),
	ephemM0			INTEGER (-2147483648..2147483647),
	ephemCuc		INTEGER (-32768..32767),
	ephemE			INTEGER (0..4294967295),
	ephemCus		INTEGER (-32768..32767),
	ephemAPowerHalf	INTEGER (0..4294967295),
	ephemToe		INTEGER (0..37799),
	ephemFitFlag	INTEGER (0..1),
	ephemAODA		INTEGER (0..31),
	ephemCic		INTEGER (-32768..32767),
	ephemOmegaA0	INTEGER (-2147483648..2147483647),
	ephemCis		INTEGER (-32768..32767),
	ephemI0			INTEGER (-2147483648..2147483647),
	ephemCrc		INTEGER (-32768..32767),
	ephemW			INTEGER (-2147483648..2147483647),
	ephemOmegaADot	INTEGER (-8388608..8388607),
	ephemIDot		INTEGER (-8192..8191)
}

-- Reserved bits in subframe 1 of navigation message
EphemerisSubframe1Reserved ::= 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
}

-- Ionospheric Model IE
IonosphericModel ::= SEQUENCE {
	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)
}

-- Universal Time Coordinate Model
UTCModel ::= SEQUENCE {
	utcA1			INTEGER (-8388608..8388607),
	utcA0			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)
}

-- Almanac, Long term model
-- NOTE: These are parameters are subset of the ephemeris
-- NOTE: But with reduced resolution and accuracy
Almanac ::= SEQUENCE {
	alamanacWNa		INTEGER (0..255),	-- Once per message

	-- navigation model satellite list.
	-- The size of almanacList is actually Nums_Sats_Total field
	almanacList		SeqOfAlmanacElement		
}
SeqOfAlmanacElement ::= SEQUENCE (SIZE(1..64)) OF AlmanacElement

-- Almanac info once per satellite
AlmanacElement ::= SEQUENCE {
	satelliteID			SatelliteID,
	almanacE			INTEGER (0..65535),
	alamanacToa			INTEGER (0..255),
	almanacKsii			INTEGER (-32768..32767),
	almanacOmegaDot		INTEGER (-32768..32767),
	almanacSVhealth		INTEGER (0..255),
	almanacAPowerHalf	INTEGER (0..16777215),
	almanacOmega0		INTEGER (-8388608..8388607),
	almanacW			INTEGER (-8388608..8388607),
	almanacM0			INTEGER (-8388608..8388607),
	almanacAF0			INTEGER (-1024..1023),
	almanacAF1			INTEGER (-1024..1023)
}

-- Acquisition Assistance
AcquisAssist ::= SEQUENCE {

	-- Number of Satellites can be read from acquistList
	timeRelation	TimeRelation,

	-- Acquisition assistance list
	-- The size of Number of Satellites is actually Number of Satellites field
	acquisList		SeqOfAcquisElement		
}
SeqOfAcquisElement ::= SEQUENCE (SIZE(1..16)) OF AcquisElement

-- the relationship between GPS time and air-interface timing
TimeRelation ::= SEQUENCE {
	--
	gpsTOW		GPSTOW23b,		-- 23b presentation
	gsmTime		GSMTime		OPTIONAL
}

-- data occuring per number of satellites
AcquisElement ::= SEQUENCE {
	svid					SatelliteID,

	-- Doppler 0th order term,
	-- -5120,0 - 5117,5 Hz (= -2048 - 2047 with 2,5 Hz resolution)
	doppler0				INTEGER (-2048..2047),	
	addionalDoppler			AddionalDopplerFields	OPTIONAL,
	codePhase				INTEGER (0..1022),	-- Code Phase
	intCodePhase			INTEGER (0..19),	-- Integer Code Phase
	gpsBitNumber			INTEGER (0..3), 	-- GPS bit number
	codePhaseSearchWindow	INTEGER (0..15),	-- Code Phase Search Window
	addionalAngle			AddionalAngleFields		OPTIONAL
}

AddionalDopplerFields ::= SEQUENCE {
	-- Doppler 1st order term, -1,0 - +0,5 Hz/sec
 -- (= -42 + (0 to 63) with 1/42 Hz/sec. resolution)
	doppler1				INTEGER (0..63),
	dopplerUncertainty		INTEGER (0..7)
 -- a sender shall not encode any DopplerUncertainty value in the range 5 to 7
 -- a receiver shall ignore any value between 5 and 7.
}

AddionalAngleFields	::= SEQUENCE {
	-- azimuth angle, 0 - 348,75 deg (= 0 - 31 with 11,25 deg resolution)
	azimuth					INTEGER (0..31),
	-- elevation angle, 0 - 78,75 deg (= 0 - 7 with 11,25 deg resolution)
	elevation				INTEGER (0..7)
}

-- Real-Time Integrity
-- number of bad satellites can be read from this element
SeqOf-BadSatelliteSet ::= SEQUENCE (SIZE(1..16)) OF SatelliteID

-- Extension Elements

-- Release 98 Extensions here
Rel98-MsrPosition-Req-Extension ::= SEQUENCE {
	rel98-Ext-ExpOTD			Rel98-Ext-ExpOTD		OPTIONAL,	-- ExpectedOTD extension
	..., 
 gpsTimeAssistanceMeasurementRequest NULL OPTIONAL, 
 gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL

-- Further R98 extensions here
}
Rel98-AssistanceData-Extension ::= SEQUENCE {
	rel98-Ext-ExpOTD			Rel98-Ext-ExpOTD		OPTIONAL,	-- ExpectedOTD extension
	..., 
 gpsTimeAssistanceMeasurementRequest NULL OPTIONAL,
 gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL

-- Further R98 extensions here
}

-- Release 98 ExpOTD extension
Rel98-Ext-ExpOTD ::= SEQUENCE {
-- If MsrAssistBTS is included in message, msrAssistData-R98-ExpOTD shall be included.
	msrAssistData-R98-ExpOTD			MsrAssistData-R98-ExpOTD			OPTIONAL,

-- If SystemInfoAssistaData is included in message, systemInfoAssistData-R98-ExpOTD shall be
-- included.
	systemInfoAssistData-R98-ExpOTD	SystemInfoAssistData-R98-ExpOTD	OPTIONAL
}

-- MsrAssistData R98 extension
MsrAssistData-R98-ExpOTD ::= SEQUENCE {
	 msrAssistList-R98-ExpOTD			 SeqOfMsrAssistBTS-R98-ExpOTD
}

-- Indexes in SeqOfMsrAssistBTS-R98-ExpOTD refer to SeqOfMsrAssistBTS
-- If the index exceeds the SegOfMsrAssistBTS range or if there is other
-- inconsistencies between the BTS indices, the MS shall apply protocol
-- error cause incorrectData
SeqOfMsrAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..15)) OF MsrAssistBTS-R98-ExpOTD

-- This element completes MsrAssistBTS IE
MsrAssistBTS-R98-ExpOTD ::= SEQUENCE {
	expectedOTD				ExpectedOTD,
	expOTDUncertainty		ExpOTDUncertainty
}

-- SystemInfoAssistData R98 extension
SystemInfoAssistData-R98-ExpOTD ::= SEQUENCE {
	systemInfoAssistListR98-ExpOTD 	SeqOfSystemInfoAssistBTS-R98-ExpOTD
}

-- SeqOfSystemInfoAssistBTS-R98-ExpOTD index refer to SeqOfSystemInfoAssistBTS
-- If the index exceeds the SegOfSystemInfoAssistBTS range or if there is other
-- inconsistencies between the BTS indices, the MS shall apply protocol
-- error cause incorrectData
SeqOfSystemInfoAssistBTS-R98-ExpOTD ::= SEQUENCE (SIZE(1..32)) OF SystemInfoAssistBTS-R98-ExpOTD

-- whether n.th is present or not ?
SystemInfoAssistBTS-R98-ExpOTD ::= CHOICE {
	notPresent		NULL,
	present			AssistBTSData-R98-ExpOTD
}

-- This element completes AssistBTSData IE
AssistBTSData-R98-ExpOTD ::= SEQUENCE {
	expectedOTD				ExpectedOTD,
	expOTDuncertainty		ExpOTDUncertainty	-- Uncertainty of expected OTD
}

-- Expected OTD value between nbor base station and reference BTS
-- at MS's current estimated location.
ExpectedOTD ::= INTEGER (0..1250)
-- The ExpectedOTD value 1250 shall not be encoded by the transmitting entity and
-- shall be treated by the receiving entity as 0.
-- Uncertainty of Exptected OTD in bits
ExpOTDUncertainty ::= INTEGER(0..7)

-- Release 98 extensions

GPSReferenceTimeUncertainty ::= INTEGER (0 .. 127) 		-- Coding according to Annex

GPSTimeAssistanceMeasurements ::= SEQUENCE {
 referenceFrameMSB INTEGER (0 .. 63)	OPTIONAL, 		-- MSB of frame number
 gpsTowSubms INTEGER (0 .. 9999) 		OPTIONAL, 		-- in units of 100ns, for MS based AGPS
 deltaTow INTEGER (0 .. 127) 			OPTIONAL, 		-- for MS assisted AGPS
 gpsReferenceTimeUncertainty GPSReferenceTimeUncertainty OPTIONAL
}

Rel-98-MsrPosition-Rsp-Extension ::= SEQUENCE {

	-- First extension to Release 98
	rel-98-Ext-MeasureInfo	SEQUENCE {
		otd-MeasureInfo-R98-Ext	OTD-MeasureInfo-R98-Ext		OPTIONAL
	},
	..., 
 timeAssistanceMeasurements GPSTimeAssistanceMeasurements OPTIONAL 
 -- Further R98 extensions here
}

-- This is an addition to OTD-MeasureInfo element defined in original message,
-- If OTD-MeasureInfo is absent, or if one or more OTD-MsrElementRest are present
-- OTD-MeasureInfo-R98-Ext shall be absent.
-- OTD-MeasureInfo-R98-Ext
OTD-MeasureInfo-R98-Ext ::= SEQUENCE {
	-- Measurement info elements
	otdMsrFirstSets-R98-Ext		OTD-MsrElementFirst-R98-Ext
}

-- OTD measurement information Ext for the first set only
OTD-MsrElementFirst-R98-Ext ::= SEQUENCE {
	-- additional measured neighbors in OTD measurements
	otd-FirstSetMsrs-R98-Ext 	SeqOfOTD-FirstSetMsrs-R98-Ext 	OPTIONAL
}
SeqOfOTD-FirstSetMsrs-R98-Ext ::= SEQUENCE (SIZE(1..5)) OF OTD-FirstSetMsrs

Rel-5-MsrPosition-Rsp-Extension ::= SEQUENCE {

	extended-reference	Extended-reference 	OPTIONAL,
	-- The extended-reference shall be included by the MS if and only if previously
	-- received from the SMLC in a Measure Position Request. When included, the value sent
	-- by the MS shall equal the value received from the SMLC.

	-- extension to Release 5, for RRLP pseudo-segmentation here
	otd-MeasureInfo-5-Ext	OTD-MeasureInfo-5-Ext	OPTIONAL,
	ulPseudoSegInd			UlPseudoSegInd			OPTIONAL,	-- Included when uplink RRLP
	-- Pseudo-segmentation is used, not included when no uplink pseudo-segmentation is used
	...
					-- Possibly more extensions for Release 5 here later
}

Extended-reference ::= SEQUENCE {
	smlc-code			INTEGER (0..63),
	transaction-ID		INTEGER (0..262143)
}

OTD-MeasureInfo-5-Ext ::= SeqOfOTD-MsrElementRest
	-- if more than one measurement sets are present this element is repeated
	-- NumberOfSets - 1 (-1 = first set) combined in OTD-MeasureInfo-5-Ext and
	-- OTD-MeasureInfo (e.g. if NumberOfSets is 3, then one otdMsrRestSets may
	-- be sent in OTD-MeasureInfo-5-Ext and one in OTD-MeasureInfo)

-- First part of Uplink RRLP Pseudo-segmentation indication, possibly more may be defined
-- in the future for segmentation with more than two segments.
UlPseudoSegInd ::= ENUMERATED {
	firstOfMany (0),
	secondOfMany(1)
}

Rel5-MsrPosition-Req-Extension ::= SEQUENCE {
	extended-reference			Extended-reference,
	...
	-- Possibly more extensions for Release 5 here later
}

Rel5-AssistanceData-Extension ::= SEQUENCE {
	extended-reference			Extended-reference,
	...

-- Possibly more extensions for Release 5 here later
}

Rel-5-ProtocolError-Extension::= SEQUENCE {
	extended-reference			Extended-reference 	OPTIONAL,
	-- The extended-reference shall be included by the MS if and only if previously
	-- received from the SMLC.
	-- When included, the value sent by the MS shall equal the value received from the SMLC.
	...

	-- Possibly more extensions for Release 5 here later
}

-- Release 7 Extensions here

Rel7-MsrPosition-Req-Extension ::= SEQUENCE {
	velocityRequested								NULL					OPTIONAL,
	ganssPositionMethod								GANSSPositioningMethod	OPTIONAL,
	ganss-AssistData								GANSS-AssistData		OPTIONAL,
	ganssCarrierPhaseMeasurementRequest			NULL					OPTIONAL,
	ganssTODGSMTimeAssociationMeasurementRequest	NULL					OPTIONAL,
	requiredResponseTime							RequiredResponseTime	OPTIONAL,
	add-GPS-AssistData								Add-GPS-AssistData		OPTIONAL,
	ganssMultiFreqMeasurementRequest				NULL					OPTIONAL,
	...
	-- Further Release 7 extentions here
}

-- additional satellite systems may be added in future versions of the protocol
-- Bit 0 of GANSSPositioningMethod bit map shall not be the only one set to TRUE ('1')
GANSSPositioningMethod ::= BIT STRING {
	gps 	 	 	 (0),
	galileo 	 	 (1),
	sbas 	 	 	 (2),
	modernizedGPS 	 (3),
	qzss 	 	 	 (4),
	glonass 	 	 (5),
    bds             (6)} (SIZE (2..16))

GANSS-AssistData ::= SEQUENCE {
	ganss-controlHeader	GANSS-ControlHeader
}
GANSS-ControlHeader ::= SEQUENCE {
 ganssCommonAssistData 			GANSSCommonAssistData 				OPTIONAL,
 ganssGenericAssistDataList 	SeqOfGANSSGenericAssistDataElement 	OPTIONAL
}

-- GANSS Common Assistance Data Elements
GANSSCommonAssistData ::= SEQUENCE {
	ganssReferenceTime		 	GANSSReferenceTime		 	OPTIONAL,
	ganssRefLocation			GANSSRefLocation		 	OPTIONAL,
	ganssIonosphericModel		GANSSIonosphericModel	 	OPTIONAL,
	... ,
	ganssAddIonosphericModel	GANSSAddIonosphericModel	OPTIONAL,
	ganssEarthOrientParam		GANSSEarthOrientParam		OPTIONAL,
	-- If GANSSReferenceTime is included, GANSSReferenceTime-R10-Ext shall also be included.
	ganssReferenceTime-R10-Ext	GANSSReferenceTime-R10-Ext	OPTIONAL
}

-- List of GANSS Generic Assistance Data Elements, up to 8 GANSS
SeqOfGANSSGenericAssistDataElement ::= SEQUENCE (SIZE (1..8)) OF GANSSGenericAssistDataElement
-- GANSS Generic Assistance Data Elements
GANSSGenericAssistDataElement ::= SEQUENCE {
	ganssID 	INTEGER (0..7)	OPTIONAL, -- Coding according to Annex
	ganssTimeModel	SeqOfGANSSTimeModel	OPTIONAL,
	ganssDiffCorrections	GANSSDiffCorrections	OPTIONAL,
	ganssNavigationModel	GANSSNavModel	OPTIONAL,
	ganssRealTimeIntegrity	GANSSRealTimeIntegrity	OPTIONAL,
	ganssDataBitAssist	GANSSDataBitAssist	OPTIONAL,
	ganssRefMeasurementAssist	GANSSRefMeasurementAssist 	OPTIONAL,
	ganssAlmanacModel	GANSSAlmanacModel	OPTIONAL,
	ganssUTCModel	GANSSUTCModel	OPTIONAL,
	ganssEphemerisExtension	GANSSEphemerisExtension	OPTIONAL,
	ganssEphemerisExtCheck	GANSSEphemerisExtensionCheck	OPTIONAL,
	... ,
	sbasID	INTEGER (0..7) 	OPTIONAL, -- Coding according to Annex
	ganssAddUTCModel	GANSSAddUTCModel	OPTIONAL,
	ganssAuxiliaryInfo	GANSSAuxiliaryInformation	OPTIONAL,
	ganssDiffCorrectionsValidityPeriod	GANSSDiffCorrectionsValidityPeriod	OPTIONAL,
	-- If SeqOfGANSSTimeModel is included, SeqOfGANSSTimeModel-R10-Ext shall also be included.
	ganssTimeModel-R10-Ext	SeqOfGANSSTimeModel-R10-Ext	OPTIONAL,
	-- If GANSSRefMeasurementAssist is included, GANSSRefMeasurementAssist-R10-Ext shall also be 
	-- included.
	ganssRefMeasurementAssist-R10-Ext	GANSSRefMeasurementAssist-R10-Ext	OPTIONAL,
	-- If GANSSAlmanacModel is included, GANSSAlmanacModel-R10-Ext shall also be included.
	ganssAlmanacModel-R10-Ext	GANSSAlmanacModel-R10-Ext 	OPTIONAL,
	ganssAlmanacModel-R12-Ext	GANSSAlmanacModel-R12-Ext 	OPTIONAL,
	ganssRefMeasurementAssist-R12-Ext	GANSSRefMeasurementAssist-R12-Ext	OPTIONAL,
	--The field may be present if the ganssID indicates BDS, otherwise it is not present.
	bdsDifferentialCorrections-r12		BDS-DiffCorrections-r12			OPTIONAL,	
	--The field may be present if the ganssID indicates BDS, otherwise it is not present.
	bdsGridModel-r12	BDS-GridModelParameter-r12	OPTIONAL	
}

-- GANSS COMMON ASSISTANCE DATA ELEMENTS

-- GANSS Reference Time IE
GANSSReferenceTime ::= SEQUENCE {
	ganssRefTimeInfo				GANSSRefTimeInfo,
	ganssTOD-GSMTimeAssociation 	GANSSTOD-GSMTimeAssociation OPTIONAL
}

-- GANSS Reference Time includes GANSS TOD, GANSS Day, uncertainty
GANSSRefTimeInfo ::= SEQUENCE {
	-- ganssDay shall be present in this version of the protocol
	ganssDay			 INTEGER(0 .. 8191) 	 OPTIONAL,
 	ganssTOD			 GANSSTOD,
	ganssTODUncertainty	 GANSSTODUncertainty	 OPTIONAL,
 	ganssTimeID 		 INTEGER (0 .. 7) 		 OPTIONAL
}

-- GANSS TOD integer seconds
GANSSTOD ::= INTEGER (0 .. 86399)

-- GANSS TOD uncertainty
GANSSTODUncertainty ::= INTEGER (0 .. 127) -- Coding according to Annex

-- GANSS Reference Time Rel-10 Extension:
GANSSReferenceTime-R10-Ext ::= SEQUENCE {
	ganssDayCycleNumber		INTEGER(0..7) 	-- coding according to annex
}
-- GANSS TOD-GSM Time association 
GANSSTOD-GSMTimeAssociation ::= SEQUENCE {
	bcchCarrier		BCCHCarrier,	-- BCCH carrier
	bsic			BSIC,			-- BSIC
	frameNumber		FrameNumber,
	timeSlot		TimeSlot,
	bitNumber		BitNumber,
 	frameDrift 		FrameDrift 			OPTIONAL
}

-- Frame drift
FrameDrift ::= INTEGER(-64 .. 63)

-- GANSS Reference Location IE
GANSSRefLocation ::= SEQUENCE {
	threeDLocation			Ext-GeographicalInformation
}

-- GANSS Ionospheric Model IE
-- GANSS Ionospheric Model consists of NeQuick model parameters and storm flags
GANSSIonosphericModel ::= SEQUENCE {
 	ganssIonoModel 			GANSSIonosphereModel,
 	ganssIonoStormFlags 	GANSSIonoStormFlags 			OPTIONAL,
 	...
}

-- GANSS ionosphere model. Coding according to Annex 
GANSSIonosphereModel ::= SEQUENCE {
 	ai0 INTEGER (0 .. 2047),
 	ai1 INTEGER (-1024 .. 1023),
 	ai2 INTEGER (-8192 .. 8191)
}

-- GANSS ionosphere storm flags
GANSSIonoStormFlags ::= SEQUENCE {
	ionoStormFlag1	INTEGER (0 .. 1),
	ionoStormFlag2	INTEGER (0 .. 1),
	ionoStormFlag3	INTEGER (0 .. 1),
	ionoStormFlag4	INTEGER (0 .. 1),
	ionoStormFlag5	INTEGER (0 .. 1)
}

-- GANSS Additional Ionospheric Model IE
-- GANSS Additional Ionospheric Model consists of Klobuchar model parameters
GANSSAddIonosphericModel ::= SEQUENCE {
	dataID		BIT STRING (SIZE (2)), 	 -- Coding according to Annex
	ionoModel	IonosphericModel
}

-- GANSS Earth Orientation Paramaters IE
GANSSEarthOrientParam ::= 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)
}

-- GANSS GENERIC ASSISTANCE DATA ELEMENTS

-- GANSS Time Model IE consists of time offset and first and second order parameters to relate GNSS
-- specific system time to selected time reference
SeqOfGANSSTimeModel ::= SEQUENCE (SIZE(1..7)) OF GANSSTimeModelElement

GANSSTimeModelElement ::= SEQUENCE {
	ganssTimeModelRefTime		INTEGER(0 .. 65535),
	tA0		 					TA0,
	tA1		 					TA1 					OPTIONAL,
	tA2		 					TA2 					OPTIONAL,
 	gnssTOID 					INTEGER (0 .. 7), 		-- coding according to annex
 	weekNumber 					INTEGER (0 .. 8191) 	OPTIONAL 
}

-- GANSS time model parameter A0
TA0 ::= INTEGER (-2147483648 .. 2147483647)

-- GANSS time model parameter A1
TA1 ::= INTEGER (-8388608 .. 8388607)

-- GANSS time model parameter A2
TA2 ::= INTEGER (-64 .. 63)

-- GANSS Time Model Rel-10 Extension:
SeqOfGANSSTimeModel-R10-Ext ::= SEQUENCE (SIZE(1..7)) OF GANSSTimeModelElement-R10-Ext

GANSSTimeModelElement-R10-Ext ::= SEQUENCE {
	gnssTOID 		INTEGER (0 .. 7), 		-- coding according to annex
 	deltaT 			INTEGER (-128..127)
}

-- DGANSS Corrections IE
GANSSDiffCorrections ::= SEQUENCE {
	dganssRefTime		INTEGER (0 .. 119),	 -- DGANSS reference time

	-- N_SGN_TYPE can be read from number of elements of sgnTypeList
	sgnTypeList		 SeqOfSgnTypeElement
}

SeqOfSgnTypeElement ::= SEQUENCE (SIZE (1..3)) OF SgnTypeElement -- max three signals per GNSS

-- DGANSS signal type element, once per GNSS signal type included in DGANSS
SgnTypeElement ::= SEQUENCE {
	ganssSignalID		 GANSSSignalID, -- signal type identity
 	ganssStatusHealth	 INTEGER (0 .. 7),
	-- N_SAT can be read from number of elements of dganssSgnList
 	dganssSgnList		 SeqOfDGANSSSgnElement
}

GANSSSignalID ::= INTEGER (0 .. 7)	-- Coding according to Annex
SeqOfDGANSSSgnElement ::= SEQUENCE (SIZE (1..16)) OF DGANSSSgnElement

-- number of correction for signals
DGANSSSgnElement ::= SEQUENCE {
	svID		 	SVID, -- Satellite identity

--- Sequence number for GANSS Navigation Model that matches the DGANSS correction set
	iod 			INTEGER (0 .. 1023),

	-- User Differential Range Error
	udre			INTEGER (0..3),		

	-- Pseudo Range Correction, range is
	-- -655,04 - +655,04,
	pseudoRangeCor	INTEGER (-2047..2047), 	

	-- Pseudo Range Rate Correction, range is
	-- -4,064 - +4,064,
	rangeRateCor	INTEGER (-127..127)
}

SVID ::= INTEGER (0 .. 63)	-- Coding according to Annex

-- GANSS Navigation Model IE
GANSSNavModel ::= SEQUENCE {
 	nonBroadcastIndFlag 	INTEGER (0 .. 1), 
	ganssSatelliteList 		SeqOfGANSSSatelliteElement
}

SeqOfGANSSSatelliteElement ::= SEQUENCE (SIZE(1..32)) OF GANSSSatelliteElement

GANSSSatelliteElement ::= SEQUENCE {
 svID 				SVID,
 svHealth 			BIT STRING (SIZE(5)), 	-- Coding according to Annex
 iod 				INTEGER (0 .. 1023), 	-- Coding according to Annex
 ganssClockModel 	GANSSClockModel, 
 ganssOrbitModel 	GANSSOrbitModel,  
 ...,
 svHealthMSB		BIT STRING (SIZE(1)) 	OPTIONAL, -- Coding according to Annex
 iodMSB				INTEGER (0 .. 1) 		OPTIONAL,  -- Coding according to Annex
 svHealthExt		BIT STRING (SIZE(4)) 	OPTIONAL  -- Coding according to Annex
}

-- GANSS orbit model for the GNSS satellite according to the choice
GANSSOrbitModel ::= CHOICE {
	keplerianSet	 	NavModel-KeplerianSet,		-- Model-1
	... ,
	navKeplerianSet	 	NavModel-NAVKeplerianSet, 	-- Model-2
	cnavKeplerianSet	NavModel-CNAVKeplerianSet, 	-- Model-3
	glonassECEF			NavModel-GLONASSecef, 		-- Model-4
	sbasECEF			NavModel-SBASecef,			-- Model-5
	bdsKeplerianSet-r12	NavModel-BDSKeplerianSet-r12		-- Model-6
}

-- Navigation model in Keplerian parameters
NavModel-KeplerianSet ::= 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)
}

NavModel-NAVKeplerianSet ::= 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)
}

NavModel-CNAVKeplerianSet ::= 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)
}

NavModel-GLONASSecef ::= 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)
}


NavModel-SBASecef ::= SEQUENCE {
	sbasTo				INTEGER (0..5399) 					OPTIONAL,
	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)
}

NavModel-BDSKeplerianSet-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)
}

-- GANSS clock model for the GNSS satellite according to the choice
GANSSClockModel ::= CHOICE {
	standardClockModelList	 SeqOfStandardClockModelElement,	-- Model-1
	... ,
	navClockModel			 NAVclockModel, 					-- Model-2
	cnavClockModel			 CNAVclockModel, 					-- Model-3
	glonassClockModel		 GLONASSclockModel, 				-- Model-4
	sbasClockModel			 SBASclockModel	,					-- Model-5
	bdsClockModel-r12		 BDSClockModel-r12					-- Model-6
}

SeqOfStandardClockModelElement ::= 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,
 	stanModelID 	INTEGER (0 .. 1) 					OPTIONAL,
 	...
} 

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

CNAVclockModel ::= 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,
	cnavISCl1cd		INTEGER (-4096..4095) 			OPTIONAL,
	cnavISCl1ca		INTEGER (-4096..4095) 			OPTIONAL,
	cnavISCl2c		INTEGER (-4096..4095) 			OPTIONAL,
	cnavISCl5i5		INTEGER (-4096..4095) 			OPTIONAL,
	cnavISCl5q5		INTEGER (-4096..4095) 			OPTIONAL
}

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

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

BDSClockModel-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)
}

-- GANSS Real-Time Integrity IE
GANSSRealTimeIntegrity ::= SEQUENCE {
 -- list of satellites with bad signals
 -- NBS can be read from number of elements in SeqOf-BadSignalSet
 	ganssBadSignalList 		SeqOfBadSignalElement
}

SeqOfBadSignalElement ::= SEQUENCE (SIZE(1..16)) OF BadSignalElement

BadSignalElement ::= SEQUENCE {
 	badSVID 		SVID, 						 -- Coding according to Annex
 	badSignalID 	GANSSSignals 	OPTIONAL	 -- Coding according to Annex
}

-- GANSS Data Bit Assistance IE
GANSSDataBitAssist ::= SEQUENCE {
	ganssTOD 					INTEGER (0 .. 59),
	-- N_SAT can be read from number of elements in SeqOfGanssDataBitsElement
	ganssDataBitsSatList		SeqOfGanssDataBitsElement,
	...
}

SeqOfGanssDataBitsElement ::= SEQUENCE (SIZE(1 .. 32))OF GanssDataBitsElement

GanssDataBitsElement ::= SEQUENCE {
	svID					SVID,
	-- N_SGN can be read from number of elements in Seq-OfGANSSDataBitsSgn
	ganssDataBitsSgnList	Seq-OfGANSSDataBitsSgn,
	...
}

Seq-OfGANSSDataBitsSgn ::= SEQUENCE (SIZE(1..8)) OF GANSSDataBitsSgnElement

GANSSDataBitsSgnElement ::= SEQUENCE {
	ganssSignalType		GANSSSignalID,
	-- N_BIT can be read from number of elements in SeqOf-DataBits
	ganssDataBits		SeqOf-GANSSDataBits,
	...
}

SeqOf-GANSSDataBits ::= SEQUENCE (SIZE(1 .. 1024)) OF GANSSDataBit
GANSSDataBit ::= INTEGER(0 .. 1)

-- GANSS Reference Measurement Assistance IE
-- Code and Doppler assistance from the network. 
GANSSRefMeasurementAssist ::= SEQUENCE {
	ganssSignalID			GANSSSignalID,	-- Coding according to Annex
	ganssRefMeasAssistList	SeqOfGANSSRefMeasurementElement
}

SeqOfGANSSRefMeasurementElement ::= SEQUENCE (SIZE(1 .. 16)) OF GANSSRefMeasurementElement

GANSSRefMeasurementElement ::= SEQUENCE {
	svID					SVID,
	-- Doppler 0th order term,
	-- -1024 m/s to 1023,5 m/s with 0,5 m/s resolution)
	doppler0				INTEGER (-2048 .. 2047),					-- Coding according to Annex
	additionalDoppler		AdditionalDopplerFields			OPTIONAL,
	codePhase				INTEGER (0 .. 1022),						-- Code Phase in ms
	intCodePhase			INTEGER (0 .. 127),							-- Integer Code Phase in ms
	codePhaseSearchWindow	INTEGER (0 .. 31),				-- Code Phase Search Window, see Annex
	additionalAngle			AddionalAngleFields		 		OPTIONAL,
	...,
	codePhase1023			BOOLEAN							OPTIONAL

}

AdditionalDopplerFields ::= SEQUENCE {
	-- Doppler 1st order term, -0,2 - +0,1 m/s2
	-- ( = -42 + (0 to 63) with 1/210 m/s2 resolution)
	doppler1				INTEGER (0..63),
	dopplerUncertainty		INTEGER (0..4)
}
-- GANSS Reference Measurement Rel-10 Extension:
-- GANSSRefMeasurementAssist-R10-Ext shall contain the same number of elements as the 
-- SeqOfGANSSRefMeasurementElement included in GANSSRefMeasurementAssist IE
GANSSRefMeasurementAssist-R10-Ext ::= SEQUENCE (SIZE(1 .. 16)) OF 
															GANSSRefMeasurement-R10-Ext-Element

GANSSRefMeasurement-R10-Ext-Element ::= SEQUENCE {
	svID				SVID,
	azimuthLSB			INTEGER(0..15),
	elevationLSB		INTEGER(0..15)
}

-- GANSS Reference Measurement Rel-12 Extension:
GANSSRefMeasurementAssist-R12-Ext ::= SEQUENCE {
	ganssSignalID			GANSSSignalID,
	confidence				INTEGER (0..100) 					OPTIONAL,
	ganssRefMeasAssistList	SeqOfGANSSRefMeasurementElement-R12	OPTIONAL
}


SeqOfGANSSRefMeasurementElement-R12 ::= SEQUENCE (SIZE(1 .. 16)) OF 
															GANSSRefMeasurement-R12-Ext-Element

GANSSRefMeasurement-R12-Ext-Element ::= SEQUENCE {
	svID						SVID,
	dopplerUncertaintyExt		ENUMERATED {	d60, 
												d80,
											 	d100,
			 									d120,
											 	noInformation, ...}
}

-- GANSS Almanac Model IE
GANSSAlmanacModel ::= SEQUENCE {
 	weekNumber 			INTEGER (0 .. 255),
	toa 				INTEGER (0 .. 255) 	OPTIONAL,
	ioda 				INTEGER (0 .. 3) 	OPTIONAL,
	ganssAlmanacList 	SeqOfGANSSAlmanacElement
}


SeqOfGANSSAlmanacElement ::= SEQUENCE (SIZE(1 .. 36)) OF GANSSAlmanacElement

-- GANSS Almanac Model 
GANSSAlmanacElement ::= CHOICE {
	keplerianAlmanacSet	 	Almanac-KeplerianSet,				-- Model-1
 	...,
	keplerianNAVAlmanac	 	Almanac-NAVKeplerianSet, 			-- Model-2
	keplerianReducedAlmanac	Almanac-ReducedKeplerianSet, 	-- Model-3
	keplerianMidiAlmanac	Almanac-MidiAlmanacSet, 			-- Model-4
	keplerianGLONASS		Almanac-GlonassAlmanacSet, 		-- Model-5
	ecefSBASAlmanac			Almanac-ECEFsbasAlmanacSet,		-- Model-6
	keplerianBDSAlmanac-r12	Almanac-BDSAlmanacSet-r12		-- Model-7
}

-- Almanac parameters according to Keplerian parameters
Almanac-KeplerianSet ::= SEQUENCE {
	svID					SVID,
 	kepAlmanacE			 	INTEGER (0 .. 2047),
	kepAlmanacDeltaI		INTEGER (-1024 .. 1023),
	kepAlmanacOmegaDot		INTEGER (-1024 .. 1023),
	kepSVStatusINAV			BIT STRING (SIZE (4)),					 
	kepSVStatusFNAV			BIT STRING (SIZE (2)) 			OPTIONAL,
	kepAlmanacAPowerHalf	INTEGER (-4096..4095),
	kepAlmanacOmega0		INTEGER (-32768 .. 32767),
	kepAlmanacW			 	INTEGER (-32768 .. 32767),
	kepAlmanacM0			INTEGER (-32768 .. 32767),
	kepAlmanacAF0			INTEGER (-32768..32767),
	kepAlmanacAF1			INTEGER (-4096..4095)
}

Almanac-NAVKeplerianSet ::= SEQUENCE {
	svID					SVID,
	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)
}

Almanac-ReducedKeplerianSet ::= SEQUENCE {
	svID					SVID,
	redAlmDeltaA			INTEGER (-128..127),
	redAlmOmega0			INTEGER (-64..63),
	redAlmPhi0				INTEGER (-64..63),
	redAlmL1Health			BOOLEAN,
	redAlmL2Health			BOOLEAN,
	redAlmL5Health			BOOLEAN
}

Almanac-MidiAlmanacSet ::= SEQUENCE {
	svID					SVID,
	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
}

Almanac-GlonassAlmanacSet ::= SEQUENCE {
	gloAlmNA				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
}

Almanac-ECEFsbasAlmanacSet ::= SEQUENCE {
	sbasAlmDataID			INTEGER (0..3),
	svID					SVID,
	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)
}

Almanac-BDSAlmanacSet-r12 ::= SEQUENCE {
	svID						SVID,
	--This field may be present if the toa is not the same for all SVs; otherwise it is not present and the toa is provided in GANSSAlmanacModel
	bdsAlmToa-r12			INTEGER (0..255)						OPTIONAL,
	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),
	--This field is mandatory present if SV-ID is between 0 and 29; otherwise it is not present.
	bdsSvHealth-r12			BIT STRING (SIZE(9))					OPTIONAL
}

-- GANSS Almanac Model Rel-10 Extension
GANSSAlmanacModel-R10-Ext ::= SEQUENCE {
	completeAlmanacProvided		BOOLEAN	-- TRUE means that complete Almanac is provided
}

-- GANSS Almanac Model Rel-12 Extension
GANSSAlmanacModel-R12-Ext ::= SEQUENCE {
-- Either toa in GANSSAlmanacModel or toa-ext shall be present if GANSS-ID indicates Galileo
	toa-ext 				INTEGER (256..1023) 	OPTIONAL,
-- Either ioda in GANSSAlmanacModel or ioda-ext shall be present if GANSS-ID indicates Galileo
	ioda-ext 				INTEGER (4..15) 		OPTIONAL
}

-- GANSS Universal Time Coordinate Model (Model-1)
GANSSUTCModel ::= SEQUENCE {
	ganssUtcA1			INTEGER (-8388608..8388607),
	ganssUtcA0			INTEGER (-2147483648..2147483647),
	ganssUtcTot			INTEGER (0..255),
	ganssUtcWNt			INTEGER (0..255),
	ganssUtcDeltaTls	INTEGER (-128..127),
	ganssUtcWNlsf		INTEGER (0..255),
	ganssUtcDN			INTEGER (-128..127),
	ganssUtcDeltaTlsf	INTEGER (-128..127)
}

--GANSS Ephemeris Extension
GANSSEphemerisExtension ::= SEQUENCE {
	ganssEphemerisHeader			GANSSEphemerisExtensionHeader			OPTIONAL,
	ganssReferenceSet				SeqOfGANSSRefOrbit						OPTIONAL,
	ganssephemerisDeltasMatrix		GANSSEphemerisDeltaMatrix				OPTIONAL,
...
}

-- The ganssEphemerisHeader and the ganssReferenceSet are mandatory only once in the delivery of the
-- GANSS Ephemeris Extension.  The ganssReferenceSet shall include all healthy satellite vehicles 
-- at the time of message construction.

GANSSEphemerisExtensionHeader ::= SEQUENCE {
	timeAtEstimation			GANSSEphemerisExtensionTime,
	validityPeriod				INTEGER(1..8),
-- The validity period, represented in hours, is the validity period of each individual ephemeris 
-- delta payload
	ephemerisExtensionDuration	INTEGER(1..512),
-- If the ephemerisExtensionDuration does not match the request duration made by the MS, the MS
-- should regard the provided ephemerisExtensionDuration as the limit of the SMLC ephemeris
-- extension capability at this time.
...
}

GANSSEphemerisExtensionTime ::= SEQUENCE {
	ganssEphExtDay		INTEGER(0..8191),
	ganssEphExtTOD		GANSSTOD,
...
}

-- Reference Nav Model for Ephepmeris Extension
ReferenceNavModel ::= SEQUENCE {
 	keplerToe			INTEGER (0..37799),
	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)
}

SeqOfGANSSRefOrbit ::= SEQUENCE (SIZE(1..32)) OF GANSSReferenceOrbit
--The number of reference orbits can be read from number of elements in this sequence

GANSSReferenceOrbit ::= SEQUENCE {
	svID				SVID,
	ganssOrbitModel		ReferenceNavModel, 
	ganssClockModel		GANSSClockModel, 
...
}

GANSSEphemerisDeltaMatrix ::= SEQUENCE (SIZE(1 .. 128)) OF GANSSEphemerisDeltaEpoch

GANSSEphemerisDeltaEpoch ::= SEQUENCE {
	ganssDeltaEpochHeader		GANSSDeltaEpochHeader				OPTIONAL,
	ganssDeltaElementList		GANSSDeltaElementList,
...
}
-- Each GANSSDeltaEpoch element contains a header and the delta values for a particular time window
-- for all PRN's.

GANSSDeltaEpochHeader ::= SEQUENCE {
	validityPeriod				INTEGER(1..8)					OPTIONAL,
	ephemerisDeltaSizes			GANSSEphemerisDeltaBitSizes		OPTIONAL,
	ephemerisDeltaScales		GANSSEphemerisDeltaScales		OPTIONAL,
...
}
-- In each of the GANSSDeltaEpochs, if the optional element, validityPeriod is not included, the
-- value in GANSSEphemerisExtensionHeader shall be used.  If the optional elements 
-- ephemerisDeltaSizes or ephemerisDeltaScales are not included, then the default ephemeris delta
-- sizes and scales shall be used.  The default sizes and scales are found in the annex in the 
-- table 55.11.

GANSSDeltaElementList ::= SEQUENCE (SIZE(1 .. 32)) OF OCTET STRING(SIZE (1..49))
-- Each octet string element in GANSSDeltaElementList corresponds to one PRN within one epoch

-- Table 55.11 of the annex shows the organization of the delta ephemeris octet string.
-- Decoding of each of the octet strings is accomplished by consulting the ephemerisDeltaSizes
-- table to learn the length and order of each of the parameters in the ephemerisDelta payload.

-- Post decode scaling is accomplished by consulting the ephemerisDeltaScales table to learn the
-- scale factors to apply to the terms in the delta ephemeris.

-- Ephemeris Delta Bit Sizes.

GANSSEphemerisDeltaBitSizes ::= SEQUENCE {

-- This structure defines the order and sizes of the fields in the GANSSDeltaEpoch octet string 
-- seqNum and svID are the first two elements of each GANSS Ephemeris Delta Element Structure
-- seqNum is always 7 bits, and svID is always 6 bits long and are thus not included in
-- the GANSSEphemerisDeltaBitSizes table.  The value of seqNum indicates the GANSSDeltaEpoch number

-- The Ephemeris delta element payload mimics the bitsize table, but also includes the svID and 
-- seqNum as the first two elements (in that order),in each block.

	bitsize-delta-omega			INTEGER(1..32),
	bitsize-delta-deltaN		INTEGER(1..16),
	bitsize-delta-m0			INTEGER(1..32),
	bitsize-delta-omegadot		INTEGER(1..24),
	bitsize-delta-e				INTEGER(1..32),
	bitsize-delta-idot			INTEGER(1..14),
	bitsize-delta-sqrtA			INTEGER(1..32),
	bitsize-delta-i0			INTEGER(1..32),
	bitsize-delta-omega0		INTEGER(1..32),
	bitsize-delta-crs			INTEGER(1..16),
	bitsize-delta-cis			INTEGER(1..16),
	bitsize-delta-cus			INTEGER(1..16),
	bitsize-delta-crc			INTEGER(1..16),
	bitsize-delta-cic			INTEGER(1..16),
	bitsize-delta-cuc			INTEGER(1..16),
	bitsize-delta-tgd1			INTEGER(1..10),
	bitsize-delta-tgd2			INTEGER(1..10),
...
}

GANSSEphemerisDeltaScales ::= SEQUENCE {

	scale-delta-omega			INTEGER(-16..15),
	scale-delta-deltaN			INTEGER(-16..15),
	scale-delta-m0				INTEGER(-16..15),
	scale-delta-omegadot		INTEGER(-16..15),
	scale-delta-e				INTEGER(-16..15),
	scale-delta-idot			INTEGER(-16..15),
	scale-delta-sqrtA			INTEGER(-16..15),
	scale-delta-i0				INTEGER(-16..15),
	scale-delta-omega0			INTEGER(-16..15),
	scale-delta-crs				INTEGER(-16..15),
	scale-delta-cis				INTEGER(-16..15),
	scale-delta-cus				INTEGER(-16..15),
	scale-delta-crc				INTEGER(-16..15),
	scale-delta-cic				INTEGER(-16..15),
	scale-delta-cuc				INTEGER(-16..15),
	scale-delta-tgd1			INTEGER(-16..15),
	scale-delta-tgd2			INTEGER(-16..15),
...
}

-- GANSS Ephemeris Extension Check
GANSSEphemerisExtensionCheck ::= SEQUENCE {
	ganssBeginTime			GANSSEphemerisExtensionTime,
	ganssEndTime			GANSSEphemerisExtensionTime,
	ganssSatEventsInfo		GANSSSatEventsInfo,
...
}

GANSSSatEventsInfo ::= SEQUENCE {
	eventOccured		BIT STRING (SIZE (64)),
	futureEventNoted	BIT STRING (SIZE (64)),
...
}
-- If a bit is clear in the eventOccured field it indicates that no known errors have occured
-- between the current time and the ganssBeginTime nor is a maneuver planned for the next sixty
-- minutes.
-- If a bit is set in the futureEventNoted field it indicates that a maneuver is planned during the
-- time period between current time plus sixty minutes and the ganssEndTime
-- GANSS Additional Universal Time Coordinate Model
GANSSAddUTCModel ::= CHOICE {
	utcModel2			UTCmodelSet2,
	utcModel3			UTCmodelSet3,
	utcModel4			UTCmodelSet4,
	... ,
	utcModel5-r12		UTCmodelSet5-r12
}

UTCmodelSet2 ::= 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)
}

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

UTCmodelSet4 ::= 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) 			-- coding according to annex
}

UTCmodelSet5-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)
}

-- GANSS Auxiliary Information
GANSSAuxiliaryInformation ::= CHOICE{
	ganssID1	GANSS-ID1, 	-- This choice may only be present if GANSS ID indicates Modernized GPS
	ganssID3	GANSS-ID3, 	-- This choice may only be present if GANSS ID indicates GLONASS
	...
}

GANSS-ID1 ::= SEQUENCE (SIZE(1..64)) OF GANSS-ID1-element

GANSS-ID1-element ::= SEQUENCE {
	svID				SVID,
	signalsAvailable	GANSSSignals,
	...
}

GANSS-ID3 ::= SEQUENCE (SIZE(1..64)) OF GANSS-ID3-element

GANSS-ID3-element  ::= SEQUENCE {
	svID				SVID,
	signalsAvailable	GANSSSignals,
	channelNumber		INTEGER (-7..13),
	...
}

-- DGANSS Corrections Validity Period:
-- This element may only be included if GANSSDiffCorrections IE is included in 
-- GANSSGenericAssistDataElement element.
-- GANSSDiffCorrectionsValidityPeriod shall contain the same number of elements as the 
-- SeqOfSgnTypeElement included in GANSSDiffCorrections IE
GANSSDiffCorrectionsValidityPeriod ::= SEQUENCE (SIZE (1..3)) OF DGANSSExtensionSgnTypeElement

DGANSSExtensionSgnTypeElement ::= SEQUENCE {
	ganssSignalID		 		GANSSSignalID, -- signal type identity
	dganssExtensionSgnList		SeqOfDGANSSExtensionSgnElement
}

-- SeqOfDGANSSExtensionSgnElement shall contain the same number of elements as the 
-- SeqOfDGANSSSgnElement included in GANSSDiffCorrections IE
SeqOfDGANSSExtensionSgnElement ::= SEQUENCE (SIZE (1..16)) OF DGANSSExtensionSgnElement

DGANSSExtensionSgnElement ::= SEQUENCE {
	svID				SVID, 			-- Satellite identity
	udreGrowthRate		INTEGER(0..7), 	-- coding according to annex
	udreValidityTime	INTEGER(0..7), 	-- coding according to annex
	...
}

--Required Measurement Request Response Time, range is 1 to 128 seconds. 
RequiredResponseTime ::= INTEGER  (1..128)

-- Control header for additional GPS assistance data
Add-GPS-AssistData ::= SEQUENCE {
	add-GPS-controlHeader	Add-GPS-ControlHeader
}

Add-GPS-ControlHeader ::= SEQUENCE {
	gpsEphemerisExtension			GPSEphemerisExtension			OPTIONAL,
	gpsEphemerisExtensionCheck		GPSEphemerisExtensionCheck		OPTIONAL,
	... ,
	dgpsCorrectionsValidityPeriod	DGPSCorrectionsValidityPeriod	OPTIONAL,
	-- If ReferenceTime is included in ControlHeader, GPSReferenceTime-R10-Ext 
	-- shall also be included.
	gpsReferenceTime-R10-Ext		GPSReferenceTime-R10-Ext		OPTIONAL,
	-- If AcquisAssist is included in ControlHeader, GPSAcquisAssist-R10-Ext 
	-- shall also be included.
	gpsAcquisAssist-R10-Ext		GPSAcquisAssist-R10-Ext		OPTIONAL,
	-- If Almanac is included in ControlHeader, GPSAlmanac-R10-Ext 
	-- shall also be included.
	gpsAlmanac-R10-Ext				GPSAlmanac-R10-Ext				OPTIONAL,
	gpsAcquisAssist-R12-Ext		GPSAcquisAssist-R12-Ext		OPTIONAL
}

GPSClockModel ::= SEQUENCE {
	af2		INTEGER (-128..127),
	af1		INTEGER (-32768..32767),
	af0		INTEGER (-2097152..2097151),
	tgd		INTEGER (-128..127)
}

--GPS Ephemeris Extension
GPSEphemerisExtension ::= SEQUENCE {
	gpsEphemerisHeader				GPSEphemerisExtensionHeader	OPTIONAL,
	gpsReferenceSet					SeqOfGPSRefOrbit				OPTIONAL,
	gpsephemerisDeltaMatrix		GPSEphemerisDeltaMatrix		OPTIONAL,
...
}

-- The gpsEphemerisHeader and the gpsReferenceSet are mandatory only once in the delivery of the
-- GPS Ephemeris Extension.  The gpsReferenceSet shall include all healthy satellite vehicles at the
-- time of message construction

-- The SMLC is required to deliver the gpsReferenceSet for all healthy satellite vehicles
-- at the time of message construction.

GPSEphemerisExtensionHeader ::= SEQUENCE {
	timeofEstimation			GPSEphemerisExtensionTime,
	validityPeriod				INTEGER(1..8),
-- The validity period, represented in hours is the validity period of each individual ephemeris 
-- delta payload
	ephemerisExtensionDuration	INTEGER(1..512),
-- If the ephemerisExtensionDuration does not match the request duration made by the MS, the MS
-- should regard the provided ephemerisExtensionDuration as the limit of the SMLC ephemeris
-- extension capability at this time.
...
}

GPSEphemerisExtensionTime ::= SEQUENCE {
	gpsWeek				GPSWeek,
	gpsTOW				INTEGER (0..604799),
...
}

SeqOfGPSRefOrbit ::= SEQUENCE (SIZE(1..32)) OF GPSReferenceOrbit
--The number of reference orbits can be read from number of elements in this sequence

GPSReferenceOrbit ::= SEQUENCE {
	svID				SVID,
	gpsOrbitModel		ReferenceNavModel,
	gpsClockModel		GPSClockModel,
...
}

GPSEphemerisDeltaMatrix ::= SEQUENCE (SIZE(1 .. 128)) OF GPSEphemerisDeltaEpoch

GPSEphemerisDeltaEpoch ::= SEQUENCE {
	gpsDeltaEpochHeader		GPSDeltaEpochHeader				OPTIONAL,
	gpsDeltaElementList		GPSDeltaElementList,
...
}

-- Each GPSDeltaEpoch element contains a header and the delta values for a particular time window 
-- for all PRN's.
GPSDeltaEpochHeader ::= SEQUENCE {
	validityPeriod				INTEGER(1..8)				OPTIONAL,
	ephemerisDeltaSizes			GPSEphemerisDeltaBitSizes	OPTIONAL,
	ephemerisDeltaScales		GPSEphemerisDeltaScales	OPTIONAL,
...
}

-- In each of the GPSDeltaEpochs, if the optional element validityPeriod is not included,
-- the value in GPSEphemerisExtensionHeader shall be used.  if the optional elements 
-- ephemerisDeltaSizes or ephemerisDeltaScales are not included, then the default ephemeris delta
-- sizes and scales shall be used.  The default sizes and scales are found in the annex in section
-- A.29.m

GPSDeltaElementList ::= SEQUENCE (SIZE(1 .. 32)) OF OCTET STRING(SIZE (1..47))

-- Each octet string element in GPSDeltaElementList corresponds to one PRN within one epoch

-- Table A.29.m of the annex shows the organization of the delta ephemeris octet string.
-- Decoding of each of the octet strings is accomplished by consulting the ephemerisDeltaSizes
-- table to learn the length and order of each of the parameters in the ephemerisDelta payload

-- Post decode scaling is accomplished by consulting the ephemerisDeltaScales table to learn the.
-- scale factors to apply to the terms in the delta ephemeris

-- Ephemeris Delta Bit Sizes. 

GPSEphemerisDeltaBitSizes ::= SEQUENCE {

-- This structure defines the order and sizes of the fields in the GPSsDeltaEpoch octet string
-- seqNum and svID are the first two elements of each GPS Ephemeris Delta Element Structure
-- seqNum is always 7 bits, and svID is always 5 bits long and are thus not included in
-- the GPSEphemerisDeltaBitSizes table. seqNum indicates the GPSDeltaEpoch number.

-- The Ephemeris delta element payload mimics the bitsize table, but also includes the svID and
-- seqNum as the first two elements (in that order),in each block.

	bitsize-delta-omega			INTEGER(1..32),
	bitsize-delta-deltaN		INTEGER(1..16),
	bitsize-delta-m0			INTEGER(1..32),
	bitsize-delta-omegadot		INTEGER(1..24),
	bitsize-delta-e				INTEGER(1..32),
	bitsize-delta-idot			INTEGER(1..14),
	bitsize-delta-sqrtA			INTEGER(1..32),
	bitsize-delta-i0			INTEGER(1..32),
	bitsize-delta-omega0		INTEGER(1..32),
	bitsize-delta-crs			INTEGER(1..16),
	bitsize-delta-cis			INTEGER(1..16),
	bitsize-delta-cus			INTEGER(1..16),
	bitsize-delta-crc			INTEGER(1..16),
	bitsize-delta-cic			INTEGER(1..16),
	bitsize-delta-cuc			INTEGER(1..16),
	bitsize-delta-tgd			INTEGER(1..10),
...
}

GPSEphemerisDeltaScales ::= SEQUENCE {
	scale-delta-omega			INTEGER(-16..15),
	scale-delta-deltaN			INTEGER(-16..15),
	scale-delta-m0				INTEGER(-16..15),
	scale-delta-omegadot		INTEGER(-16..15),
	scale-delta-e				INTEGER(-16..15),
	scale-delta-idot			INTEGER(-16..15),
	scale-delta-sqrtA			INTEGER(-16..15),
	scale-delta-i0				INTEGER(-16..15),
	scale-delta-omega0			INTEGER(-16..15),
	scale-delta-crs				INTEGER(-16..15),
	scale-delta-cis				INTEGER(-16..15),
	scale-delta-cus				INTEGER(-16..15),
	scale-delta-crc				INTEGER(-16..15),
	scale-delta-cic				INTEGER(-16..15),
	scale-delta-cuc				INTEGER(-16..15),
	scale-delta-tgd				INTEGER(-16..15),
...
}

GPSEphemerisExtensionCheck ::= SEQUENCE {
	gpsBeginTime			GPSEphemerisExtensionTime,
	gpsEndTime				GPSEphemerisExtensionTime,
	gpsSatEventsInfo		GPSSatEventsInfo,
...
}

GPSSatEventsInfo ::= SEQUENCE {
	eventOccured		BIT STRING (SIZE (32)),
	futureEventNoted	BIT STRING (SIZE (32)),
...
}
-- If a bit is clear in the eventOccured field it indicates that no known errors have occured since 
-- the gpsBeginTime nor is a maneuver planned for the next sixty minutes.
-- If a bit is set in the futureEventNoted field it indicates that a maneuver is planned during the
-- time period between current time plus sixty minutes and gpsEndTime

-- DGPS Corrections Validity Period:
-- This element may only be included if DGPSCorrections IE is included in ControlHeader element.
-- DGPSCorrectionsValidityPeriod shall contain the same number of elements as the SeqOfSatElement
-- included in DGPSCorrections IE
DGPSCorrectionsValidityPeriod ::= SEQUENCE (SIZE (1..16)) OF DGPSExtensionSatElement

DGPSExtensionSatElement ::= SEQUENCE {
	satelliteID			SatelliteID,
	udreGrowthRate		INTEGER(0..7), 	-- coding according to annex
	udreValidityTime	INTEGER(0..7), 	-- coding according to annex
	...
}
-- GPS Reference Time Rel-10 Extension:
GPSReferenceTime-R10-Ext ::= SEQUENCE {
	gpsWeekCycleNumber	INTEGER(0..7) 	-- coding according to annex
}

-- GPS Acquisition Assistance Rel-10 Extension:
-- GPSAcquisAssist-R10-Ext shall contain the same number of elements as the SeqOfAcquisElement
-- included in AcquisAssist IE
GPSAcquisAssist-R10-Ext ::= SEQUENCE(SIZE (1..16)) OF GPSAcquisAssist-R10-Ext-Element

GPSAcquisAssist-R10-Ext-Element::= SEQUENCE {
	satelliteID			SatelliteID,
	azimuthLSB			INTEGER(0..15),
	elevationLSB		INTEGER(0..15)
}

-- GPS Acquisition Assistance Rel-12 Extension:
GPSAcquisAssist-R12-Ext ::= SEQUENCE {
	confidence			INTEGER (0..100) 						OPTIONAL,
	acquisList			SeqOfGPSAcquisAssist-R12-Ext			OPTIONAL
}
SeqOfGPSAcquisAssist-R12-Ext ::= SEQUENCE (SIZE(1..16)) OF GPSAcquisAssist-R12-Ext-Element

GPSAcquisAssist-R12-Ext-Element ::= SEQUENCE {
	satelliteID					SatelliteID,
	dopplerUncertaintyExt		ENUMERATED {	d300, 
												d400,
											 	d500,
			 									d600,
											 	noInformation, ...}
}

-- GPS Almanac Rel-10 Extension:
GPSAlmanac-R10-Ext ::= SEQUENCE {
	completeAlmanacProvided		BOOLEAN	-- TRUE means that complete Almanac is provided
}

Rel-7-MsrPosition-Rsp-Extension ::= SEQUENCE {

	velEstimate 	VelocityEstimate OPTIONAL,
 -- Horizontal Velocity
 -- Horizontal with Vertical Velocity
 -- Horizontal Velocity with Uncertainty
 -- Horizontal with Vertical Velocity and Uncertainty
 ganssLocationInfo GANSSLocationInfo OPTIONAL,
 ganssMeasureInfo GANSSMeasureInfo OPTIONAL,
	...
-- Further Release 7 extensions here
}

-- GANSS Location Information contains location estimate, time stamp with uncertainty 
-- and optionally Reference Frame field
GANSSLocationInfo ::= SEQUENCE {
 	referenceFrame 				ReferenceFrame 			OPTIONAL, -- Reference Frame Number
 	ganssTODm 					GANSSTODm 				OPTIONAL, -- GNSS TOD modulo
 	ganssTODFrac 				INTEGER (0 .. 16384) 	OPTIONAL, -- Coding according to Annex
	-- a value of 16384 shall not be encoded by the sender
	-- the receiver shall consider a value of 16384 to be invalid data
	ganssTODUncertainty 		GANSSTODUncertainty 	OPTIONAL, -- Coding according to Annex
 	ganssTimeID 				INTEGER (0 .. 7) 		OPTIONAL, -- Coding according to Annex
	fixType			 			FixType,
 	posData 					PositionData,
 	stationaryIndication 		INTEGER(0 .. 1) 		OPTIONAL, -- '0' if moving or motion not
																  -- known 
	-- Possible shapes carried in posEstimate are
	-- ellipsoid point,
	-- ellipsoid point with uncertainty circle
	-- ellipsoid point with uncertainty ellipse
	-- ellipsoid point with altitude and uncertainty ellipsoid
	posEstimate		 			Ext-GeographicalInformation,
 	...
}

PositionData ::= BIT STRING {
 	e-otd	 	 	 (0),
	gps 	 	 	 (1),
	galileo 	 	 (2),
	sbas 	 	 	 (3),
	modernizedGPS 	 (4),
	qzss 	 	 	 (5),
	glonass 	 	 (6),
	bds				 (7)} (SIZE (3..16))

-- GANSS TOD modulo 1 hour
GANSSTODm ::= INTEGER (0 .. 3599999)

ReferenceFrame ::= SEQUENCE {
 referenceFN INTEGER (0 .. 65535),
	-- Note that applicable range for referenceFN is 0 - 42431
 referenceFNMSB INTEGER (0 .. 63) OPTIONAL -- MSB of Reference Frame Number
}

-- GANSS Measurement Information 
GANSSMeasureInfo ::= SEQUENCE {
	-- Measurement info elements
ganssMsrSetList SeqOfGANSS-MsrSetElement
}
SeqOfGANSS-MsrSetElement ::= SEQUENCE (SIZE(1..3)) OF GANSS-MsrSetElement

-- GANSS measurement information 1-3 times in a message
GANSS-MsrSetElement ::= SEQUENCE {
	referenceFrame 			ReferenceFrame 			OPTIONAL, -- Reference Frame Number
	-- if ganssTODm is included, it is the GNSS specific system time of the GANSS reported
	-- first in ganss-SgnTypeList. If GPS Measurement Information element is not included in
	-- a Measure Position Response component, this field shall be present.
	ganssTODm 				GANSSTODm 				OPTIONAL, -- GANSS TOD modulo 1 hour
	deltaGANSSTOD 			INTEGER (0 .. 127) 		OPTIONAL,
	ganssTODUncertainty 	GANSSTODUncertainty		OPTIONAL, -- Coding according to Annex
	--N_GANSS can be read from number of elements of SeqOfGANSS-MsrElement
	ganss-MsrElementList	SeqOfGANSS-MsrElement 
}

SeqOfGANSS-MsrElement ::= SEQUENCE (SIZE(1..8)) OF GANSS-MsrElement

GANSS-MsrElement ::= SEQUENCE {
	ganssID		INTEGER (0..7) 	OPTIONAL, --Absence means Galileo
	ganss-SgnTypeList 		SeqOfGANSS-SgnTypeElement
}

-- Measurements can be returned up to 8 different signal types
-- N_SGN_TYPE can be read from number of elements of SeqOfGANSS-SgnTypeElement 
-- Reporting of multiple signal types as defined in A.2.2.4g  
SeqOfGANSS-SgnTypeElement ::= SEQUENCE (SIZE(1..8)) OF GANSS-SgnTypeElement

GANSS-SgnTypeElement ::= SEQUENCE {
	ganssSignalID			GANSSSignalID, -- Coding according to Annex
	ganssCodePhaseAmbiguity	INTEGER (0 .. 127)				OPTIONAL,
 	--N_SGN can be read from number of elements of SeqOfGANSS-SgnElement
 	ganss-SgnList SeqOfGANSS-SgnElement,
 	...
}

-- Up to 16 Measurements can be returned per signal type 
SeqOfGANSS-SgnElement ::= SEQUENCE (SIZE(1..16)) OF GANSS-SgnElement


GANSS-SgnElement ::= SEQUENCE {
 	svID 				SVID,
	cNo 				INTEGER (0 .. 63),
	mpathDet 			MpathIndic, 								 -- Coding according to Annex
	carrierQualityInd 	INTEGER (0 .. 3) 			OPTIONAL, 	 -- Coding according to Annex
	codePhase 			INTEGER (0 .. 2097151),
	integerCodePhase 	INTEGER (0 .. 127) 			OPTIONAL,
	codePhaseRMSError 	INTEGER (0..63), 						 -- Coding according to Annex
	doppler 			INTEGER (-32768 .. 32767) 	OPTIONAL,
	adr 				INTEGER (0 .. 33554431) 	OPTIONAL
}

Rel7-AssistanceData-Extension ::= SEQUENCE {
	ganss-AssistData								GANSS-AssistData	OPTIONAL,
	ganssCarrierPhaseMeasurementRequest				NULL				OPTIONAL,
	ganssTODGSMTimeAssociationMeasurementRequest	NULL				OPTIONAL,
	 add-GPS-AssistData								Add-GPS-AssistData	OPTIONAL,
	...
-- Possibly more extensions for Release 7 here
}

BDS-DiffCorrections-r12 ::= SEQUENCE {
	dbds-RefTime-r12			INTEGER (0..3599),
	-- N_SGN_TYPE can be read from number of elements of bds-SgnTypeList-r12
	bds-SgnTypeList-r12		BDS-SgnTypeList-r12,
	...
}

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

BDS-SgnTypeElement-r12 ::= SEQUENCE {
	ganssSignalID				GANSSSignalID				OPTIONAL,

	-- N_SAT can be read from number of elements of dbds-CorrectionList-r12	
	dbds-CorrectionList-r12		DBDS-CorrectionList-r12,
	...
}

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

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

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

	--N_IGP can be read from number of elements of GridIonList-r12
	gridIonList-r12			GridIonList-r12,
	...
}

--Up to 16 instances are used in this version of the specification. The values 17 to 320 are reserved for future use.
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) ,
	...
}

-- Rel-7 Positioning Capability parameters here

PosCapabilities ::= SEQUENCE {

-- nonGANSSpositionMethods shall be included if and only if any 
-- of the non-GANSS methods is supported.
	nonGANSSpositionMethods		NonGANSSPositionMethods	OPTIONAL,

-- gANSSpositionMethods shall be included if and only if any of the GANSS methods is supported.
	gANSSPositionMethods		GANSSPositionMethods	OPTIONAL,

-- multipleMeasurementSets shall be present if and only if 'multiple sets' is supported 
-- for any of the positioning methods
	multipleMeasurementSets		MultipleMeasurementSets	OPTIONAL,
	...
}

NonGANSSPositionMethods ::= BIT STRING {
	msAssistedEOTD	 (0),
	msBasedEOTD	 	 (1),
	msAssistedGPS	 (2), -- If this bit is set, gpsAssistance in AssistanceSupported IE
						  -- shall be present
	msBasedGPS	 	 (3), -- If this bit is set, gpsAssistance in AssistanceSupported IE
						  -- shall be present

	standaloneGPS	 (4) } (SIZE (1..16))

GANSSPositionMethods ::= SEQUENCE (SIZE(1..16)) OF GANSSPositionMethod

GANSSPositionMethod ::= SEQUENCE {
	ganssID 						INTEGER (0..7) 				OPTIONAL, --Absence means Galileo
-- gANSSPositioningMethodTypes may be present for PosCapability-Req
-- and shall be present for PosCapability-Rsp
	gANSSPositioningMethodTypes		GANSSPositioningMethodTypes OPTIONAL,
	gANSSSignals					GANSSSignals,
	... ,
-- sbasID shall be present if and only if ganssID indicates SBAS
	sbasID							SBASID						OPTIONAL
}

GANSSPositioningMethodTypes ::= BIT STRING {
	msAssisted	(0),	-- If this bit is set, gANSSAssistanceSet in AssistanceSupported IE 
						-- shall be present.
	msBased	 	(1),	-- If this bit is set, gANSSAssistanceSet in AssistanceSupported IE 
						-- shall be present.
	standalone	(2) } (SIZE (1..8))

-- indicates MS support for particular GANSS signals and frequencies
GANSSSignals ::= BIT STRING {
	signal1 (0),
	signal2 (1),
	signal3 (2),
	signal4 (3),
	signal5 (4),
	signal6 (5),
	signal7 (6),
	signal8 (7) } (SIZE (1..8))

SBASID ::= BIT STRING {
	waas 	 (0),
	egnos 	 (1),
	masas 	 (2),
	gagan 	 (3) } (SIZE (1..8))

-- indicates MS support of multiple measurement sets for MS assisted position methods
MultipleMeasurementSets ::= BIT STRING {
	eotd	 (0),
	gps	 	 (1),
	ganss	 (2) } (SIZE (1..8))

-- indicates MS support of different types of assistance data
AssistanceSupported ::= SEQUENCE {
	gpsAssistance						GPSAssistance						OPTIONAL,
	gANSSAssistanceSet					GANSSAssistanceSet					OPTIONAL,
	... ,
-- gANSSAdditionalAssistanceChoices shall be present if the MS supports other than native models
	gANSSAdditionalAssistanceChoices	GANSSAdditionalAssistanceChoices	OPTIONAL
}

-- GPS assistance data supported
GPSAssistance ::= BIT STRING {
	almanac						(0),
	uTCmodel					(1),
	ionosphericModel			(2),
	navigationmodel				(3),
	dGPScorrections				(4),
	referenceLocation			(5),
	referenceTime				(6),
	acquisitionAssistance		(7),
	realTimeIntegrity			(8),
	ephemerisExtension			(9),
	ephemerisExtensionCheck	(10),
	gPSAcquisAssist-R12-Ext	(11) } (SIZE (1..16))

-- GANSS assistance data supported
GANSSAssistanceSet ::= SEQUENCE {
	commonGANSSAssistance		CommonGANSSAssistance,
	specificGANSSAssistance		SpecificGANSSAssistance,
	...
}

-- Common GANSS assistance data supported
CommonGANSSAssistance ::= BIT STRING {
	referenceTime			 (0),
	referenceLocation		 (1),
	ionosphericModel		 (3),
	addIonosphericModel		 (4),
	earthOrientationParam	 (5)  } (SIZE (1..8))

SpecificGANSSAssistance ::= SEQUENCE (SIZE(1..16)) OF GANSSAssistanceForOneGANSS

-- assistance data supported for a particular GANSS system
GANSSAssistanceForOneGANSS ::= SEQUENCE {
	ganssID					INTEGER (0..7) 	OPTIONAL, --Absence means Galileo
	gANSSAssistance			GANSSAssistance,
	...
}

-- specific GANSS assistance data supported
GANSSAssistance ::= BIT STRING {
	realTimeIntegrity					(0),
	differentialCorrections			(1),
	almanac								(2),
	referenceMeasurementInformation	(3),
	navigationModel						(4),
	timeModelGNSS-UTC					(5),
	timeModelGNSS-GNSS					(6),
	databitassistance					(7),
	ephemerisExtension					(8),
	ephemerisExtensionCheck			(9),
	addUTCmodel							(10),
	auxiliaryInformation				(11),
	gANSSRefMeasurementAssist-R12-Ext	(12),
	bdsDifferentialCorrections-r12		(13),
	bdsGridModel-r12					(14)  } (SIZE (1..16))

GANSSAdditionalAssistanceChoices ::= SEQUENCE (SIZE(1..16)) OF GANSSAdditionalAssistanceChoicesForOneGANSS

GANSSAdditionalAssistanceChoicesForOneGANSS ::= SEQUENCE {
	ganssID							INTEGER (0..7) 	OPTIONAL, --Absence means Galileo
	ganssClockModelChoice			GANSSModelID 	OPTIONAL,
	gannsOrbitModelChoice			GANSSModelID 	OPTIONAL,
	ganssAlmanacModelChoice		GANSSModelID 	OPTIONAL,
	ganssAdditionalUTCModelChoice	GANSSModelID 	OPTIONAL,
	...
}

GANSSModelID ::= BIT STRING {
	model1 (0),
	model2 (1),
	model3 (2),
	model4 (3),
	model5 (4),
	model6 (5),
	model7 (6),
	model8 (7) } (SIZE (1..8))


-- indicates assistance data that may be needed by the MS
-- These elements are coded as defined in TS 49.031 with the exceptions defined in section A.8.2.3
AssistanceNeeded ::= SEQUENCE {
	gpsAssistanceData		GPSAssistanceData		OPTIONAL,
	ganssAssistanceData		GANSSAssistanceData		OPTIONAL,
	...
}


6	TOM Protocol Header for RRLP Transport
6.1	General
For the specification of the TOM protocol, see 3GPP TS 44.064.
6.2	Remaining Octets of TOM Protocol Header for RRLP
The number of remaining octet following the first octets of the TOM protocol header for RRLP is one. The encoding of this octet is defined in the figure 6.1 and the table 6.1.

Figure 6.1: Remaining Octets of TOM Protocol Header for RRLP
Table 6.1: C/R bit content
C/R
UI frame information field
0
Command (SMLC to MS) or Final Response (MS to SMLC)
1
Not Command or Final Response

The setting of the C/R flag is provided by the sending RRLP entity, for further details see 3GPP TS 43.059.
The Spare bits shall be ignored by the receiver and set to 0 by the sender. If a protocol header with more than one remaining octet of the TOM protocol header is received, the additional octets after the first remaining octet shall be ignored by the receiver.
Annex A (informative):
Description of Components
A.1	Introduction
This annex describes the contents of components.
A.2	Measure Position Request
A.2.1	General
The Measure Position Request is a RRLP component from the SMLC to the MS. This component is common to E-OTD,GPS and GANSS (Galileo and Additional Navigation Satellite Systems) location methods. As a response to this component, the MS performs E-OTD,GPS or GANSS measurements and possibly calculates its own position, if the MS and/or the network support these options. It contains the following elements.
Table A.1: Measure Position Request component content
Element
Type/Reference
Presence
Positioning Instructions
Positioning Instructions 2.2.1
M
E-OTD Reference BTS for Assistance Data
E-OTD Reference BTS for Assistance Data 2.2.2
O
E-OTD Measurement Assistance Data
E-OTD Measurement Assistance Data 2.2.3
O
E-OTD Measurement Assistance Data for System Information List
E-OTD Measurement Assistance Data for System Information List 2.2.4
O
GPS Assistance Data 
GPS Assistance Data 4.2.4
O
Additional GPS Assistance Data
Additional GPS Assistance Data 4.2.4c
O
GPS Time Assistance Measurement Request
GPS Time Assistance Measurement Request 2.2.4a
O
GPS Reference Time Uncertainty
GPS Reference Time Uncertainty 2.2.4b
O
Velocity Request
Velocity Request 2.2.4c
O
Extended Reference
Extended Reference 2.2.5
O
GANSS Positioning Method Element
GANSS Positioning Method Element 2.2.1a
O
GANSS Carrier-Phase Measurement Request
GANSS Carrier-Phase Measurement Request 2.2.4d
O
GANSS TOD - GSM Time Association Request
GANSS TOD - GSM Time Association Request 2.2.4e
O
GANSS Multi-frequency Measurement Request
GANSS Multi-frequency Measurement Request 2.2.4g
O
GANSS Assistance Data
GANSS Assistance Data 4.2.6
O
Required Response Time
Required Response Time 2.2.4f
O

A.2.2	Elements
A.2.2.1	Positioning Instructions Element
The purpose of Positioning Instructions element is to express the allowed/required location method(s), and to provide information required QoS. This element is mandatory in the Measure Position Request message, and contains the following fields:
Method Type
This field indicates whether MS based or assisted version is allowed/requested. If the Positioning Methods field includes more than one method, the Method Type applies to all of them. This field is mandatory, and has the following values:
'0': MS assisted;
'1': MS based;
'2': MS based is preferred, but MS assisted is allowed;
'3': MS assisted is preferred, but MS based is allowed.
In GPS positioning methods, 'MS based' may indicate either MS Based Assisted GPS method or Conventional GPS method. If 'MS based is indicated with no GPS assistance data then the MS may interpret this as either Conventional GPS or MS based A-GPS without assistance data. The same interpretation applies also to the GANSS positioning method.
Positioning Methods
This field indicates which location method or methods should be used. This field is mandatory.
'0': E-OTD;
'1': GPS;
'2': E-OTD or GPS (i.e. both can be reported).
NOTE:	If the selected positioning method is 'GPS' or 'E-OTD or GPS', the field GANSS Positioning Method, if present in a Measure Position Request component, indicates request of GANSS method and indicates the allowed satellite systems.
Response Time
This field indicates the desired response time. However, when performing measurements, the desired response time may be exceeded. This field is mandatory.
The response time is 2N seconds, where N is the value in this field. Thus the desired maximum response time can be 1, 2, 4, 8, 16, 32, 64, or 128 seconds.
Range: 	0-7
Accuracy
This field indicates the required accuracy of the location estimate. This is field is mandatory when Method Type is '1', '2', or '3' and optional when Method Type is '0'.
This field is 7 bit Uncertainty Code as defined in 3GPP TS 23.032.
Multiple Sets
This field indicates whether MS is requested to send multiple E-OTD/GPS/GANSS Measurement Information Sets. The maximum number of measurement sets is three. This is field is mandatory. MS is expected to include the current measurement set. Additionally MS may include historical measurement sets, or measure new additional sets if the response time allows that.
'0': 	multiple IEs can be send;
'1': 	sending of multiple sets is not allowed.
Environment Characterization
Environment Characterization field provides the MS with information about expected multipath and NLOS in the current area. This field is optional.
'0':	possibly heavy multipath and NLOS conditions (e.g. bad urban or urban).
'1':	no or light multipath and usually LOS conditions (e.g. suburban or rural).
'2':	not defined or mixed environment.
'3':	reserved for future use.
A.2.2.1a	GANSS Positioning Method Element
This bit map indicates the satellite systems allowed by the SMLC corresponding to allowance of 'GPS' in the Positioning Methods field. Each bit is of type Boolean, where TRUE ('1') means the particular satellite system is allowed. For example EOTD + Galileo method can be indicated by setting 'E-OTD or GPS' in Positioning Methods and setting only the 'bit 1' to TRUE value in the GANSS Positioning Method element. The MS shall not request assistance data or report measurements for the systems that are not indicated in the bit map.
NOTE:	Bit 0 of this bit map shall not be the only one set to TRUE ('1').
'bit 0': 	GPS;
'bit 1': 	Galileo; 
'bit 2':	SBAS (WAAS, EGNOS, MSAS, GAGAN);
'bit 3':	Modernized GPS (L1C, L2C, L5);
'bit 4':	QZSS;
'bit 5':	GLONASS;
'bit 6':	BDS;
'bit 7-15': 	Reserved for future GNSSes.
A.2.2.2	E-OTD Reference BTS for Assistance Data Element
The RTD and 51 multiframe offset values in the E-OTD Measurement Assistance Data element and the E-OTD Measurement Assistance Data for System Information List element are calculated relative to the BTS indicated in this element. Also the E-OTD Measurement Assistance data for System Information List element, if present, refers to the System Information Neighbor List of this reference BTS.
Inclusion of this parameter is mandatory for E-OTD since it is not possible to reliably default to the current serving BTS for the target MS, as there is a small chance that the SMLC does not know this. If the E-OTD Measurement Assistance data for System Information List element is present, the current serving cell must be the same as reference BTS identified in this element.
BCCH Carrier
This field indicates the absolute RF channel number of BCCH of the reference BTS. This field is mandatory.
Range: 	0 - 1023
BSIC
This field indicates the BSIC (Base Station Identity Code) of the reference BTS. This field is mandatory.
Range: 	0 - 63
Time Slot Scheme
The Time Slot Scheme field indicates the type of transmission scheme the reference BTS is using. If the MS measures BTSs signals from time slots other than 0 or 4, and it is informed about the burst length schemes used by BTSs, then it can compensate for the possible error. (This is necessary if the MS averages bursts from different time slots, and the BTS uses varying lengths of bursts.) This field is mandatory.
'0' = all time slots are 156,25 bits long.
'1' = time slots 0 and 4 are 157 bits long and other time slots are 156 bits long.
BTS Position
This field contains the BTS position in the format defined in 3GPP TS 23.032. This field is optional, but should be present for MS based E-OTD positioning. The allowed shapes are:
-	ellipsoid point;
-	ellipsoid point with altitude and uncertainty ellipsoid.
A.2.2.3	E-OTD Measurement Assistance Data Element
This element identifies BTSs that are used for E-OTD measurements. This element helps the MS to make measurements from neighbor BTS (even below decoding level). This element is optional in the Measure Position Request component. The presence of this element means that the MS should try to measure the E-OTD values between the reference BTS and the BTSs identified in this element.
This element is used to deliver E-OTD measurement assistance data for those BTSs, that are not included in the System Information Neighbor List of the reference BTS, if necessary.
The RTD and 51 multiframe offset values are calculated relative to the BTS indicated in the E-OTD Reference BTS for Assistance Data element. This element contains the following fields.
Number of BTSs
This field indicates how many BTSs are included in this IE. This field is mandatory. The maximum number of BTSs in this message for whom the assistance data can be given is 16 (reference BTS and 15 neigbour BTSs). Thus the sum of Number of BTSs field in this IE and total amount of E-OTD Neighbor present bits with value '1' in E-OTD Measurement Assistance Data for System Information List IE can be at a maximum 15.
Range: 	1 to 15.
The following fields are repeated for the number of BTSs included in the Number of BTSs field.
BCCH Carrier
This field indicates the absolute RF channel number of BCCH of the particular BTS. This field is mandatory.
Range:	0 - 1023
BSIC
This field indicates the BSIC (Base Station Identity Code) of the particular BTS. This field is mandatory.
Range:	0 - 63
Multiframe Offset
This field indicates the frame difference between the start of the 51 multiframes frames being transmitted from this BTS and the reference BTS. The multiframe offset is defined as TBTS - TRef, where TBTS is the time of the start of the 51 multiframe in the BTS in question, and TRef is the time of the start of the 51 multiframe in the reference BTS. This field is mandatory. Multiframe Offset may be used to calculate the Expected Multiframe Offset (the Multiframe Offset value that MS is expected to measure between this BTS and reference BTS in its current estimated location).
Expected Multiframe Offset = (Multiframe Offset + Adjustment) modulo 51
Adjustment =	1 if Rough RTD - Expected OTD >= 850
Adjustment =	-1 if Rough RTD - Expected OTD =< -850
Adjustment =	0 if -400 =< Rough RTD - Expected OTD =< 400
If the Rough RTD - Expected OTD is not within any of the ranges above, an error has occurred and the Expected OTD should be ignored and no Expected Multiframe Offset can be calculated.
Range:	0 - 51
Usable range of Multiframe Offset value is 0 - 50. The Multiframe Offset value 51 shall not be encoded by the transmitting entity and shall be treated by the receiving entity as 0.
Time Slot Scheme
The Time Slot Scheme field indicates the type of transmission scheme the particular BTS is using. If the MS measures BTSs signals from time slots other than 0 or 4, and it is informed about the burst length schemes used by BTSs, then it can compensate for the possible error. (This is necessary if the MS averages bursts from different time slots, and the BTS uses varying lengths of bursts.) This field is mandatory.
'0' = all time slots are 156,25 bits long.
'1' = time slots 0 and 4 are 157 bits long and other time slots are 156 bits long.
Rough RTD
This field indicates the rough RTD value between this BTS and reference BTS. The used resolution is 1 bits. This RTD value is the RTD value of TS0s (i.e. the difference in starting of TS0), not only the RTD between starts of bursts. The RTD is defined as TBTS - TRef, where TBTS is the time of the start of TS0 in the BTS in question, and TRef is the time of the start of the TS0 in the reference BTS. This field is mandatory.
Range:	0 - 1250
Usable range of Rough RTD value is 0 - 1249. The Rough RTD value 1250 shall not be encoded by the transmitting entity and shall be treated by the receiving entity as 0.
Accurate RTD values are needed for MS based E-OTD, i.e. when the MS calculates its own position.
Expected OTD
This field indicates the OTD value that MS is expected to measure between this BTS and reference BTS in its current estimated location. SMLC can estimate MS's location roughly e.g. based on serving BTS coordinates, TA, and possibly some other information. The used resolution is 1 bits. This OTD value is the OTD value of TS0s (i.e. the difference in starting of TS0), not only the OTD between starts of bursts. The OTD is defined as TBTS - TRef, where TBTS is the time of the start of TS0 in the BTS in question, and TRef is the time of the start of the TS0 in the reference BTS. This is element is Release 98 extension and it is an optional element included in Release98-Ext IE. SMLC shall send this element to MS supporting MS Assisted or MS Based E-OTD.
Range:	0 - 1250
Usable range of Expected OTD value is 0 - 1249. The Expected OTD value 1250 shall not be encoded by the transmitting entity and shall be treated by the receiving entity as 0.
Uncertainty Of Expected OTD
This field indicates the uncertainty in Expected OTD value. The uncertainty is related to SMLC's estimation of MS's location. The uncertainty defines following search window for MS, that it can use to speed up the OTD measurements:
	Expected OTD - Uncertainty < measured OTD < Expected OTD + Uncertainty.
This is element is Release 98 extension and it is an optional element included in Release98-Ext IE. SMLC shall send this element to MS supporting MS Assisted or MS Based E-OTD.
Range is 0 - 7 with following encoding:
'0'	0 < uncertainty <= 2 bit;
'1'	2 < uncertainty <= 4 bit;
'2'	4 < uncertainty <= 8 bit;
'3'	8 < uncertainty <= 12 bit;
'4'	12 < uncertainty <= 16 bit;
'5'	16 < uncertainty <= 22 bit;
'6'	22 < uncertainty <= 30 bit;
'7'	uncertainty > 30 bit.
NOTE:	If uncertainty in MS's location is x bits, uncertainty in Expected OTD is 2*x (in the worst case). When the uncertainty is given with value '7' no upper bound exist for the uncertainty.
The following fields tell the coordinates of neighbor BTSs that are used for E-OTD measurements, and also fine RTD values. This information allows the MS to calculate its own location. These fields (Fine RTD, Relative north, Relative east and Relative altitude) are optional. All of Fine RTD, Relative north, and Relative east fields must be present, if some of them is included.
Fine RTD
This field indicates the fine RTD value between this BTS and reference BTS. It provides the 1/256 bit duration resolution to the value expressed in the corresponding Rough RTD field. This RTD value is the RTD value of TS0s (i.e. the difference in starting of TS0), not only the RTD between starts of bursts. The RTD is defined as TBTS - TRef, where TBTS is the time of the start of TS0 in the BTS in question, and TRef is the time of the start of the TS0 in the reference BTS. This field is optional.
Range:	0 - 255
Relative North
This field indicates the distance of the neighbor BTS from the reference BTS in north- (negative values mean south) direction. This field is optional. The units are 0,03 seconds. The used reference ellipsoid is WGS 84 ellipsoid.
Range:	-200000…200000
Relative East
This field indicates the distance of the neighbor BTS from the reference BTS in east (negative values mean west) direction. This field is optional. The units are 0,03 seconds. The used reference ellipsoid is WGS 84 ellipsoid.
Range:	-200000 … 200000
Relative Altitude
This field indicates the altitude of the neighbor BTS relative to the reference BTS in meters. This field is optional.
Range:	-4000 .. 4000 meters
A.2.2.4	E-OTD Measurement Assistance Data for System Information List Element
This element identifies those BTSs in the System Information Neighbor List that are used for E-OTD measurements. The System Information Neighbor Lists, to which this assistance data is given, are System Information Neighbor Lists that are sent in the dedicated mode, packet idle mode, packet transfer mode, or dual transfer mode. This element helps the MS to make measurements from those neighbor BTS (even below decoding level). This element is optional in the Measure Position Request component. The presence of this element means that the MS should use the BTSs identified here to the E-OTD measurements.
The RTD and 51 multiframe offset values are calculated relative to the reference BTS. This element contains the following fields.
Number of Neighbors
This field indicates how many neighbors are included in this IE.
Range:	1-32
The following fields are repeated for the number indicated in the Number of Neighbors field.
E-OTD Neighbor present
This field indicates whether the information concerning a certain BTS in the Neighbor List is present. Altogether no more than 15 BTS can have the indication "Neighbor is included". The maximum number of BTSs in this message for whom the assistance data can be given is 16 (reference BTS and 15 neigbour BTSs). Thus the sum of total amount of E-OTD Neighbor present bits with value '1' in this IE and Number of BTSs field in E-OTD Measurement Assistance Data IE can be at a maximum 15.
'0'	Neighbor not included;
'1'	Neighbor is included.
The following fields (BSIC, Multiframe Offset, Time Slot Sscheme and Rough RTD) are included if E-OTD neighbor present field is set to '1'.
BSIC
This field indicates the BSIC (Base Station Identity Code) of the particular BTS. This field is mandatory.
Range:	0 - 63
Multiframe Offset
This field indicates the frame difference between the start of the 51 multiframes frames being transmitted from this BTS and the reference BTS. The multiframe offset is defined as TBTS - TRef, where TBTS is the time of the start of the 51 multiframe in the BTS in question, and TRef is the time of the start of the 51 multiframe in the reference BTS. This field is mandatory. Multiframe Offset may be used to calculate the Expected Multiframe Offset (the Multiframe Offset value that MS is expected to measure between this BTS and reference BTS in its current estimated location).
	Expected Multiframe Offset = (Multiframe Offset + Adjustment) modulo 51
Adjustment =	1 if Rough RTD - Expected OTD >= 850
Adjustment =	-1 if Rough RTD - Expected OTD =< -850
Adjustment =	0 if -400 =< Rough RTD - Expected OTD =< 400
Range:	0 - 51
Usable range of Multiframe Offset value is 0 - 50. The Multiframe Offset value 51 shall not be encoded by the transmitting entity and shall be treated by the receiving entity as 0.
Time Slot Scheme
The Time Slot Scheme field indicates the type of transmission scheme the particular BTS is using. If the MS measures BTSs signals from time slots other than 0 or 4, and it is informed about the burst length schemes used by BTSs, then it can compensate for the possible error. (This is necessary if the MS averages bursts from different time slots, and the BTS uses varying lengths of bursts.) This field is mandatory.
'0' = all time slots are 156,25 bits long;
'1' = time slots 0 and 4 are 157 bits long and other time slots are 156 bits long.
Rough RTD
This field indicates the RTD value between this BTS and the reference BTS. The used resolution is 1 bit. This RTD value is the RTD value of TS0s (i.e. the difference in starting of TS0), not only the RTD between starts of bursts. The RTD is defined as TBTS - TRef, where TBTS is the time of the start of TS0 in the BTS in question, and TRef is the time of the start of the TS0 in the reference BTS. This field is mandatory.
Range:	0 - 1250
Usable range of Rough RTD value is 0 - 1249. The RoughRTD value 1250 shall not be encoded by the transmitting entity and shall be treated by the receiving entity as 0.
Expected OTD
This field indicates the OTD value that MS is expected to measure between this BTS and reference BTS in its current estimated location. SMLC can estimate MS's location roughly e.g. based on serving BTS coordinates, TA, and possibly some other information. The used resolution is 1 bits. This OTD value is the OTD value of TS0s (i.e. the difference in starting of TS0), not only the OTD between starts of bursts. The OTD is defined as TBTS - TRef, where TBTS is the time of the start of TS0 in the BTS in question, and TRef is the time of the start of the TS0 in the reference BTS. This element is Release 98 extension and it is an optional element included in Release98-Ext IE. SMLC shall send this element to MS supporting MS Assisted or MS Based E-OTD.
Range:	0 - 1250
Usable range of Expected OTD value is 0 - 1249. The Expected OTD value 1250 shall not be encoded by the transmitting entity and shall be treated by the receiving entity as 0.
Uncertainty Of Expected OTD
This field indicates the uncertainty in Expected OTD value. The uncertainty is related to SMLC's estimation of MS's location. The uncertainty defines following search window for MS, that it can use to speed up the OTD measurements:
	Expected OTD - Uncertainty < measured OTD < Expected OTD + Uncertainty.
This element is Release 98 extension and it is an optional element included in Release98-Ext IE. SMLC shall send this element to MS supporting MS Assisted or MS Based E-OTD.
Range is 0 - 7 with following encoding:
'0'	0 < uncertainty <= 2 bit;
'1'	2 < uncertainty <= 4 bit;
'2'	4 < uncertainty <= 8 bit;
'3'	8 < uncertainty <= 12 bit;
'4'	12 < uncertainty <= 16 bit;
'5'	16 < uncertainty <= 22 bit;
'6'	22 < uncertainty <= 30 bit;
'7'	uncertainty > 30 bit.
NOTE:	If uncertainty in MS's location is x bits, uncertainty in Expected OTD is 2*x (in the worst case). When the uncertainty is given with value '7' no upper bound exist for the uncertainty.
The following fields tell the coordinates of neighbor BTSs that are used for E-OTD measurements, and also fine RTD values. This information allows the MS to calculate its own location. These fields (Fine RTD, Relative north, Relative east and Relative altitude) are optional. All of Fine RTD, Relative north, and Relative east fields must be present, if some of them is included.
Fine RTD
This field indicates the fine RTD value between this BTS and reference BTS. It provides the 1/256 bit duration resolution to the value expressed in the corresponding Rough RTD field. This RTD value is the RTD value of TS0s (i.e. the difference in starting of TS0), not only the RTD between starts of bursts. The RTD is defined as TBTS - TRef, where TBTS is the time of the start of TS0 in the BTS in question, and TRef is the time of the start of the TS0 in the reference BTS. This field is optional.
Range:	0 - 255
Relative North
This field indicates the distance of the neighbor BTS from the reference BTS in north- (negative values mean south) direction. This field is optional. The units are 0,03 seconds. The used reference ellipsoid is WGS 84 ellipsoid.
Range:	-200000…200000
Relative East
This field indicates the distance of the neighbor BTS from the reference BTS in east (negative values mean west) direction. This field is optional. The units are 0,03 seconds. The used reference ellipsoid is WGS 84 ellipsoid.
Range:	-200000 … 200000
Relative Altitude
This field indicates the altitude of the neighbor BTS relative to the reference BTS in meters. This field is optional.
Range:	-4000 .. 4000 meters
A.2.2.4a	GPS Time Assistance Measurement Request element 
This component does not have any information contents. If this component is present, the MS is requested to return GPS time assistance measurements. 
A.2.2.4b 	GPS Reference Time Uncertainty element
This element provides the accuracy of the relation GPS and GSM time in the Reference Time field in GPS Assistance Data IE. If GPS TOW is the given GPS time, then the true GPS time, corresponding to the provided GSM time as observed at the MS location, lies in the interval (GPS TOW - GPS Reference Time Uncertainty, GPS TOW + GPS Reference Time Uncertainty). An entity that supports this element shall always include it when appropriate. This means that when the element is expected but is not received, lack of support at the sender can be assumed and some implementation dependent default interpretation can then be applied.
The uncertainty r, expressed in microseconds, is mapped to a number K, with the following formula:
	r = C*(((1+x)K)-1)
with C = 0,0022 and x = 0,18. With 0 £ K £ 127, a suitably useful range between 0 and 3 second is achieved for the uncertainty, while still being able to code down to values as small as 0,3 nanoseconds. To encode any higher value of uncertainty than that corresponding in the above formula to K=127, the same value, K=127, shall also be used. The uncertainty is then coded on 7 bits, as the binary encoding of K.
Table A.1a: Example values for the GPS Reference Time Uncertainty Parameter Format
Value of K
Value of uncertainty
0
0 nanoseconds
1
0,396 nanoseconds
2
0,863 nanoseconds
-
-
50
8,64 microseconds
-
-
127
≥ 2,96 seconds

A.2.2.4c	Velocity Request element
If this element is present, the MS is requested to return a velocity estimate along with the location estimate. Requesting velocity does not guarantee its delivery, if conditions support its availability and it is requested it will be provided.
A.2.2.4d	GANSS Carrier-Phase Measurement Request Element 
This component does not have any information contents. If this component is present, the MS is requested to return carrier phase measurements in the GANSS Measurement Information IE.
A.2.2.4e	GANSS TOD - GSM Time Association Request Element 
This component does not have any information contents. If this component is present, the MS is requested to return GANSS TOD - GSM time association measurements. Only either GPS Timing Assistance Measurement Request Element or GANSS TOD - GSM Time Association Measurement Request should be present in Measure Position Request.
A.2.2.4f	Required Response Time
This element indicates the maximum response time that shall be allowed for the positioning request in the MS. When this element is received, the MS shall send an RRLP Measure Position Response before the required response time has elapsed. 
When this element is received, the MS shall ignore the Response Time field in the Positioning Instructions element.
The Required Response Time has a value from 1 to 128 seconds.
A.2.2.4g	GANSS Multi-frequency Measurement Request Element 
This component does not have any information contents.
If this component is present, the MS is requested to return measurements performed on multiple GANSS signal types if the MS supports this capability. If this component is not present, the MS shall report only one signal type for each GANSS.
If SMLC has indicated supported signal types in Positioning Capability Request, the MS shall only report signals that are supported by SMLC.
A.2.2.5	Extended Reference IE
This element is mandatory in any RRLP Measure Position Request component, any RRLP Assistance Data component, any RRLP Positioning Capability Request component and any RRLP Positioning Capability response component.
NOTE:	For reasons of backward compatibility, the IE is not defined for a Release 4 or earlier SMLC and would be ignored, when received, by a Release 4 or earlier MS. Additionally, other requirements associated with this IE would not be supported by a Release 4 or earlier MS or SMLC.
The Extended Reference IE contains the following elements:
SMLC code:	an integer in the range 0-63 distinguishing any SMLC from other neighbour SMLCs in the same Routing Area. Each SMLC is assigned a specific SMLC ID value. The values assigned to neighbour SMLCs in the same Routing Area between which inter-NSE cell change is possible should be different.
Transaction ID:	an integer in the range 0-262143 distinguishing different RRLP transactions in different MSs currently being served by the same SMLC. An SMLC shall assign a different transaction ID to each currently open RRLP transaction for positioning and assistance data delivery among all target MSs. When any RRLP transaction for any MS is completed in the SMLC (e.g. the MS has sent a correctly formatted RRLP Measure Position Response or Assistance Data Ack.) or if the transaction is aborted (e.g. SMLC timeout on an RRLP response), the associated transaction ID value shall become free and may be later assigned to a new RRLP transaction by the SMLC. When any transaction ID value becomes free, an SMLC should attempt to wait for at least 128 seconds (the maximum defined RRLP response time from an MS) before reassigning the same value.
A.3	Measure Position Response
A.3.1	General
The Measure Position Response is a RRLP component from the MS to the network. It is the response to the Measure Position Request. It contains the following elements. One of the five elements containing measurement data or location estimate (E-OTD Measurement Information, Location Information, GPS Measurement Information, GANSS Measurement Information or GANSS Location Information) or Location Information Error element must be included.
Table A.2: Measure Position Response component content
Element
Type/Reference
Presence
Multiple Sets 
Multiple Sets 3.2.1
O
Reference BTS Identity 
Reference BTS Identity 3.2.2
O
E-OTD Measurement Information
E-OTD Measurement Information 3.2.3
O
Location Information 
Location Information 3.2.4
O
GPS Measurement Information
GPS Measurement Information 3.2.5
O
Location Information Error
Location Information Error 3.2.6
C
GPS Time Assistance Measurements
GPS Time Assistance Measurements 3.2.6a
O
Velocity Estimate
Velocity Estimate 3.2.6b
O
Extended Reference
Extended Reference 3.2.7
C
Uplink RRLP Pseudo Segmentation Indication
Uplink RRLP Pseudo Segmentation Indication 3.2.8
C
GANSS Location Information
GANSS Location Information 3.2.9
O
GANSS Measurement Information 
GANSS Measurement Information 3.2.10
O

A.3.2	Elements
A.3.2.1	Multiple Sets Element
This element indicates how many E-OTD Measurement Information sets, GPS Measurement Information sets or GANSS Measurement Information sets, and Reference BTS Identities are included to this element. This element is optional. If this element is absent, a single measurement set is included.
Number of E-OTD/GPS/GANSS Measurement Information Sets
This field indicates the number of Number of E-OTD/GPS/GANSS Measurement Information sets included to this component. This field is mandatory. If two or more types of measurement elements are present, then there are the equal number of them, and each pair has the same reference BTS.
Range:	2 - 3
Number of Reference BTS
This field indicates the number of reference BTSs used in this component. This field is mandatory.
Range:	1-3
Reference BTS relation to Measurement Elements
This field indicates how the reference BTSs listed in this element relate to measurement sets later in this component. This field is conditional and included only if Number of E-OTD/GPS/GANSS Measurement Information Sets is '3' and Number of Reference BTSs is '2'.
'0' =	First reference BTS is related to first and second E-OTD/GPS/GANSS Measurement Information Sets, and second reference BTS is related to third E-OTD/GPS Measurement Information Sets.
'1' =	First reference BTS is related to first and third E-OTD/GPS/GANSS Measurement Information Sets, and second reference BTS is related to second E-OTD/GPS/GANSS Measurement Information Sets.
'2' =	First reference BTS is related to first E-OTD/GPS/GANSS Measurement Information Sets, and second reference BTS is related to second and third E-OTD/GPS/GANSS Measurement Information Sets.
If this field is not included, the relation between reference BTS and Number of E-OTD/GPS/GANSS Measurement Information Sets is as follows:
-	if there are three sets and three reference BTSs -> First reference BTS relates to first set, second reference BTS relates to second set, and third reference BTS relates to third set;
-	if there are two sets and two reference BTS -> First reference BTS relates to first set, and second reference BTS relates to second set;
-	if there is only one reference BTS and 1-3 sets -> this reference BTS relates to all sets.
A.3.2.2	Reference BTS Identity Element
This element identifies the reference BTS(s). This element is conditional to the number of reference BTSs. It is mandatory, if there is more than one reference BTS, and optional otherwise. If this element is not included, the Reference BTS, used in other elements, is the current serving BTS of MS. If this element is included, the BTSs defined here are used as Reference BTSs in all other elements.
The following fields are repeated for the number of reference BTSs included in the Number of Reference BTS field.
CellIdType
This field indicates is the identity method of the Reference BTS. This field is mandatory within this element.
'0' =	Cell identity is told using BSIC and BCCH carrier.
'1' =	Cell identity is told using CI, and the LAC is the same as the current serving BTS.
'2' =	Cell identity is told using an index referring to the BTS listed in the Measure Position Request component (the indicated reference BTS is 1)
'3' =	Cell identity is told using an index referring to the BTS listed in the BCCH allocation list (System Information Neighbor Lists) of the serving BTS. This type of reference identity shall not be used by the MS unless it has received the "E-OTD Measurement Assistance Data for System Information List Element" from the SMLC for this cell.
'4' =	Cell identity is told using CI, and the LAC.
Reference LAC
This field indicates the Location Area Code of the reference BTS. The purpose of the Location Area Code is to identify a location area. This field is conditional, and included, if CellIDType field is '4'.
Range: 	0 - 65535
Reference CI
This field indicates the Cell Identity value of the reference BTS. The purpose of the Cell Identity value is to identify a cell within a location area. This field is conditional, and included, if CellIDType field is '1' or '4'.
Range: 	0 - 65535
Reference BCCH Carrier
This field indicates the absolute RF channel number of the BCCH of the reference base station. BCCH carrier field is conditional and is included only if CellIdType is set '0'.
Range: 	0 - 1023
Reference BSIC
This field indicates the BSIC (Base Station Identity Code of the base station).
BSIC field is conditional and is included only if CellIdType is set '0' or '3'.
Range: 	0 - 63
Request Index
This field indicates an index identifying the reference BTS by referring to the BTSs listed in the Measure Position Request component (the indicated reference BTS in the Measure Position Request component has the index value 1, and possible next BTS '2', and so on )
This field is conditional and included only if CellIdType is set to '2'.
Range: 	1-16
System Info Index
This field indicates an index identifying the reference BTS by referring to the BCCH allocation list (System Information Neighbor List) of the serving BTS .
This field is conditional and included only if CellIdType is set to '3'.
Range: 	1-32
A.3.2.3	E-OTD Measurement Information Element
The purpose of the E-OTD Measurement Information element is to provide OTD measurements of signals sent from the reference and neighbor based stations. The length of this element depends on the number of neighbor cells for which OTD measurements have been collected. This element is optional in the Measure Position Response component. It is included in the Measure Position Response component, if the network has requested the mobile to perform the MS assisted E-OTD method. BTSs which cannot be measured or whose measurements are excessively inaccurate need not be reported. The MS may include measurements for other BTSs not given in the assistance data by the SMLC.
The E-OTD and 51 multiframe offset values are reported relative to the reference BTS as defined in the previous sub-clauses.
The following fields are repeated for each measurement set.
Reference Frame Number
This field indicates the frame number of the last measured burst from the reference BTS modulo 42432. This information can be used as a time stamp for the measurements. This field is mandatory.
Range: 	0 - 42431
Reference Time Slot
Reference Time Slot indicates the time slot modulo 4 relative to which the MS reports the reference BTS measurements. This field is mandatory.
Range: 	0 to 3
NOTE 1:	If MS does not know timeslot scheme, the MS reports the used timeslot. MS can only report results based on one time slot (N) or two time slots (N and N+4). If the MS knows the timeslot scheme, it can make measurements from several timeslots and reports that the used timeslot is zero (and makes correction).
Reference Quality
Reference Quality field includes the standard deviation of the TOA measurements from the reference BTS with respect to TRef (where TRef is the time of arrival of signal from the reference BTS used to calculate the OTD values). This field is optional. The Reference Quality field can be used to evaluate the reliability of E-OTD measurements in the SMLC and in weighting of the E-OTD values in the location calculation.
Following linear 5 bit encoding is used:
'00000'	0 - (R*1-1) meters;
'00001'	R*1 -	(R*2-1) meters;
'00010'	R*2 - (R*3-1) meters;
…
'11111'	R*31 meters or more.
where R is the resolution defined by Std Resolution field. For example, if R=20 meters, corresponding values are 0 - 19 meters, 20 - 39 meters, 40 - 59 meters, …, 620+ meters.
Number of Measurements
Number of Measurements for the Reference Quality field is used together with Reference Quality to define quality of the reference base site TOA. The field indicates how many measurements have been used in the MS to define the standard deviation of the measurements. Following 3 bit encoding is used:
'000':	2-4;
'001':	5-9;
'010':	10-14;
'011':	15-24;
'100':	25-34;
'101':	35-44;
'110':	45-54;
'111':	55 or more.
This field is optional.
Std Resolution
Std Resolution field includes the resolution used in Reference Quality field and Std of EOTD Measurements field. Encoding on 2 bits as follows:
'00'	10 meters;
'01'	20 meters;
'10'	30 meters;
'11'	Reserved.
This field is mandatory.
TA Correction
This field indicates the estimate of the time difference between the moment that the MS uses to adjust its internal timing for reception and transmission (e.g. corresponding to maximum energy) and the estimate of the reception of the first arriving component from the serving BTS. This value can be used as a correction by the SMLC to the Timing Advance (TA) value when the distance between the MS and the serving BTS is estimated based on TA.
The value TACor in this field corresponds to the TA Correction in bit periods as follows:
-	TA Correction in bit periods = TACor/64 -8.
TA Correction has the resolution of 1/64 bit period, and the range - 8 … +7 bit periods. Negative TA Correction in bits indicates that the first signal component from the serving BTS is estimated to arrive before the moment used for communication. This field is optional.
Range: 	0-960
Number of Measured Neighbors
This field indicates the number of different neighbor BTSs. This field is mandatory.
Range: 	0 - 10
NOTE 2:	If the MS can not measure any neighbor BTSs, then this value is set to '0'.
The following fields are repeated for the number of BTSs included in the Number of Measured Neighbors field.
Neighbor Identity Present
The presence of this field is conditional, it shall not be present in the first set. It is mandatory for the other sets. This field indicates whether the identity information (i.e. CellIDType and possibly Neighbor CI / Neighbor BCCH Carrier / Neighbor BSIC / Neighbor Multiframe Offset / Request Index / System Info Index fields) concerning a certain BTS is present or whether the BTS identity is given as reference to the first measurement set.
'0'	Identity information not included, and identity of this BTS is same as the identity of BTS in first set with same sequence number.
'1'	Identity information is included.
CellIdType
This field indicates is the identity method of the cell. This field is conditional, and included if Neighbor Identity Present is '1'. If CellIdType field is not present, the following fields can not be present either: Neighbor CI, Neighbor BCCH Carrier, Neighbor BSIC, Neighbor Multiframe Offset, Request Index, System Info Index.
'0' =	Cell identity is told using BSIC and BCCH carrier.
'1' =	Cell identity is told using CI, and the LAC is the same as the current serving BTS.
'2' =	Cell identity is told using 51 Multiframe offset and BCCH carrier.
'3' =	Cell identity is told using an index referring to the BTS listed in the Measure Position Request component (the indicated reference BTS is 1).
'4' =	Cell identity is told using an index referring to the BTS listed in the BCCH allocation list (System Information Neighbor Lists) of the serving BTS. This type of neighbor identity shall not be used by the MS unless it has received the "E-OTD Measurement Assistance Data for System Information List Element" from the SMLC for this cell.
'5' =	Cell identity is told using CI and the LAC.
NOTE:	The MS can decide which of these methods to use. The CellIdType '3' and '4' are preferred.
Neighbor LAC
This field indicates the Location Area Code of the neighbor BTS. The purpose of the Location Area Code is to identify a location area. This field is conditional, and included, if CellIDType field is '5'.
Range: 	0 - 65535
Neighbor CI
This field indicates the Cell Identity of the particular neighbor cell. The purpose of the Cell Identity value is to identify a cell within a location area.
Neighbor CI field is conditional and is included only if CellIdType is set '1' or '5' and the CI value of the given cell is available.
Range: 	0 - 65535
Neighbor BCCH Carrier
This field indicates the absolute RF channel number of the BCCH of the neighbor base station. BCCH carrier field is conditional and is included only if CellIdType is set '0' or '2'.
Range: 	0 - 1023
Neighbor BSIC
This field indicates the BSIC (Base Station Identity Code of the base station).
BSIC field is conditional and is included only if CellIdType is set '0' or '4'.
Range: 	0 - 63
Neighbor Multiframe Offset
This field indicates the frame difference between the start of the 51 multiframes frames arriving from this BTS and the reference BTS. The multiframe offset is defined as TBTS - TRef, where TBTS is the time of the start of the 51 multiframe in the BTS in question, and TRef is the time of the start of the 51 multiframe in the reference BTS. This field is conditional and included only if CellIdType is set to '2'.
Range: 	0 - 51
Request Index
This field indicates an index identifying the reference BTS by referring to the BTSs listed in the Measure Position Request component (the indicated reference BTS in the Measure Position Request component has the index value 1, and possible next BTS '2', and so on).
This field is conditional and included only if CellIdType is set to '3'.
Range: 	1-16
System Info Index
This field indicates an index identifying the reference BTS by referring to the BCCH allocation list (System Information Neighbor List) of the serving BTS.
This field is conditional and included only if CellIdType is set to '4'.
Range: 	1-32
Neighbor Time Slot
Neighbor Time Slot indicates the time slot modulo 4 relative to which the MS reports the neighbor BTS measurements. This field is mandatory.
Range: 	0 to 3
NOTE 3:	If the MS does not know the timeslot scheme, the MS reports the used timeslot. MS can only report a result based on one time slot (N) or two time slots (N and N+4). If the MS knows the timeslot scheme, the MS can make measurements from several timeslots and reports that the used timeslot is zero (and makes correction).
Number of EOTD Measurements
Number of Measurements field is used together with Std of EOTD Measurements field to define quality of a reported EOTD measurement. The field indicates how many EOTD measurements have been used in the MS to define the standard deviation of these measurements. Following 3 bit encoding is used.
'000':	2-4;
'001':	5-9;
'010':	10-14;
'011':	15-24;
'100':	25-34;
'101':	35-44;
'110':	45-54;
'111':	55 or more.
This field is mandatory.
Std of EOTD Measurements
Std of EOTD Measurements field includes standard deviation of EOTD measurements. This field is mandatory. It can be used to evaluate the reliability of EOTD measurements in the SMLC and in weighting of the OTD values in location calculation.
Following linear 5 bit encoding is used:
'00000'	0 - (R*1-1) meters;
'00001'	R*1 - (R*2-1) meters;
'00010'	R*2 - (R*3-1) meters;
…
'11111'	R*31 meters or more.
where R is the resolution defined by Std Resolution field. For example, if R=20 meters, corresponding values are 0 - 19 meters, 20 - 39 meters, 40 - 59 meters, …, 620+ meters.
OTD
This field indicates the measured OTD value between the receptions of signals from the reference and the neighbor BTS. The OTD is defined as TNbor - TRef (modulo burst length) where TNbor is the time of arrival of signal from the neighbor BTS, and TRef is the time of arrival of signal from the reference BTS. The reporting resolution of the OTD value is 1/256 bit. This field is mandatory.
Range: 	0 - 39999
A.3.2.3a	E-OTD Measurement Extended Information Element
The purpose of the E-OTD Measurement Ext Information element is to provide OTD measurements of signals sent from the reference and neighbour base stations. The length of this element depends on the number of neighbour cells for which OTD measurements have been collected. This element is optional in the Measure Position Response component. It is included in the Measure Position Response component, if E-OTD measurements didn't fit in the E-OTD Measurement Information Element.
The E-OTD and 51 multiframe offset values are reported relative to the reference BTS as defined in the previous sub-clauses.
The following fields are valid only for the first set of measurements
Number of Measured Neighbors
This field indicates the number of different neighbor BTSs. This field is mandatory.
Range: 	0 - 5
NOTE:	If the MS can not measure any neighbor BTSs, then this value is set to '0'.
The following fields are repeated for the number of BTSs included in the Number of Measured Neighbors field. They are defined in the previous sub-clause :
-	CellIdType,
-	Neighbor LAC,
-	Neighbor CI,
-	Neighbor BCCH Carrier,
-	Neighbor BSIC,
-	Neighbor Multiframe Offset,
-	Request Index,
-	System Info Index,
-	Neighbor Time Slot,
-	Number of EOTD Measurements,
-	Std of EOTD Measurements,
-	OTD
A.3.2.4	Location Information Element
The purpose of Location Information element is to provide the location estimate from the MS to the network, if the MS is capable of determining its own position. Optionally, the element may contain the velocity parameters computed by the MS.
This element is optional. This element contains the following fields.
Reference Frame
This field specifies the reference BTS Reference Frame number during which the location estimate was measured. The time of the Reference Frame boundary is as observed by the MS, ie without Timing Advance compensation. This field is mandatory. However, if the Reference Frame number is within (42432..65535), the value of this field shall be ignored and in that case the MS should provide GPS TOW if available.
Table A.3: Reference Frame field contents
Parameter
# of Bits
Resolution
Range
Units
Reference Frame
16
---
0 - 65535
frames

Note that expected values for Reference Frame are in range 0 - 42431.
GPS TOW
This field specifies the GPS TOW for which the location estimate is valid , rounded down to the nearest millisecond unit. This field is optional but shall be included if GPS Time Assistance Measurements are included. If GPS Time Assistance Measurements are included in the RRLP Measure Position Response, the MS shall align GPS System time (as defined by the GPS TOW and the GPS TOW Subms fields) with the reported GSM frame boundary observed by the MS at that time.
Table A.4: GPS TOW field contents
Parameter
# of Bits
Resolution
Range
Units
GPS TOW
24
1 ms
0 - 14399999
ms

The 24 bits of GPS TOW are the least significant bits. The most significant bits shall be derived by the Serving Mobile Location Center to unambiguously derive the GPS TOW.
Fix Type
This field contains an indication as to the type of measurements performed by the MS: 2D or 3D. This field is mandatory.
'0' = 2D fix.
'1' = 3D fix.
Position Estimate
This field contains the calculated position estimate in the format defined in 3GPP TS 23.032. The allowed shapes are:
-	ellipsoid Point;
-	ellipsoid point with uncertainty circle;
-	ellipsoid point with uncertainty ellipse;
-	ellipsoid point with altitude and uncertainty ellipsoid.
A.3.2.5	GPS Measurement Information Element
The purpose of the GPS Measurement Information element is to provide GPS measurement information from the MS to the SMLC. This information includes the measurements of code phase and Doppler, which enables the network-based GPS method where position is computed in the SMLC. The proposed contents are shown in table A.5, and the individual fields are described subsequently. See also Figure A.1 for an illustration of the relation between some of the fields.

Figure A.1. Exemplary definitions of GPS measurement information fields.
This element is included in the Measure Position Response component if the network has requested the mobile to perform mobile-assisted location measurements using a GPS location method.
Following fields are repeated a number of times told in Number of E-OTD/GPS Measurement Sets field if Multiple Sets element is included. If Multiple Sets element is not included, the default value for sets is one (i.e. the following fields are present only once).
Table A.5: GPS Measurement Information element content
Element fields
Presence
Occurrences
Reference Frame
O
1
GPS TOW
M
1
# of Satellites (N_SAT)
M
1
Measurement Parameters
M
N_SAT

The following paragraphs describe the content of each information field of this element.
Reference Frame
This field is optional.
Table A.6: Reference Frame field contents
Parameter
# of Bits
Resolution
Range
Units
Reference Frame
16
---
0 - 65535
frames

Note that expected values for Reference Frame are in range 0 - 42431. If Reference Frame and GPS Time Assistance Measurements both are included in the RRLP Measure Position Response, the code phase measurements shall be aligned with the reported GSM frame boundary observed by the MS at that time, as indicated in Figure A.1. The time of the Reference Frame boundary is as observed by the MS, ie without Timing Advance compensation.
GPS TOW
This field specifies the GPS TOW for which the location estimate is valid, rounded down to the nearest millisecond unit.This field is mandatory.
Table A.7: GPS TOW field contents
Parameter
# of Bits
Resolution
Range
Units
GPS TOW
24
1 ms
0 - 14399999
ms

The 24 bits of GPS TOW are the least significant bits. The most significant bits shall be derived by the Serving Mobile Location Center to unambiguously derive the GPS TOW.
NOTE:	The GPS Reference Time Uncertainty, if present, indicates the accuracy of GPSTOW, as described in sub-clause A.3.2.6.a.
# of Satellites (N_SAT)
Number of Measurements
This field specifies the number of measurements for which measurements satellites are provided in the component. This value represents the number of satellites that were measured by the MS. This value of N_SAT determines the length of the payload portion of the component. Typical range for N_SAT is four to a maximum of 12. This field is mandatory and occurs once per set.
Table A.7a: # of Satellites field contents
Parameter
# of Bits
Resolution
Range
Units
N_SAT
4
---
1 - 16
---

Measurement Parameters
This field contains information about the measurements of code phase and Doppler, which enables the network-based method where position is computed in the SMLC. This field is mandatory and occurs N_SAT times per message.
Table A.8: Measurement Parameters field contents
Parameter
# of Bits
Resolution
Range
Units
Satellite ID
6
---
0 - 63
---
C/No
6
1
0 - 63
dB-Hz
Doppler
16
0,2
6553,6
Hz
Whole Chips
10
1
0 - 1022
chips
Fractional Chips
11
2-10
0 - (1-2-10)
chips
Multipath Indicator
2
see Table A.9
TBD
---
Pseudorange RMS Error
6
3 bit mantissa
3 bit exp
0,5 - 112
m

Satellite ID
This field identifies the particular satellite for which the measurement data is valid. This values 0 - 63 represent satellite PRNs 1 - 64, respectively.
C/N0
This field contains the estimate of the carrier-to-noise ratio of the received signal from the particular satellite used in the measurement. It is given in whole dBs and has a range of 0 to 63. Typical levels observed by MS-based GPS units will be in the range of 20 dB to 50 dB.
Doppler
This field contains the Doppler measured by the MS for the particular satellite signal. This information can be used to compute the 3-D velocity of the MS. The Doppler range is sufficient to cover the potential range of values measured by the MS.
Whole Chips
This field contains the whole value of the code-phase measurement made by the MS for the particular satellite signal at the time of measurement, in units of 1 GPS chip in the range from 0 to 1022 chips, where increasing binary values of the field signify increasing measured pseudoranges. The code phase measurement is divided into two fields, "Whole Chips" and "Fractional Chips".
Fractional Chips
This field contains the fractional value of the code-phase measurement made by the MS for the particular satellite signal at the time of measurement. The resolution of the fractional portion is approximately 0,3 m.
NOTE: 	The actual ASN.1 coding of this field reserves 11 bits for legacy compatibility. Only the 10 least significant bits are actually required to code the values (0..1023)
Multipath Indicator
This field contains the Multipath Indicator value. This parameter is specified according to the representation described in table A.9.
Table A.9: Multipath Indicator values and associated indications
Value
Multipath Indication
00
Not measured
01
Low, MP error < 5m
10
Medium, 5m < MP error < 43m
11
High, MP error > 43m

Range: 	0 - 3
Pseudorange RMS Error
This field contains a Pseudorange RMS Error value.
Range: 	0,5 m to 112 m
NOTE:	This parameter is specified according to a floating-point representation as described in Table A.10.
Table A.10: Pseudorange RMS Error representation
Index
Mantissa
Exponent
Floating-Point value, xi
Pseudorange value, P
0
000
000
0,5
P < 0,5
1
001
000
0,5625
0,5 <= P < 0,5625
I
x
y
0,5 * (1 + x/8) * 2y
xi-1 <= P < xi
62
110
111
112
104 <= P < 112
63
111
111
--
112 <= P

A.3.2.6	Location Information Error Element
The purpose of Location Information Error element is to provide the indication of error and the reason for it, when the MS can not perform the required location or the network can not determine the position estimate. The element may also indicate what further assistance data may be needed by the target MS to produce a successful location estimate or location measurements. This element is optional. This element has the following fields.
Error Reason
This field indicates the reason for error. This field is mandatory.
'0':	Undefined error.
'1':	There were not enough BTSs to be received when performing mobile based E-OTD.
'2':	There were not enough GPS satellites to be received, when performing GPS location.
'3':	E-OTD location calculation assistance data missing.
'4':	E-OTD assistance data missing.
'5':	GPS location calculation assistance data missing.
'6':	GPS assistance data missing.
'7':	Requested method not supported.
'8':	Location request not processed.
'9':	Reference BTS for GPS is not the serving BTS.
'10':	Reference BTS for E-OTD is not the serving BTS.
'11':	There were not enough GANSS satellites received, when performing GANSS location.
'12':	GANSS assistance data missing.
'13':	Reference BTS for GANSS is not the serving BTS.
Additional Assistance Data
This field is optional. Its presence indicates that the target MS will retain assistance data already sent by the SMLC. The SMLC may send further assistance data for any new location attempt but need not resend previous assistance data. The field may contain the following:
GPS Assistance Data:
Necessary additional GPS assistance data (structure and encoding as for the GPS Assistance Data IE in 3GPP TS 49.031 excluding the IEI and length octets)
GANSS Assistance Data:
Necessary additional GANSS assistance data (structure and encoding as for the GANSS Assistance Data IE in 3GPP TS 49.031 excluding the IEI and length octets)

A.3.2.6a	GPS Time Assistance Measurements Element
This IE contains measurements that are used to define an accurate relation between GSM and GPS time or to provide additional GPS TOW information for MS Assisted A-GPS. The contents are shown in Table A.10a, and the individual fields are described subsequently.
Table A.10a: GPS Time Assistance Measurements Information element content
Element fields
Presence
Reference Frame MSB
O
GPS TOW Subms
O
Delta TOW
O
GPS Reference Time Uncertainty
O

Reference Frame MSB
This field shall be included when GPS-GSM time association is provided for either MS Based A-GPS or MS Assisted A-GPS. It indicates the Most Significant Bits (MSBs) of the frame number of the reference BTS corresponding to the GPS measurement or location estimate. Starting from the complete GSM frame number denoted FN, the MS calculates Reference Frame MSB as
	Reference Frame MSB = floor(FN/42432)
The complete GSM frame number FN can then be reconstructed in the SMLC by combining the fields Reference Frame with Reference Frame MSB in the following way
	FN = Reference Frame MSB*42432+Reference Frame
Range: 	0-63
GPS TOW Subms
This field is only applicable for MS-Based A-GPS. This field indicates in units of 100ns the submillisecond part of the GPS time of measurement. This field together with the GPS TOW field in the Location Information Element provides a more accurate time stamp of the location estimate for MS based AGPS Expressed in units of microseconds. The precise GPS time of measurements in milliseconds is thus equal to 
	GPS TOW + 0,0001*GPS TOW Subms 
The estimation of precise GPS time of measurement using AGPS is vulnerable to millisecond ambiguities. Therefore the MS shall only report this field when it is confident that any millisecond ambiguities have been avoided.
Range: 	0-9999
Delta TOW
This field is only applicable for MS-Assisted A-GPS. This field specifies the difference in milliseconds between the GPS TOW reported in the GPS Measurement Information Element and the millisecond part of the SV time tsv_1 of the first SV in the list reported from the MS. Figure A.1 shows an example of Delta TOW calculation. The Delta TOW is defined as Delta TOW = GPS TOW - fix(tsv_1)
where fix() denotes rounding to the nearest integer towards zero. The estimation of tsv_1 which forms the basis for the calculation of Delta TOW is vulnerable to millisecond ambiguities. Therefore the MS shall only report this field when it is confident that the correct millisecond event has been recovered.
Range: 	0-127
GPS Reference Time Uncertainty
This element is optional. It provides the accuracy of the relation GPS and GSM time in the Location Information or GPS Measurement Information Element when GPS-GSM time association is provided. For MS Assisted A-GPS when GPS-GSM time association is not provided, even if GPS Time Assistance Measurement Request is not included in the Measure Position Request, this element can be included to provide the accuracy of the reported GPS TOW. The interval, range and treatment is as described in sub-clause 2.2.4b.
A.3.2.6b	Velocity Estimate Element
This field contains the calculated velocity estimate in the format defined in 3GPP TS 23.032. The allowed encodings are:
-	Horizontal Velocity 
-	Horizontal with Vertical Velocity
-	Horizontal Velocity with uncertainty
-	Horizontal with Vertical Velocity and uncertainty
A.3.2.7	Extended Reference IE
This IE shall be included in any Measure Position Response if and only if an Extended Reference IE was received in the corresponding previous Measure Position Request message.
NOTE:	For reasons of backward compatibility, a Release 4 or earlier MS will not include this IE.
The Extended Reference IE contains the following elements.
SMLC code:	an integer in the range 0-63. The value returned by a target MS in a Measure Position Response shall equal the value received from the SMLC in the earlier Measure Position Request.
Transaction ID:	an integer in the range 0-262143 distinguishing different RRLP transactions in different MSs currently being served by the same SMLC. The value returned by a target MS in a Measure Position Response shall equal the value received from the SMLC in the earlier Measure Position Request.
When an MS employs pseudo-segmentation to return an RRLP response, the same Extended Reference IE shall be included in each RRLP Measure Position Response component.
A.3.2.8	Uplink RRLP Pseudo Segmentation Indication
This element is included by the MS when up-link RRLP pseudo-segmentation is used. In the first segment, 'first of many' is indicated and in the second 'second of many' is indicated. It is not included when up-link pseudo-segmentation is not used.
A.3.2.9	GANSS Location Information Element
The purpose of GANSS Location Information element is to provide the GANSS location estimate from the MS to the SMLC, if the MS is capable of determining its own position. Optionally, the element may contain Reference Frame element for including accurate relation between the cellular frame and GANSS Time of Day (TOD) for the serving cell if requested by the SMLC.
If GANSS Positioning Method was included in a Measure Position Request component, this field shall be used to report the location estimate from the MS to the network. 
The time reference of GANSS TOD in GANSS Location Information Element can be any GNSS specific system time. The time reference is indicated by GANSS_TIME_ID. 
The contents of GANSS Location Information are shown in Table A.10.1, and the individual fields are described subsequently.
Table A.10.1: GANSS Location Information Element Content
Element fields
Presence
Reference Frame
O (note 1)
GANSS TOD
O (note 1)
GANSS TOD Frac
O
GANSS TOD Uncertainty
O
GANSS_TIME_ID
O (note 2)
Fix Type
M
Position Data
M
Stationary Indication
O
Location Estimate
M 
NOTE 1: Either Reference Frame or GANSS Reference Time shall always be included.
NOTE 2. Absence of this field means Galileo

Reference Frame
This element contains Reference FN and Reference FN MSB fields. Reference FN field specifies the reference BTS reference frame number during which the location estimate was measured. The time of the reference frame boundary is as observed by the MS, i.e. without Timing Advance compensation.
Note that expected values for Reference FN are in range 0 - 42431.
Reference FN MSB field specifies the Most Significant Bits (MSB) of the frame number of the reference BTS corresponding to the GANSS Measurement Information or Location Estimate. Starting from the complete GSM frame number denoted FN, the MS calculates Reference FN MSB as
	Reference FN MSB = floor(FN/42432)
The complete GSM frame number FN can then be reconstructed in the SMLC by combining the fields Reference Frame with Reference FN MSB in the following way
	FN = Reference FN MSB*42432+Reference FN
Range: 	0-63
Table A.10.2: Reference Frame field contents
Parameter
# of Bits
Resolution
Range
Unit
Incl.
Reference FN
16
---
0 - 65535
frame
M
Reference FN MSB
6
---
0 - 63
frame
O

GANSS TOD
This field specifies the time for which the location estimate is valid, rounded down to the nearest integer millisecond. This field is optional but shall be included if GANSS TOD - GSM time association is included in which case the MS shall align GANSS TOD with the reported GSM frame boundary observed by the MS at that time. The time reference of GANSS TOD is indicated by GANSS_TIME_ID.
Table A.10.3: GANSS TOD contents
Parameter
# of Bits
Resolution
Range
Unit
GANSS TOD
22
1
0 - 3599999
ms

The 22 bits of GANSS TOD are the least significant bits. The most significant bits shall be derived by the SMLC to unambiguously derive the GANSS TOD.
GANSS TOD Frac
This field is the submillisecond part of the GANSS time of day. This field together with the GANSS TOD field provides a more accurate time stamp of the Location Estimate having resolution of ~61 ns. This field is optional but shall be included if GANSS TOD - GSM time association is included. 
Table A.10.4: GANSS TOD Frac contents
Parameter
# of Bits
Resolution
Range
Unit
GANSS_TOD_Frac
14
2-14
0 - (1-2-14)
ms
.
GANSS TOD Uncertainty
This parameter provides the accuracy of the relation between GANSS TOD and GSM time if GANSS TOD- GSM time association is provided. When GANSS TOD-GSM time association is not provided, this element can be included to provide the accuracy of the reported GANSS TOD.
The uncertainty r, expressed in microseconds, is mapped to a number K, with the following formula:
	r = C*(((1+x)K)-1)
with C = 0,0022 and x = 0,18. With 0 £ K £ 127, a suitably useful range between 0 and 3 second is achieved for the uncertainty, while still being able to code down to values as small as 0,3 nanoseconds. To encode any higher value of uncertainty than that corresponding in the above formula to K=127, the same value, K=127, shall also be used. The uncertainty is then coded on 7 bits, as the binary encoding of K.
Table A.10.5: Example values for the GANSS TOD Uncertainty Parameter Format
Value of K
Value of uncertainty
0
0 nanoseconds
1
0,396 nanoseconds
2
0,863 nanoseconds
-
-
50
8,64 microseconds
-
-
127
≥ 2,96 seconds

GANSS_TIME_ID
This field indicates which GNSS has been used as the time reference for GANSS Location Information. This field is optional and absence of this field means that Galileo system time is used as time reference.
Table A.10.6: GANSS_TIME_ID
GANSS_TIME_ID
Indication
GPS
0
QZSS
1
GLONASS
2
BDS
3
Reserved for future use
4-7

Fix Type
This field contains an indication as to the type of measurements performed by the MS: 2D or 3D. This field is mandatory.
'0' = 2D fix.
'1' = 3D fix.
Position Data
This element provides a list of positioning methods and satellite systems used to calculate the Position Estimate. Each bit of this bitmap is of type Boolean, where TRUE ('1') means the particular positioning method or signal(s) from a satellite system has been used.
'bit 0':	E-OTD;
'bit 1'	GPS;
'bit 2':	Galileo;
'bit 3':	SBAS;
'bit 4':	Modernized GPS;
'bit 5':	QZSS;
'bit 6':	GLONASS;
'bit 7':	BDS;
'bit 8-15':	Reserved.
Stationary Indication
This field indicates whether the MS is stationary (horizontal and vertical speeds less than the resolution of the Velocity Estimate parameters as defined in 3GPP TS 23.032). 
If Velocity Estimate is requested and the MS is stationary, then the Stationary Indication is set to '1' and Velocity Estimate may not be included in Measure Position Response Element. 
Position Estimate
This field contains the calculated position estimate in the format defined in 3GPP TS 23.032. The allowed shapes are:
-	ellipsoid Point;
-	ellipsoid point with uncertainty circle;
-	ellipsoid point with uncertainty ellipse;
-	ellipsoid point with altitude and uncertainty ellipsoid. 
As defined in 3GPP TS 23.032, the position estimate is provided in WGS-84 reference system.
A.3.2.10	GANSS Measurement Information Element
The purpose of the GANSS Measurement Information element is to provide GANSS measurement information from the MS to the SMLC and GANSS TOD - GSM time association if requested by the SMLC. This information includes the measurements of code phase, Doppler, C/No and optionally accumulated carrier phase, also called accumulated deltarange (ADR), which enable the network-based GANSS method where position is computed in the SMLC. The contents are shown in table A.10.7, and the individual fields are described subsequently. See also Figure A.1a for an illustration of the relation between some of the fields.

Figure A.1a. Exemplary definitions of GANSS measurement information fields.
GANSS Measurement Information element is included in the Measure Position Response component if the network has requested the mobile to perform mobile-assisted location measurements using GANSS Positioning Method. GANSS Measurement Information element will also optionally include carrier phase measurements if SMLC has requested the MS to perform carrier phase measurements.
The following fields are repeated the number of times indicated in Number of E-OTD/GPS/GANSS Measurement Sets field if Multiple Sets element is included. If Multiple Sets element is not included, the default value for sets is one (i.e. the following fields are present only once).
Table A.10.7: GANSS Measurement Information element content
Element fields
Presence
Occurrences
Reference Frame
O
1
GANSS TOD
O (note 1)
1
DeltaTOD
O
1
GANSS TOD Uncertainty
O
1
GANSS Generic Measurement Information
M
 N_GANSS
NOTE 1:	If GPS Measurement Information element is not included in a Measure Position Response component, this field shall be present. 

The following paragraphs describe the content of each information field of this element.
Reference Frame 
These fields are shown in Table A.10.8 and are optional, but shall be included when GANSS TOD- GSM time association is provided.
Note that expected values for Reference FN are in range 0 - 42431. The time of the reference frame boundary is as observed by the MS, ie without Timing Advance compensation. 
Reference FN MSB field indicates the Most Significant Bits (MSB) of the frame number of the reference BTS corresponding to the GANSS Measurement Information. 
Starting from the complete GSM frame number denoted FN, the MS calculates Reference FN MSB as
	Reference FN MSB = floor(FN/42432)
The complete GSM frame number FN can then be reconstructed in the SMLC by combining the fields Reference Frame with Reference FN MSB in the following way
	FN = Reference FN MSB*42432+Reference FN
Table A.10.8: Reference Frame field contents
Parameter
# of Bits
Resolution
Range
Unit
Reference FN
16
---
0 - 65535
frame
Reference FN MSB
6
---
0 - 63
frame

GANSS TOD
This field specifies the GANSS TOD for which the GANSS Measurement Parameters in GANSS Generic Measurement Information Element are valid. This field shall be included when GANSS TOD-GSM time association is provided or if GPS Measurement Information element is not present in a Measure Position Response component. If GPS Measurement Information element is present in a Measure Position Response component, and GANSS TOD field is absent in the GANSS Measurement Information element, the GPS TOW included in the GPS Measurement Information element specifies the reference time for which the GANSS Measurement Parameters are valid.
The 22 bits of GANSS TOD are the least significant bits. The most significant bits shall be derived by the Serving Mobile Location Centre to unambiguously derive the GANSS TOD.
The value for GANSS TOD is derived from the GNSS specific system time of the GNSS reported first in the GANSS Measurement IE rounded down to the nearest millisecond unit.
Table A.10.9: GANSS TOD field contents
Parameter
# of Bits
Resolution
Range
Units
GANSS TOD
22
1 ms
0 - 3599999
ms

DeltaTOD
This field specifies the difference in milliseconds between GANSS TOD reported in the GANSS Measurement Information Element and the millisecond part of the SV time tsv_1 of the first SV in the list reported from the MS. The DeltaTOD is defined as 
DeltaTOD = GANSS TOD - fix(tsv_1)
where fix() denotes rounding to the nearest integer towards zero.
Range: 	0-127
GANSS TOD Uncertainty
This element provides the accuracy of the relation GANSS TOD -GSM time when GANSS TOD-GSM time association is provided. When GANSS TOD-GSM time association is not provided, even if GANSS TOD - GSM Time Association Measurement Request is not included in the Measure Position Request, this element can be included to provide the accuracy of the reported GANSS TOD. 
If GANSS TOD is the given GNSS time, then the true GNSS time, corresponding to the provided GSM time as observed at the MS location, lies in the interval (GANSS TOD – GANSS TOD Uncertainty, GANSS TOD + GANSS TOD Uncertainty).
The uncertainty r, expressed in microseconds, is mapped to a number K, with the following formula:
	r = C*(((1+x)K)-1)
with C = 0,0022 and x = 0,18. With 0 £ K £ 127, a suitably useful range between 0 and 3 second is achieved for the uncertainty, while still being able to code down to values as small as 0,3 nanoseconds. To encode any higher value of uncertainty than that corresponding in the above formula to K=127, the same value, K=127, shall also be used. The uncertainty is then coded on 7 bits, as the binary encoding of K.
Examples of GANSS TOD Uncertainty value are shown in Table A.10.10. 
Table A.10.10: Example values for the GANSS TOD-GSM Time Uncertainty Parameter Format
Value of K
Value of uncertainty
0
0 nanoseconds
1
0,396 nanoseconds
2
0,863 nanoseconds
-
-
50
8,64 microseconds
-
-
127
≥ 2,96 seconds

 N_GANSS, Number of GANSS Generic Measurement Information Elements
N_GANSS specifies the number of GANSS Generic Measurement Information Element occurrences in GANSS Measurement Information element, one occurrence for each reported GANSS. The range is from 1 to 8.
A.3.2.10.1	GANSS Generic Measurement Information Element

Table A.10.11: GANSS Generic Measurement Information
Element fields
Presence
Occurrences
GANSS ID
O (note 1)
1
GANSS Generic Measurement Element
M
N_SGN_TYPE
Note 1: Absence of this field means Galileo.

GANSS ID
GANSS  ID field identifies the GNSS constellation on which GANSS Measurement Parameters were measured according to Table A.40. 
Range: 0 – 7
N_SGN_TYPE, Number of GANSS Generic Measurement Elements
N_SGN_TYPE specifies the number of GANSS Generic Measurement Element occurrences in GANSS Generic Measurement Information element. The range for N_SGN_TYPE is from 1 to 8. 
Table A.10.12: GANSS Generic Measurement Element contents
Element fields
Presence
Occurrences
GANSS Signal ID
M
1
GANSS Code Phase Ambiguity
O
1
GANSS Measurement Parameters
M
N_SGN

This element contains measurement information for one GNSS signal type indicated by GANSS Signal ID.
GANSS Signal ID
GANSS Signal ID field identifies the signal on which GANSS Measurement Parameters were measured. The supported signals are listed in Table A.59.
Range: 0 - 7
GANSS Code Phase Ambiguity
The GANSS Code Phase Ambiguity field gives the ambiguity of the code phase measurement. It is given in ms and is an integer between 0 and 127. 
The Total Code Phase for a satellite k (Satk) is given modulo this GANSS Code Phase Ambiguity and is reconstructed with : 
Code_Phase_Tot(Satk) = Code_Phase (Satk)+ Integer Code Phase(Satk) + n * Code Phase Ambiguity, n= 0,1,2,...
If there is no code phase ambiguity, the GANSS Code Phase Ambiguity shall be set to 0.
The field is optional. If GANSS Code Phase Ambiguity is absent, the default value is 0.
N_SGN, Number of Signal Measurements
N_SGN specifies the number of GANSS Measurement Parameters element occurrence in GANSS Generic Measurement Information element. Typical range for N_SGN is 4 to a maximum of 16. 
GANSS Measurement Parameters
This field contains information about the measurements of code phase and Doppler, which enables the network-based method where position is computed in the SMLC. This field is mandatory and occurs N_SGN times in GANSS Generic Measurement Information element.
Table A.10.13: GANSS Measurement Parameters field contents
Parameter
# of Bits
Resolution
Range
Units
Incl.
Signal Quality Parameters
SV ID
6
---
-
---
M
C/No
6
1
0 - 63
dB-Hz
M
Multipath Indicator
2
---
See Table A.9
---
M
Carrier Quality Indication
2
---
---
---
O(1)
Code Phase Measurements
Code Phase
21
2-21
0 - (1-2-21)
ms
M
Integer Code Phase
7
1
0 - 127
ms
O
Code Phase RMS Error
6
3 bit mantissa
3 bit exp
0,5 - 112
m
M
Doppler Frequency Measurements
Doppler
16
0,04
1310,7
m/s
O
ADR
25
2-10
0 - 32767,5
m
O(1)
NOTE 1:	All of these fields shall be present together, or none of them shall be present.


SV ID
The SV ID is an index number for a satellite within a satellite system. The SV ID value range starts from 0 for each satellite system. The interpretation of SV ID for each GANSS is defined in Table A.10.14. 
Table A.10.14: Interpretation of SV ID
System
Value of SV ID
Interpretation of SV ID
Galileo
'0' – '35'
'36' – '63'
Code No. 1 to 36
Reserved
Modernized GPS
'0' – '62'
'63'
Satellite PRN Signal No. 1 to 63
Reserved
SBAS
'0' – '38'
'39' – '63'
Satellite PRN Signal No. 120 to 158
Reserved
QZSS
'0' – '4'
'5 – '63'
Satellite PRN Signal No. 193 to 197
Reserved
GLONASS
'0' – '23'
'24 – '63'
Slot Number 1 to 24
Reserved
BDS
'0' – '36'

'37' – '63'
Satellite ranging code number signal No.1 to 37 [18]
Reserved

C/N0
This field contains the estimate of the carrier-to-noise ratio of the received signal from the particular satellite. It is given in whole dB-Hz and has a range of 0 to 63. Typical levels observed by GNSS receivers will be in the range of 16 dB-Hz to 50 dB-Hz.
Carrier Quality Indication
This field indicates the quality of a carrier phase measurement as a bit field. The LSB indicates the data polarity, that is. if the data from a specific satellite is received inverted, this is indicated by setting the LSB value to '1'. In the case the data is not inverted, the LSB is set to '0'. The MSB indicates if accumulation of the carrier phase has been continuous, that is, without cycle slips since the previous measurement report. If the carrier phase accumulation has been continuous, the MSB value is set to '1X'. Otherwise, the MSB is set to '0X'.
This field is optional and shall be included only when carrier phase measurements are requested.
Table A.10.16: Carrier Phase Quality Indication values and associated indications
Bit
Polarity Indication
'0'
Data Direct
'1'
Data Inverted
'0X'
Carrier phase not continuous
'1X'
Carrier phase continuous
X = do not care

Code Phase
This field contains the whole and fractional value of the code-phase measurement made by the MS for the particular satellite signal at the time of measurement in the units of ms. GNSS specific code phase measurements (e.g. chips) are converted into unit of ms by dividing the measurements by the nominal values of the measured signal chipping rate (e.g. Galileo L1 OS measurement is divided by 1023,0 chip/ms).
Integer Code Phase
This field indicates the integer millisecond part of the code phase that is expressed modulo the GANSS Code PhaseAmbiguity. 
The value of the ambiguity is given in the GANSS Ambiguity field of the GANSS Generic Measurement Information element.
The Integer code phase is optional. The default value is 0.
Code Phase RMS Error
This field contains Code Phase RMS Error value. This parameter has the same range as described in Table A.10.
Doppler
This field contains the Doppler measured by the MS for the particular satellite signal. This information can be used to compute the 3-D velocity of the MS. 
The Doppler range is sufficient to cover the potential range of values measured by the MS. Doppler measurements are converted into unit of m/s by multiplying the Doppler measurement in Hz by the nominal wavelength of the measured signal.
ADR
This field contains the ADR measurement measured by the MS for the particular satellite signal. This information can be used to compute the 3-D velocity or high-accuracy position of the MS. ADR measurements are converted into units of m by multiplying the ADR measurement by the nominal wavelength of the measured signal.
This field is optional and shall be included only when carrier phase measurements are requested.
A.4	Assistance Data
A.4.1	General
The Assistance Data is a RRLP component from the network to the MS. It is used by the network to provide assistance data to enable MS-based E-OTD or MS-based Assisted GPS capabilities in the MS and may be used to help support MS-assisted E-OTD and MS-assisted Assisted GPS. It contains the following elements.
Table A.11: Assistance Data component content
Element
Type/Reference
Presence
E-OTD Reference BTS for Assistance Data 
E-OTD Reference BTS for Assistance Data 2.2.3
C
E-OTD Measurement Assistance Data
E-OTD Measurement Assistance Data 2.2.4
C
E-OTD Measurement Assistance Data for System Information List
E-OTD Measurement Assistance Data for System Information List 2.2.5
C
GPS Assistance Data
GPS Assistance Data 4.2.4
C
Additional GPS Assistance Data
Additional GPS Assistance Data 4.2.4c
O
GPS Time Assistance Measurement Request
GPS Time Assistance Measurement Request 4.2.4a
O
GPS Reference Time Uncertainty
GPS Reference Time Uncertainty 4.2.4b
O
More Assistance Data To Be Sent
More Assistance Data To Be Sent 4.2.5
C
Extended Reference
Extended Reference 2.2.5
C
GANSS Assistance Data
GANSS Assistance Data 4.2.6
C
GANSS Carrier-Phase Measurement Request
GANSS Carrier-Phase Measurement Request 4.2.7
O
GANSS TOD - GSM Time Association Request
GANSS TOD - GSM Time Association Request 4.2.8
O

A.4.2	Elements
A.4.2.1	E-OTD Reference BTS for Assistance Data Element
This element is conditional. It is as described in sub-clause 2.2.3. If the network can provide assistance data, and data for E-OTD has been requested, this element is included.
A.4.2.2	E-OTD Measurement Assistance Data Element
This element is conditional. It is as described in sub-clause 2.2.4. If the network can provide assistance data, and data for E-OTD has been requested, this element is included.
A.4.2.3	E-OTD Measurement Assistance Data for System Information List Element
This element is conditional. It is as described in sub-clause 2.2.5. If the network can provide assistance data, and data for E-OTD has been requested, this element is included.
A.4.2.4	GPS Assistance Data Element
The GPS Assistance Data element contains a single GPS assistance message that supports both MS-assisted and MS-based GPS methods. This element can contain one or more of the fields listed in table A.12 below, which support both MS-assisted and MS-based GPS methods. As table A.12 shows, all fields are optional.
Note that certain types of GPS Assistance data may be derived, wholly or partially, from other types of GPS Assistance data.
In addition, an Integrity Monitor (IM) shall detect unhealthy (e.g., failed/failing) satellites and also shall inform users of measurement quality in DGPS modes when satellites are healthy. Excessively large pseudo range errors, as evidenced by the magnitude of the corresponding DGPS correction, shall be used to detect failed satellites. Unhealthy satellites should be detected within 10 seconds of the occurrence of the satellite failure. When unhealthy (e.g., failed/failing) satellites are detected, the assistance and/or DGPS correction data shall not be supplied for these satellites. When the error in the IM computed position is excessive for solutions based upon healthy satellites only, DGPS users shall be informed of measurement quality through the supplied UDRE values. After bad satellites have been indicated in the Real Time Integrity field, if the satellites return to healthy condition for some period of time, the indications for them shall be removed from this field.
Table A.12: Fields in the GPS Assistance Data element
Parameter
Presence
Repetition
Reference Time
O
Yes
Reference Location
O
No
DGPS Corrections
O
Yes
Navigation Model
O
Yes
Ionospheric Model
O
No
UTC Model
O
No
Almanac
O
Yes
Acquisition Assistance
O
Yes
Real-Time Integrity
O
Yes

When RRLP pseudo-segmentation is used, Table A.12 indicates which parameters may be repeated in more than one RRLP segment in order to provide data for multiple satellites. When any such parameter appears in more than one segment, the following rules shall apply.
1.	There shall be no repetition of data for the same satellite.
2.	Optional and conditional elements in the parameter not associated with a particular satellite shall each appear in at most one RRLP segment.
3.	Any mandatory element not associated with a particular satellite shall assume consistent values in the case of an element related to current GPS time and the same value otherwise.
4.	The maximum number of satellites defined in sub-clause 5.1 for which data can be included for any parameter in one RRLP segment shall apply also when counted over all RRLP segments.
Reference Time
These fields specify the relationship between GPS time and air-interface timing of the BTS transmission in the reference cell. These fields occur once per message; some are mandatory and some are conditional, as shown in table A.14. Note that Reference Time may also be present within the Acquisition Assistance parameter. In such a case, the SMLC shall ensure consistency.
Table A.14: Reference Time (Fields occurring once per message)
Parameter
# Bits
Scale Factor
Range
Units
Incl.
GPS Week
10
1
0 - 1023
weeks
M
GPS TOW
23
0,08
0-604799,92
sec
M
BCCH Carrier
10
1
0 - 1023
---
O (note 1)
BSIC
6
1
0 - 63
---
O (note 1)
FNm
21
1
0 - (221-1)
frames
O (note 1)
TN
3
1
0 - 7
timeslots
O (note 1)
BN
8
1
0 - 156
bits
O (note 1)
GPS TOW Assist
24*N_SAT
---
----
---
O
NOTE 1:	All of these fields shall be present together, or none of them shall be present.

GPS Week
This field specifies the GPS week number of the assistance being provided. GPS Week eliminates one-week ambiguities from the time of the GPS assistance. This field is mandatory.
NOTE:	The number of 1024 week cycles since the GPS zero time-point is provided in the GPS Reference Time Extension in Table A.29u.
GPS TOW
The GPS TOW (time-of-week) is a mandatory field and is specified with 80 msec resolution. When GSM Time Present is "1", GPS TOW and BCCH/BSIC/FNm/TN/BN IEs provide a valid relationship between GPS and GSM time, as seen at the approximate location of the MS, ie the propagation delay from BTS to MS shall be compensated for by the SMLC. Depending on implementation, the relation between GPS and GSM time may have varying accuracy. Therefore, the uncertainty of the timing relation may be provided in the optional field GPS Reference Time Uncertainty. If the propagation delay from BTS to MS is not accurately known, the SMLC shall use the best available approximation of the propagation delay and take the corresponding delay uncertainty into account in the calculation of the field GPS Reference Time Uncertainty. When GSM Time Present is "0", GPS TOW is an estimate of current GPS time of week at time of reception of the RRLP segment containing this data by the MS. The SMLC should achieve an accuracy of +/- 3 seconds for this estimate including allowing for the transmission delay between SMLC and MS of the RRLP segment containing GPS TOW. Note that the MS should further compensate GPS TOW for the time between the reception of the segment containing GPS TOW and the time when the GPS TOW field is used. 
BCCH Carrier/BSIC/FNm/TN/BN
These fields specify the state of the GSM frame number, timeslot number, and bit number, respectively, of the reference BTS with the specified BCCH carrier and BSIC at the time that correspond to GPS TOW. The SMLC shall use the current serving BTS as the reference BTS. The frame number field is given modulo 221, i.e., the MSB of the GSM frame number is truncated. The MS shall interpret FNm as the most recent of the two possible frame numbers that FNm could represent. The target MS has the option of rejecting a GPS position request or GPS assistance data if the reference BTS is not the serving BTS.
GPS TOW Assist
This field contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) that are currently being broadcast by the respective GPS satellites. Combining this information with GPS TOW enables the MS to know the entire 1,2-second (60-bit) pattern of TLM and HOW that is transmitted at the start of each six-second subframe by the particular GPS satellite. This field contains information for each of N_SAT satellites, and optional. The individual fields for each satellite in the message are shown in table A.15a.
Table A.15a: GPS TOW Assist (Fields occurring N_SAT times per message)
Parameter
# Bits
Scale Factor
Range
Units
Incl.
SatID
6
---
0 - 63
---
M
TLM Message
14
---
0 - 16383
Bit field
M
Anti-Spoof 
1
1
0 -1
Bit field
M
Alert
1
1
0 - 1
Bit field
M
TLM Reserved
2
---
0 - 3
Bit field
M

SatID
This field identifies the satellite for which the corrections are applicable. The values ranging from 0 to 63 represent satellite PRNs ranging from 1 to 64, respectively.
TLM Message
This field contains a 14-bit value representing the Telemetry Message (TLM) being broadcast by the GPS satellite identified by the particular SatID, with the MSB occurring first in the satellite transmission.
Anti-Spoof/Alert
These fields contain the Anti-Spoof and Alert flags that are being broadcast by the GPS satellite identified by SatID.
TLM Reserved
These fields contain the two reserved bits in the TLM Word being broadcast by the GPS satellite identified by SatID, with the MSB occurring first in the satellite transmission.
Reference Location
The Reference Location field contains a 3-D location (with uncertainty) specified as per 3GPP TS 23.032. The purpose of this field is to provide the MS with a priori knowledge of its location in order to improve GPS receiver performance. The allowed shape is 3-D location with uncertainty (ellipsoid point with altitude and uncertainty ellipsoid).
DGPS Corrections
These fields specify the DGPS corrections to be used by the MS. All fields are mandatory when DGPS Corrections are present in the GPS Assistance Data.
Table A.15: DGPS Corrections
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
The following fields occur once per message
GPS TOW
20
1
0 - 604799
sec
M
Status/Health
3
1
0-7
---
M
N_SAT
4
1
1-16
---
M
The following fields occur once per satellite (N_SAT times)
SatID
6
---
0 - 63
---
M
IODE
8
---
0 - 255
---
M
UDRE
2
---
0 - 3
---
M
PRC
12
0,32
655,04
meters
M
RRC
8
0,032
4,064
meters/sec
M
Delta PRC2
8
---
---
---
M
Delta RRC2
4
---
---
---
M
Delta PRC3
8
---
---
---
M
Delta RRC3
4
---
---
---
M

GPS TOW
This field indicates the baseline time for which the corrections are valid.
Status/Health
This field indicates the status of the differential corrections contained in the broadcast message. The values of this field and their respective meanings are shown below in table A.16.
Table A.16: Values of Status/Health IE
Code
Indication
000
UDRE Scale Factor = 1,0
001
UDRE Scale Factor = 0,75
010
UDRE Scale Factor = 0,5
011
UDRE Scale Factor = 0,3
100
UDRE Scale Factor = 0,2
101
UDRE Scale Factor = 0,1
110
Reference Station Transmission Not Monitored
111
Data is invalid - disregard

The first six values in this field indicate valid differential corrections. When using the values described below, the "UDRE Scale Factor" value is applied to the UDRE values contained in the message. The purpose is to indicate an estimate in the amount of error in the corrections.
The value "110" indicates that the source of the differential corrections (e.g., reference station or external DGPS network) is currently not being monitored. The value "111" indicates that the corrections provided by the source are invalid, as judged by the source. In the later case, the message shall contain no corrections for individual satellites. Any MS that receives DGPS Corrections in a GPS Assistance Data IE shall contain the appropriate logic to properly interpret this condition and look for the next IE.
N_SAT
This field indicates the number of satellites for which differential corrections are available. Corrections for up to 16 satellites.
SatID
This field identifies the satellite for which the corrections are applicable. The values ranging from 0 to 63 represent satellite PRNs ranging from 1 to 64, respectively.
IODE
This IE is the sequence number for the ephemeris for the particular satellite. The MS can use this IE to determine if new ephemeris is used for calculating the corrections that are provided in the broadcast message. This eight-bit IE identifies a particular set of ephemeris data for a GPS satellite and may occupy the numerical range of [0, 255]. The transmitted IODE value will be different from any value transmitted by the GPS satellite during the preceding six hours. For more information about this field can be found from RTCM-SC104.
User Differential Range Error (UDRE)
This field provides an estimate of the uncertainty (1-) in the corrections for the particular satellite. The value in this field shall be multiplied by the UDRE Scale Factor in the common Corrections Status/Health field to determine the final UDRE estimate for the particular satellite. The meanings of the values for this field are described in table A.18.
Table A.18: Values of UDRE IE
Value
Indication
00
UDRE  1,0 m
01
1,0 m < UDRE  4,0 m
10
4,0 m < UDRE  8,0 m
11
8,0 m < UDRE

Each UDRE value shall be adjusted based on the operation of an Integrity Monitor (IM) function which exists at the network (SMLC, GPS server, or reference GPS receiver itself). Positioning errors derived at the IM which are excessive relative to DGPS expected accuracy levels shall be used to scale the UDRE values to produce consistency.
Pseudo-Range Correction (PRC)
This field indicates the correction to the pseudorange for the particular satellite at the GPS Reference Time, t0. The value of this field is given in meters (m) and the resolution is 0,32, as shown in table A.15 above. The method of calculating this field is described in [9].
If the SMLC has received a request for GPS assistance data from an MS which included a request for the navigation models and DGPS (i.e., bit D and E are set to one in 'Requested GPS Assistance Data, see 3GPP TS 49.031), the SMLC shall determine, for each satellite, if the navigation model stored by the MS is still suitable for use with DGPS corrections (also see navigation model update conditions right before Table A.19) and if so and if DGPS corrections are supported the SMLC should send DGPS corrections without including the navigation model.
The IODE value sent for a satellite shall always be the IODE value that corresponds to the navigation model for which the pseudo-range corrections are applicable.
The pseudo-range correction shall correspond to the available navigation model (the one already stored in and identified by the MS or the one included in the same procedure as the pseudo-range correction). The MS shall only use the PRC value when the IODE value received matches its available navigation model.
Pseudo-Range Rate Correction (RRC)
This field indicates the rate-of-change of the pseudorange correction for the particular satellite, using the satellite ephemeris identified by the IODE IE. The value of this field is given in meters per second (m/sec) and the resolution is 0,032, as shown in table A.15 above. For some time t1 > t0, the corrections for IODE are estimated by
	PRC(t1, IODE) = PRC(t0, IODE) + RRC(t0, IODE)(t1 - t0) ,
and the MS uses this to correct the pseudorange it measures at t1, PRm(t1, IODE), by
	PR(t1, IODE) = PRm(t1, IODE) + PRC(t1, IODE) .
The SMLC shall always send the RRC value that corresponds to the PRC value that it sends (see above for details). The MS shall only use the RRC value when the IODE value received matches its available navigation model.
Delta Pseudo-Range Correction 2 (Delta PRC2)
This IE is not used. The sender shall set it to zero and the receiver shall ignore it.
Delta Pseudo-Range Rate Correction 2 (Delta RRC2)
This IE is not used. The sender shall set it to zero and the receiver shall ignore it.
Delta Pseudo-Range Correction 3 (Delta PRC3)
This IE is not used. The sender shall set it to zero and the receiver shall ignore it.
Delta Pseudo-Range Rate Correction 3 (Delta RRC3)
This IE is not used. The sender shall set it to zero and the receiver shall ignore it.
Navigation Model
This set of fields contains information required to manage the transfer of precise navigation data to the GPS-capable MS. In response to a request from an MS for GPS assistance data, the SMLC shall determine whether to send the navigation model for a particular satellite to an MS based upon factors like the T-Toe limit specified by the MS and any request from the MS for DGPS (also see above). This information includes control bit fields as well as satellite ephemeris and clock corrections. The individual fields are given in Table A.19 below, and the conditions for their presence is discussed below.
Table A.19: Navigation Model (per-satellite fields - (1) = Positive range only)
Parameter
# Bits
Scale Factor
Units
Incl.
Navigation Model Flow Control (once per message)
Num_Sats_Total
4(1)
1
---
M
Satellite and Format Identification (once per satellite)
SatID
6(1)
---
---
M
Satellite Status
2
---
Boolean
M
Satellite Navigation Model and Associated Bits (once per satellite)
C/A or P on L2
2
---
Boolean
C
URA Index
4
---
Boolean
C
SV Health
6
---
Boolean
C
IODC
10(1)
---
---
C
L2 P Data Flag
1
---
Boolean
C
SF 1 Reserved
87
---
---
C
TGD
8
2-31
sec
C
toc
16(1)
24
sec
C
af2
8
2-55
sec/sec2
C
af1
16
2-43
sec/sec
C
af0
22
2-31
sec
C
Crs
16
2-5
meters
C
n
16
2-43
semi-circles/sec
C
M0
32
2-31
semi-circles
C
Cuc
16
2-29
radians
C
e
32(1)
2-33
---
C
Cus
16
2-29
radians
C
(A)1/2
32(1)
2-19
meters1/2
C
toe
16(1)
24
sec
C
Fit Interval Flag
1
---
Boolean
C
AODO
5
900
sec
C
Cic
16
2-29
radians
C
OMEGA0
32
2-31
semi-circles
C
Cis
16
2-29
radians
C
i0
32
2-31
semi-circles
C
Crc
16
2-5
meters
C

32
2-31
semi-circles
C
OMEGAdot
24
2-43
semi-circles/sec
C
Idot
14
2-43
semi-circles/sec
C

Num_Sats_Total
This field specifies the number of satellites that are included in the provided Navigation Model. A range of 1-16 is available. This field is mandatory when the Navigation Model field is included in the message.
SatID
This field identifies the satellite for which the assistance is applicable. This value is the same as the PRN number provided in the navigation message transmitted by the particular satellite. The range is 0 to 63, with 0-31 indicating GPS satellites 1-32, respectively, and 32-63 indicating satellites in future augmentation systems (e.g., WAAS or EGNOS). This field is mandatory for each included satellite.
Satellite Status
This field is a two-bit value that indicates the status of the Navigation Model for the particular satellite specified by SatID. This field is mandatory for each included satellite. The MS shall interpret the combinations of the two bits as follows.
Table A.20: Satellite Status (per-satellite field)
MSB
LSB
Interpretation
0
0
New satellite, new Navigation Model
0
1
Existing satellite, same Navigation Model
1
0
Existing satellite, new Navigation Model
1
1
Reserved

This Satellite Navigation Model and associated bit fields include the parameters that accurately model the orbit and clock state of the particular satellite. For the particular satellite, these fields are conditional based on the value of Satellite Status for that satellite. The fields are absent when Satellite Status is "01", and present for all other values. The format for the ephemeris, clock corrections, and associate bits are specified in ICD-GPS-200.
Ionospheric Model
The Ionospheric Model contains fields needed to model the propagation delays of the GPS signals through the ionosphere. The information elements in this field are shown in table A.21. Proper use of these fields allows a single‑frequency GPS receiver to remove approximately 50 % of the ionospheric delay from the range measurements. The Ionospheric Model is valid for the entire constellation and changes slowly relative to the Navigation Model. All of the fields must be included when Ionospheric Model is present.
Table A.21: Ionospheric Model (occurs once per message, when present)
Parameter
# Bits
Scale Factor
Units
Incl.
0
8
2-30
seconds
C
1
8
2-27
sec/semi-circle
C
2
8
2-24
sec/(semi-circle)2
C
3
8
2-24
sec/(semi-circle)3
C
0
8
211
seconds
C
1
8
214
sec/semi-circle
C
2
8
216
sec/(semi-circle)2
C
3
8
216
sec/(semi-circle)3
C

UTC Model
The UTC Model field contains a set of parameters needed to relate GPS time to Universal Time Coordinate (UTC). All of the fields in the UTC Model are mandatory when the field is present.
Table A.22: UTC Model (occurs once per message,
when present per-satellite fields - (1) = Positive range only)
Parameter
# Bits
Scale Factor
Units
Incl.
A1
24
2-50
sec/sec
C
A0
32
2-30
seconds
C
tot(1)
8
212
seconds
C
WNt(1)
8
1
weeks
C
tLS
8
1
seconds
C
WNLSF(1)
8
1
weeks
C
DN
8
1
days
C
tLSF
8
1
seconds
C

Almanac
These fields specify the coarse, long-term model of the satellite positions and clocks. These fields are given in table A.23. With one exception (i), these parameters are a subset of the ephemeris and clock correction parameters in the Navigation Model, although with reduced resolution and accuracy. The almanac model is useful for receiver tasks that require coarse accuracy, such as determining satellite visibility. The model is valid for up to one year, typically. Since it is a long-term model, the field should be provided for all satellites in the GPS constellation. If almanac is not provided for the full GPS constellation, the SMLC shall set the Complete Almanac Provided  field in Table A.29w to FALSE. All fields in the Almanac are mandatory when the Almanac is present. The fields toa and WNa specify the GPS time-of-week and week number, respectively, that are the reference points for the Almanac parameters.
The Almanac also is useful as an acquisition aid for network-based GPS methods. Given a recent Almanac (< 3‑4 weeks old), the MS only needs Reference Time and Reference Location information to quickly acquire the signals and return measurements to the network.
The Almanac also contains information about the health of that satellite as described in ICD-GPS-200. If this Alamanc has been captured from the satellite signal, the SV Health field represents the predicted satellite health at the time the GPS control segment uploaded the Almanac to the satellite. According to ICD-GPS-200, this health information may differ from the SV Health field in the Navigation Model (table A.19) due to different upload times.
The parameters Num_Sats_Total and SatID shall be interpreted in the same manner as described under table A19.
Table A.23: Almanac (per-satellite fields - (1) = Positive range only)
Parameter
# Bits
Scale Factor
Units
Incl.
The following fields occur once per message
Num_Sats_Total
6(1)
1
---
M
WNa
8(1)
1
weeks
M
The following fields occur once per satellite
SatID
6(1)
---
---
M
e(1)
16
2-21
dimensionless
M
toa(1)
8
212
sec
M
i
16
2-19
semi-circles
M
OMEGADOT
16
2-38
semi-circles/sec
M
SV Health
8
---
Boolean
M
A1/2(1)
24
2-11
meters1/2
M
OMEGA0
24
2-23
semi-circles
M

24
2-23
semi-circles
M
M0
24
2-23
semi-circles
M
af0
11
2-20
seconds
M
af1
11
2-38
sec/sec
M

Acquisition Assistance
The Acquisition Assistance field of the GPS Assistance Data Information Element contains parameters that enable fast acquisition of the GPS signals in network-based GPS positioning. Essentially, these parameters describe the range and derivatives from respective satellites to the Reference Location at the Reference Time. Table A.24 illustrates the assistance data occurring once per message and table A.25 illustrates the assistance data occurring per number of satellites for which acquisition assistance is being provided. Figure A.2 illustrates the relation between some of the fields.
This field is optional. The field would probably appear when the Method Type field of the Positioning Instructions IE is set to 0 (MS-Assisted) and the Positioning Methods field of the Position Instructions IE is set to 1 (GPS) or 2 (GPS or E-OTD).
Table A.24: GPS Acquisition Assist - Parameters appearing once per message
Parameter
Range
Bits
Resolution
Incl.
Notes
Number of Satellites
0 - 15
4

M

Reference Time
GPS TOW
0 -604799,92 sec
23
0,08 sec
M


BCCH Carrier
0 - 1023
10

O1


BSIC
0 - 63
6

O1


Frame #
0 - 2097151
21

O1


Timeslots #
0 - 7
3

O1


Bit #
0 - 156
8

O1

NOTE:	All of these field shall be present together, or none of them shall be present.

Table A.25: GPS Acquisition Assist - Parameters appearing [number of satellites] times per message
Parameter
Range
Bits
Resolution
Incl.
Notes
SVID/PRNID
1 - 64 (0 - 63 )
6

M

Doppler (0th order term)
-5120 Hz to 5117,5 Hz 
12
2,5 Hz
M

Doppler (1st order term)
-1,0 - 0,5 Hz/sec.
6
1/42 Hz/sec.
O1

Doppler Uncertainty
12.5 Hz - 200 Hz 
[2-n(200) Hz, n = 0 - 4]
3

O1,3

Code Phase 
0 - 1022 chips
10
1 chip
M

Integer Code Phase 
0-19
5
1 C/A period
M

GPS Bit number 
0 - 3
2

M

Code Phase Search Window
1 - 192 chips
4

M

Azimuth
0 - 348,75 deg
5
11,25 deg
O2

Elevation
0 - 78,75 deg
3
11,25 deg
O2

NOTE 1:	Both of these fields shall be present together, or none of them shall be present.
NOTE 2:	Both of these fields shall be present together, or none of them shall be present.
NOTE 3: 	If Doppler Uncertainty Extension (Table A.29x) is present, Doppler Uncertainty shall be set to value 0 (200 Hz).


Figure A.2. Exemplary calculations of Acquisition Assistance fields.
This field indicates whether or not angle information is present in this message. The MS shall interpret a value of "1" to mean that angle (Azimuth and Elevation) information is present, and "0" to mean that it is not provided. This field is mandatory.
Number of Satellites
This field contains the number of satellites identified in this information element. This field is mandatory.
Range: 0 - 15
Reference Time
The Reference Time field of the GPS Acquisition Assistance Data IE specifies the relationship between GPS time and air-interface timing of the BTS transmission in the reference cell.
GPS TOW subfield specifies the GPS TOW for which the location estimate is valid. When the parameters BCCH Carrier/BSIC/Frame #/Timeslots #/Bit # are present, together with GPSTOW they provide a valid relationship between GPS and GSM time, as seen at the approximate location of the MS, ie the propagation delay from BTS to MS shall be compensated for by the SMLC. Depending on implementation, the relation between GPS and GSM time may have varying accuracy. The uncertainty of the timing relation may be provided in the optional field GPS Reference Time Uncertainty. If the propagation delay from BTS to MS is not accurately known, the SMLC shall use the best available approximation of the propagation delay and take the corresponding delay uncertainty into account in the calculation of the field GPS Reference Time Uncertainty. GPS TOW is mandatory when the GPS Acquisition Assistance Data Information Element is included. When the GSM time parameters are not present the GPS TOW is an estimate of current GPS time of week at time of reception of the RRLP segment containing the GPS TOW by the MS. The SMLC should achieve an accuracy of +/- 3 seconds for this estimate including allowing for the transmission delay between SMLC and MS of the RRLP segment containing GPS TOW. Note that the MS should further compensate GPS TOW for the time between the reception of the segment containing GPS TOW and the time when the GPS TOW field is used.
Range: 0 - 604799,92 sec
The BCCH Carrier # and BSIC subfields specify the reference cell for which GSM timing is provided. These subfields are optional when the GPS Acquisition Assistance Data Information Element is included. If included, the SMLC shall set the reference cell to the current serving cell. A target MS has the option of rejecting a GPS position request or GPS assistance data if the reference cell is not the serving cell.
The Frame # subfield specifies the GSM frame number of the BTS transmissions for the reference cell that occur at the given GPS TOW. This subfield is optional when the GPS Acquisition Assistance Data Information Element is included.
Range: 0 - 2097151
The Timeslots # subfield specifies the GSM timeslot of the BTS transmissions for the reference cell that occur at the given GPS TOW. This subfield is optional when the GPS Acquisition Assistance Data Information Element is included.
Range: 0 - 7
The Bit # subfield specifies the GSM and bit number of the BTS transmissions for the reference cell that occur at the given GPS TOW. This subfield is optional when the GPS Acquisition Assistance Data Information Element is included.
Range: 0 - 156
SVID/PRNID
This field identifies the particular satellite for which the measurement data is supplied. This value is the same as the PRN number provided in the navigation message transmitted by the particular satellite.
The range is 0 to 63, where SVID = PRNID - 1
Doppler (0th order term)
This field contains the Doppler (0th order term) value. A positive value defines the increase in satellite signal frequency due to velocity towards the MS. A negative value defines the decrease in satellite signal frequency due to velocity away from the MS. This field is mandatory.
Range: 5120 Hz to 5117,5 Hz
Doppler (1st order term)
This field contains the Doppler (1st order term) value. A positive value defines the rate of increase in satellite signal frequency due to acceleration towards the MS. A negative value defines the rate of decrease in satellite signal frequency due to acceleration away from the MS. This field is optional.
Range: -1,0 Hz to 0,5 Hz / s
Doppler Uncertainty
This field contains the Doppler uncertainty value. It is defined such that the Doppler experienced by a stationary MS is in the range "Doppler  Doppler Uncertainty" to "Doppler  Doppler Uncertainty". This field is optional. If Doppler Uncertainty (together with Doppler 1st order term) is omitted, the terminal shall interpret Doppler Uncertainty as greater than +/-200 Hz. If the Doppler Uncertainty Extension (Table A.29x) field is present, the MS that supports the Doppler Uncertainty Extension shall ignore this field.
Permitted Values: 12,5 Hz, 25 Hz, 50 Hz, 100 Hz, 200 Hz as encoded by an integer n in the range 0-4 according to the formula in Table A.25
Code Phase
This field contains code phase, in units of 1 GPS chip, in the range from 0 to 1022 GPS chips, where increasing binary values of the field signify increasing predicted pseudoranges, as seen by a receiver at the Reference Location at the time GPS TOW. The Reference Location would typically be an apriori estimate of the MS location. This field is mandatory.
Range: 0-1022 chips
Integer Code Phase
This field contains integer code phase, i.e. the number of the code periods that have elapsed since the latest GPS bit boundary, in units of C/A code period, as seen by a receiver at the Reference Location at the time GPS TOW. This field is mandatory.
Range: 0-19
GPS Bit Number
This field contains GPS bit number (expressed modulo 4) currently being transmitted at the time GPS TOW, as seen by a receiver at the Reference Location. This field is mandatory.
Range: 0-3
Code Phase Search Window
This field contains the code phase search window. The code phase search window accounts for the uncertainty in the estimated MS location but not any uncertainty in GPS TOW. It is defined such that the expected code phase is in the range "Code Phase - Code Phase Search Window" to "Code Phase + Code Phase Search Window". This field is mandatory.
Range: 0-15 (i.e. 1-512 chips according to following table)
Table A.26: Code Phase Search Window Parameter Format
CODE_PHASE_WIN
Code Phase Search Window (GPS chips)
'0000'
512
'0001'
1
'0010'
2
'0011'
3
'0100'
4
'0101'
6
'0110'
8
'0111'
12
'1000'
16
'1001'
24
'1010'
32
'1011'
48
'1100'
64
'1101'
96
'1110'
128
'1111'
192

Azimuth
This field together with the Azimuth LSB  included in Acquisition Assistance Extension  in Table A.29v contains the azimuth angle. An angle of x degrees means the satellite azimuth a is in the range (x  a < x+0,703125) degrees. This field is optional.
Range: 0 – 359,296875 degrees.
Elevation
This field together with the Elevation LSB included in Acquisition Assistance Extension  in Table A.29v contains the elevation angle. An angle of y degrees means the satellite elevation e is in the range (y  e < y+0,703125) degrees except for y = 89,296875 where the range is extended to include 90 degrees. This field is optional.
Range: 0 – 89,296875 degrees
Real-Time Integrity
The Real-Time Integrity field of the GPS Assistance Data Information Element contains parameters that describe the real-time status of the L1C/A signal in GPS constellation. Primarily intended for non-differential applications, the real-time integrity of the satellite constellation is of importance as there is no differential correction data by which the mobile can determine the soundness of each satellite signal. The Real-Time GPS Satellite Integrity data communicates the health of the L1C/A signal to the mobile in real-time. The format is shown in table A.29. The SMLC shall always transmit the Real Time Integrity field with the current list of satellites with unhealthy L1C/A signal, for any A-GPS positioning attempt and whenever A-GPS assistance data is sent. The same applies for GANSS positioning attempt and assistance data when modernized GPS is involved. If the number of bad satellites (NBS) is zero, then the Real Time Integrity field shall be omitted. When the Extended Reference IE is included in the RRLP Measure Position Request message or in the RRLP Assistance Data message, then the MS shall interpret the absence of a Real Time Integrity field in the assistance data provided by the SMLC to mean that NBS is zero. If the Extended Reference IE is not present, this interpretation applies when the assistance data is provided by the SMLC following a previous request of the MS for Real Time Integrity data.
Table A.29: Real-Time Integrity - Parameters appearing NBS times
Parameter
# Bits
Scale Factor
Range
Units
Incl.
Bad_SVID
6
1
0-63
---
C

NBS (Number of Bad Satellites)
The NBS value indicates the number of satellite ID's that follow. The user should not use the L1C/A signal of those satellites at this time in a fix. This NBS value is determined from the Bad_SVID list.
Bad_SVID
This six bit field appears NBS times, and indicates the SVID of satellites which L1C/A signal should not be used for fix by the user at this time. The values ranging from 0 to 63 represent satellite PRNs ranging from 1 to 64, respectively. 
A.4.2.4a	GPS Time Assistance Measurement Request Element
This element is optional and controls if the MS should return GPS time assistance measurements or not to the SMLC. The inclusion of this parameter implies use of measure Position Request The description is found in sub-chapter 2.2.4a.
A.4.2.4b	GPS Reference Time Uncertainty Element
This element is conditional and provides the accuracy of the relation GPS and GSM time in the Acquisition Assistance in GPS Assistance Data Element. The interval, range and treatment is as described in sub-clause 2.2.4b.
A.4.2.4c	Additional GPS Assistance Data
The Additional GPS Assistance Data Element contains additional GPS assistance data which are not included in the GPS Assistance Data Element. This element can contain one or more of the fields listed in Table A.29a below.
Table A.29a: Fields in the Additional GPS Assistance Data element
Parameter
Presence
Repetition
GPS Ephemeris Extension
O
Yes
GPS Ephemeris Extension Check
O
Yes
DGPS Corrections Validity Period
O
Yes
GPS Reference Time Extension
O
No
GPS Acquisition Assistance Extension
O
Yes
GPS Almanac Extension
O
No
GPS Acquisition Assistance Extension-R12
O
Yes

When RRLP pseudo-segmentation is used, Table A.29a indicates which parameters may be repeated in more than one RRLP segment in order to provide data for multiple satellites. When any such parameter appears in more than one segment, the following rules shall apply.
1.	There shall be no repetition of the same data for the same satellite, even though there might be multiple realizations of the IEs for the same satellite. For example, GPS Ephemeris Extension may occur multiple times for the same satellite, but with different data content.
2.	Optional and conditional elements in the parameter not associated with a particular satellite shall each appear in at most one RRLP segment.
3.	Any mandatory element not associated with a particular satellite shall assume consistent values in the case of an element related to current GPS time and the same value otherwise.
4.	The maximum number of satellites defined in sub-clause 5.1 for which data can be included for any parameter in one RRLP segment shall apply also when counted over all RRLP segments.
GPS Ephemeris Extension
The GPS Ephemeris extension contains parameters designed to extend the time of applicability of the Ephemeris terms by the continuous addition of the delta ephemeris terms to the respective terms of the referenced ephemeris.
This message can provide extension information for every satellite for many days into the future; doing so may create a large message, thus care must be taken to consider the transport bandwidth.  The SMLC can limit the duration of the extension to decrease the message size.  For example if the extension duration is limited to twelve hours the payload will be approximately 2,000 octets, for a typical 27 satellite constellation.
Table A.29.b: GPS Ephemeris Extension
Parameter
# Bits
Scale Factor
Units
Incl.
gpsEphemerisHeader
See Table A.29.c
---
O
gpsReferenceSet
See Table A.29.e
---
O
ephemerisDeltaMatrix
List of GPSEphemerisDeltaEpochs
O

Table A.29.c: GPS Ephemeris Header
Parameter
# Bits
Scale Factor
Units
Incl.
GPS Ephemeris Extension (Once per message)
timeOfEstimation
See Table A.29.d
---
M
validityPeriod
3
1
Hours
M
ephemerisExtensionDuration
9
1
Hours
M

Time of Estimation
The GPS Time at Estimation provides the GPS time at which the ephemeris extensions were created. 
Table A.29.d: Time of Estimation
Parameter
# Bits
Scale Factor
Units
Incl.
GPS Week of Estimation
10
1
Week
M
GPS TOW of Estimation
20
1
Seconds
M

GPS Week of Estimation
This field specifies the week of the time that the estimation was determined. 
Range: 	0 - 1023 weeks
GPS TOW of Estimation
Integer number of GPS TOW seconds within the current week of the time that the estimation was determined.
Range: 	0 - 604800 s.
Validity Period
The validityPeriod indicates the validity period of the GPS Reference Set. It also indicates the default validity period of each individual delta ephemeris packet in the case that the individual validityPeriod is not present in the GPS Delta Epoch Header (see Table A.29.j). It is the length of time that the GPS Reference Set is intended to last and, if applicable, it is the length of time that the ephemeris constructed by application of the delta is intended to last.
Range: 	1 – 8 hours.
Ephemeris Extension Duration
The Ephemeris Extension duration indicates the total block of time measured in units of hours that the extended ephemeris covers.
Range: 1 – 512  hours.
The gpsEphemeris header is mandatory only once in the delivery of the GPS Ephemeris Extension message.
GPS Reference Set
Table A.29.e: GPS Reference Set 
Parameter
Presence
Note
GPS Reference Orbit
M
See Table A.29.f

The GPS Reference Set is a list of GPS Reference Orbits, one for each healthy satellite vehicle at the time of construction.
GPSReference Orbit
Table A.29.f: GPS Reference Orbit
Parameter
# Bits
Scale Factor
Units
Incl.
svID
5
1
---
M
gpsOrbitModel
See Table A.29.g
--
M
gpsClockModel
See Table A.29.h
--
M

SvID
The satellite vehicle ID identifying to which satellite the following orbital and clock model apply
GPSOrbitModel
This field is a structure that contains the Reference Nav Model satellite orbit information upon which all subsequent delta information will be applied to create the next ephemeris for use in navigation.
Table A.29.g:  Reference Nav Model
Parameter
# Bits
Scale Factor
Units
Incl.
keplerToe
16
24
seconds
M
keplerW
32
2-31
hours
M
keplerDeltaN
16
2-43
semi-circles/sec
M
keplerM0
32
2-31
semi-circles
M
keplerOmegaDot
27
2-43
semi-circles/sec
M
keplerE
32
2-33
---
M
keplerIDot
14
2-43
semi-circles/sec
M
keplerAPowerHalf
32
2-19
Meters1/2
M
keplerIO
32
2-31
semi-circles
M
kelerOmega0
32
2-31
semi-circles
M
keplerCrs
16
2-5
meters
M
keplerCis
16
2-29
radians
M
keplerCus
16
2-29
radians
M
keplerCrc
16
2-5
meters
M
keplerCic
16
2-29
radians
M
KeplerCuc
16
2-29
radians
M

GPSClockModel
This field is a structure that contains the satellite clock model upon which all subsequent clock information will be applied to create the next clock model for use in navigation.
GPS Clock Model
Table A.29.h:  GPS Clock Model
Parameter
# Bits
Scale Factor
Units
Incl.
aF2
8
2-55
seconds/seconds2
M
aF1
16
2-43
seconds/seconds
M
aF0
22
2-31
seconds
M
tgd
8
2-31
seconds
M

GPS Ephemeris Delta Matrix
GPS Ephemeris Delta Matrix is a list of GPS Ephemeris Delta Epochs.  Each epoch is indicated by a unique seqNum. Each epoch corresponds to a specific update interval and contains a delta epoch header and ephemeris delta elements for all PRNs for that epoch.
GPS Ephemeris Delta Epoch
Table A.29.i: GPS Ephemeris Delta Epoch
Parameter
Note
Incl.
gpsDeltaEpochHeader
See Table A.29.j
O
gpsDeltaElementList
List of GPS Ephemeris Delta Elements
M

GPS Delta Epoch Header
Table A.29.j: GPS Delta Epoch Header
Parameter
# Bits
Scale Factor
Units
Incl.
validityPeriod
3
1
Hours
O
ephemerisDeltaSizes
See Table A.29.k
O
ephemerisDeltaScales
See Table A.29.l
O

Validity Period
The validityPeriod indicates the validity period of each individual delta ephemeris packet.  It is the length of time that the ephemeris constructed by application of the delta is intended to last. If not present then the default validityPeriod in the GPS Ephemeris Header IE applies (see Table A.29.c). 
Range: 	1 – 8 hours.
Ephemeris Delta Sizes
This field is a structure that indicates the bit sizes for all the fields in the GPS Ephemeris Delta structure. 
Table A.29.k: GPS Ephemeris Delta Sizes
Parameter
# Bits
Scale Factor
Units
Incl.
bitSize_delta_
5
1
---
M
bitSize_delta_n
4
1
---
M
bitSize_delta_M0
5
1
---
M
bitSize_delta_OMEGAdot
5
1
---
M
bitSize_delta_e
5
1
---
M
bitSize_delta_Idot
4
1
---
M
bitSize_delta_sqrtA
5
1
---
M
bitSize_delta_i0
5
1
---
M
bitSize_delta_OMEGA0
5
1
---
M
bitSize_delta_Crs
4
1
---
M
bitSize_delta_Cis
4
1
---
M
bitSize_delta_Cus
4
1
---
M
bitSize_delta_Crc
4
1
---
M
bitSize_delta_Cic
4
1
---
M
bitSize_delta_Cuc
4
1
---
M
bitSize_delta_tgd
4
1
---
M

Ephemeris Delta Scales
This field is a structure that indicates the scale factor modifiers for all the fields in the GPS Ephemeris Delta structure.
Table A.29.l: GPS Ephemeris Delta Scales
Parameter
# Bits
Scale Factor
Units
Incl.
scale_delta_
5
1
---
M
scale_delta_n
5
1
---
M
scale_delta_M0
5
1
---
M
scale_delta_OMEGAdot
5
1
---
M
scale_delta_e
5
1
---
M
scale_delta_Idot
5
1
---
M
scale_delta_sqrtA
5
1
---
M
scale_delta_i0
5
1
---
M
scale_delta_OMEGA0
5
1
---
M
scale_delta_Crs
5
1
---
M
scale_delta_Cis
5
1
---
M
scale_delta_Cus
5
1
---
M
scale_delta_Crc
5
1
---
M
scale_delta_Cic
5
1
---
M
scale_delta_Cuc
5
1
---
M
scale_delta_tgd
5
1
---
M

GPS Delta Element List
GPS Delta Element List is a list of GPS Ephemeris Delta Elements
GPS Ephemeris Delta Element
Each GPS Ephemeris Delta Element is encoded as an octet string of up to 47 octets. Each element is uniquely identified by the pair (seqNum, sv_ID) and it is defined as a structure as shown in table A.29.m. The MS should parse the octet string according to the fields specified in table A.29.m. Each element in table A.29.m but for seqNum and sv_ID should be treated as a signed integer.  The actual number of octets is determined by the size of the bit fields in the GPS_Ephemeris_Delta_Sizes table (table A.29.k).  Each set of up to 47 octets represents a single extension for a single satellite vehicle.  Each element encodes the satellite vehicle ID and the sequence number.  The sequence number specifies the order in which the individual ephemeris extension elements are assembled as time marches forward to create the next ephemeris.  The sequence number is the same for all satellite vehicle IDs for a particular update period.
Table A.29.m: GPS Ephemeris Delta Element
Parameter
# Bits
Default # Bits
Scale Factor
Default Scale
Units
Incl.
sequenceNum
7

1
1
---
M
svID
5

1
1
---
M
delta_
1..32 (1)
21
2-16*2-31 .. 215*2-31 (2) 
2-31 
semi-circles
M
delta_n
1..16 (1)
12
2-16*2-43 .. 215*2-43 (2)
2-43 
semi-circles/sec
M
delta_M0
1..32 (1)
21
2-16*2-31 .. 215*2-31 (2)
2-31 
semi-circles
M
delta_OMEGAdot
1..24 (1)
13
2-16*2-43 .. 215*2-43 (2)
2-43 
semi-circles/sec
M
delta_e
1..32 (1)
18
2-16*2-33 .. 215*2-33 (2)
2-33 
---
M
delta_Idot
1..14 (1)
11
2-16*2-43 .. 215*2-43 (2)
2-43 
semi-circles/sec
M
delta_sqrtA
1..32 (1)
14
2-16*2-19 .. 215*2-19 (2)
2-19 
meters1/2
M
delta_i0
1..32 (1)
14
2-16*2-31 .. 215*2-31 (2)
2-31 
semi-circles
M
delta_OMEGA0
1..32 (1)
14
2-16*2-31 .. 215*2-31 (2)
2-31 
semi-circles
M
delta_Crs
1..16 (1)
12
2-16*2-5 .. 215*2-5 (2)
2-5 
meters
M
delta_Cis
1..16 (1)
11
2-16*2-29 .. 215*2-29 (2)
2-29 
radians
M
delta_Cus
1..16 (1)
12
2-16*2-29 .. 215*2-29 (2)
2-29 
radians
M
delta_Crc
1..16 (1)
12
2-16*2-5 .. 215*2-5 (2)
2-5 
meters
M
delta_Cic
1..16 (1)
11
2-16*2-29 .. 215*2-29 (2)
2-29 
radians
M
delta_Cuc
1..16 (1)
12
2-16*2-29 .. 215*2-29 (2)
2-29 
radians
M
delta_tgd
1..16 (1)
2
2-16*2-31 .. 215*2-31 (2)
2-31 
seconds
M

(1)	The number of bits of each signed integer field is variable and it is indicated once for all numEphemerisDeltas by the structure ephemerisDeltasSizes.  When the ephemerisDeltaSizes field is not present, the values found in the columns "Default # Bits" shall be used.
(2)	The scale factor of each parameter is variable around the default scale factor. The variation for each field is indicated once for all numEphemerisDeltas by the structure ephemerisDeltasScales. For example, if the scale factor modifier for delta_omega has a value of 4, the scale factor for delta_omega is 24 * 2-31.  When the ephemerisDeltaScales is not used, the values found in the column "Default Scale" shall be used.
sequenceNum
This field indicates the order of the Ephemeris delta terms.  The ephemeris constructed for use in satellite positioning is built by adding the delta terms to the referenced GPS_Navigation Model in the order dictated by this sequence number.  The sequence number shall remain the same for each svID in an epoch of Ephemeris Deltas corresponding to a particular update interval.
svID
This field identifies the satellite ID within a particular sequenceNum or epoch.
These fields, with the exception of sequenceNum and svID, specify the deltas to be added to the existing Ephemeris to create a new Ephemeris suite that is extended from its predecessor by the time provided in the "validityPeriod" parameter.  To compute the time of ephemeris for the newly constructed ephemeris, validityPeriod is added to the preceding toe.  The ephemeris time of clock (toc) is set equal to the toe.
For each of the other ephemeris terms the corresponding delta ephemeris term is added in order to create the updated ephemeris.  The terms delta_M0, delta_i0, and delta_OMEGA0 of the delta ephemeris must be extrapolated prior to the addition of the delta terms as follows:

Where  is the WGS 84 value of the earth's gravitational constant for GPS user and is equal to 3,986005 * 1014 m3/sec2, and A(i) is the semi-major axis associated with this satellite's update.  The extrapolation of delta_M0, uses the prior set's sqrtA term to compute A(i) as the square of sqrtA(i).
delta_OMEGA0(i+1)  = delta_OMEGA0(i)  + delta_OMEGAdot(i) * dt
i0 (i+1) = i0(i) + Idot(i) * dt
Where dt is equal to the validity period * 3600.  The terms af0, and af1 from the GPS clock model must be extrapolated as follows:
af0(i+1) = af0(i) + af1(i)* dt + af2*dt2
af1(i+1) = af1(i) + 2 * af2(i) * dt
af2(i+1) = af2(i)
Where af0, af1, and af2 are the clock model terms as shown in table A.29.c
dt is equal to the validity period represented in seconds (validityPeriod * 3600) 
The following demonstrates the application of the ephemeris extension technique.  Assume the  validityPeriod = 5, representing: (5+1)  hours = 6 hours, and the GPS Navigation model for a particular satellite, identified by the reference IOD has a toe = 0 seconds.
The toe for sequenceNumber 1 is computed by adding the validityPeriod  to the initial toe of 0 as 0 + 6 hours =  0 + 21600 seconds.  The new ephemeris is constructed by adding the delta ephemeris terms from set 1 to the reference ephemeris creating the new ephemeris, which will be used for the next six hours.  For the five terms listed above (delta_M0, delta_i0, delta_OMEGA0, af0, and af1) the extrapolation described must occur prior to the addition of the delta term.
The next ephemeris computation will occur by adding the validityPeriod to the current toe of 21600 as: 21600 + 6 hours = 21600 + 21600 = 43200.  The ephemeris delta terms from set two are added to the ephemeris resulting from the prior addition to create the next ephemeris.  This is done for each satellite vehicle ID.
GPS Ephemeris Extension check
The GPS Ephemeris Extension check provides information about non foreseen events that occurred during the period starting at the gpsBeginTime to the current time. An event is signified through a bit string . Each bits refers to one PRN. If a bit is set to one, this means that the ephemeris extension is no longer valid for this specific PRN.  In order to indicate planned future manuvers an end time is provided.  The SMLC can indicate that a future event is planned between the current time and the end time of this ephemeris extension.

Table A.29.n: Ephemeris Extension check
Parameter
Presence
Note
gpsBeginTime
M
See Table A.29o
gpsEndTime
M
See Table A.29p
gpsSatEventsInfo
M
See Table A.29q

GPS Begin Time
The GPS begin time corresponds to the GPS Week and GPS Seconds of Estimation of the ephemeris extensions block.
Table A.29.o: GPS Begin Time
Parameter
# Bits
Scale Factor
Units
Incl.
GPS Week
10
1
Weeks
M
GPS TOW
20
1
Seconds
M

GPS End Time
The GPS end time represents the final time the Ephemeris extension is valid.
Table A.29.p: GPS End Time
Parameter
# Bits
Scale Factor
Units
Incl.
GPS Week
10
1
Weeks
M
GPS TOW
20
1
Seconds
M

GPS Sat Event Information
This IE is designed to indicate events that have or may occur between the gpsBeginTime and the gpsEndTime. 
Table A.29.q: GPS Sat Event Information
Parameter
# Bits
Scale Factor
Units
Incl.
EventOccurred
32
-
-
M
FutureEventNoted
32
-
-
M

EventOccurred
If a bit is is clear in the eventOccured field it indicates that a satellite maneuver has not occurred since the ganssBeginTime nor is a maneuver planned for the next sixty minutes.
FutureEventNoted
If a bit is set in the futureEventNoted field it indicates that a maneuver is planned during the time period between current time plus sixty minutes and gpsEndTime
DGPS Corrections Validity Period
This element is an extension to the DGPS Corrections IE and provides the validity period of the differential corrections for each satellite included in the DGPS Corrections IE (see Table A.15). This element may only be included if the DGPS Corrections IE is included in the GPS Assistance Data element. 
Table A.29r: DGPS Corrections Validity Period
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
N_SAT
4
1
1-16
---
M
The following fields occur once per satellite (N_SAT times)
SatID
6
---
0-63
--
M
UDRE Growth Rate
3
---
0-7
---
M
Time of Validity for UDRE Growth Rate
3
---
0-7
---
M

N_SAT
This field indicates the number of satellites for which differential corrections validity period is available. This field shall be set to the same value as the N_SAT parameter in the DGPS Corrections element in Table A.15. 
SatID
This field identifies the satellite for which the corrections validity period is applicable. The values ranging from 0 to 63 represent satellite PRNs ranging from 1 to 64, respectively. The UDRE Growth Rate and Time of Validity for UDRE Growth Rate IEs shall be included for the same satellite IDs as the differential corrections in Table A.15 are provided.
UDRE Growth Rate
This field provides an estimate of the growth rate of uncertainty (1-) in the corrections for the particular satellite identified by SatID. The estimated UDRE at time value specified in the "Time of Validity for UDRE Growth Rate" t1 is calculated as follows:
UDRE(t0+t1) = UDRE(t0)  UDRE Growth Rate
where t0 is the DGPS Reference Time GPS TOW for which the corrections in Table A.15 are valid, t1 is the "Time of Validity for UDRE Growth Rate" field as shown in Table A.29t, UDRE(t0) is the User Differential Range Error field as provided in Table A.15, and "UDRE Growth Rate" field is the factor as shown in Table A.29s.
Table A.29s: Values of UDRE Growth Rate IE
Value
Indication
000
1,5
001
2
010
4
011
6
100
8
101
10
110
12
111
16

Time of Validity for UDRE Growth Rate
This field specifies the time when the "UDRE Growth Rate" field applies. The meaning of the values for this field is described in Table A.29t.
Table A.29t: Time of Validity for UDRE Growth Rate IE
Value
Indication
[seconds]
000
20
001
40
010
80
011
160
100
320
101
640
110
1280
111
2560

GPS Reference Time Extension
This element is an extension to the Reference Time  IE and is shown in Table A.29u. If Reference Time is provided by the SMLC, the GPS Reference Time Extension shall also be provided. 
NOTE:	For reasons of backward compatibility, this IE is not defined for a Release 9 or earlier SMLC and would be ignored, when received, by a Release 9 or earlier MS. This means that when the element is expected but is not received, the SMLC is Release 9 or earlier.
Table A.29u: Reference Time Extension
Parameter
# Bits
Scale Factor
Range
Units
Incl.
GPS Week Cycle Number
3
1
0 - 7
1024 weeks
M

GPS Week Cycle Number
This field  provides the number of 1024 GPS week cycles occurred since the GPS zero time-point (midnight of the night of January 5, 1980/morning of January 6, 1980). The first 1024 GPS weeks since the zero time-point is GPS Week Cycle Number 0. 
GPS Acquisition Assistance Extension
This element is an extension to the Acquisition Assistance IE and is shown in Table A.29v. If Acquisition Assistance is provided by the SMLC, the GPS Acquisition Assistance Extension shall also be provided. 
NOTE:	For reasons of backward compatibility, this IE is not defined for a Release 9 or earlier SMLC and would be ignored, when received, by a Release 9 or earlier MS. This means that when the element is expected but is not received, the SMLC is Release 9 or earlier.
Table A.29v: Acquisition Assistance Extension
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
N_SAT
4
1
0-15
---
M
The following fields occur once per satellite (N_SAT times)
SatID
6
---
0-63
--
M
Azimuth LSB
4
0,703125
0-10,546875
degrees
M
Elevation LSB
4
0,703125
0-10,546875
degrees
M

N_SAT
This field indicates the number of satellites for which Acquisition Assistance is provided. This field shall be set to the same value as the Number of Satellites parameter in theAcquisition Assist element in Table A.24. 
SatID
This field identifies the satellite for which the Acquisition Assistance is provided. This field shall be set to the same value as the SVID/PRN field in Table A.25.
Azimuth LSB
This field specifies the 4 least significant bits of the satellite azimuth angle. The 5 most significant bits are provided in the Azimuth field in Table A.25. The full satellite azimuth is constructed as "Azimuth"  11,25 + "Azimuth LSB"  0,703125 degrees. 
Elevation LSB
This field specifies the 4 least significant bits of the satellite elevation angle. The 5 most significant bits are provided in the Elevation field in Table A.25. The full satellite elevation is constructed as "Elevation"  11,25 + "Elevation LSB"  0,703125 degrees. 
GPS Almanac Extension
This element is an extension to the Almanac IE and and is shown in Table A.29w. If Almanac is provided by the SMLC, the Almanac Extension shall also be provided. 
NOTE:	For reasons of backward compatibility, this IE is not defined for a Release 9 or earlier SMLC and would be ignored, when received, by a Release 9 or earlier MS. This means that when the element is expected but is not received, the SMLC is Release 9 or earlier.
Table A.29w: Almanac Extension
Parameter
# Bits
Scale Factor
Range
Units
Incl.
Complete Almanac Provided
1
---
---
Boolean
M

Complete Almanac Provided
This field indicates whether the SMLC provided Almanac for the full GPS constellation or not. TRUE means complete GPS almanac is provided.
GPS Acquisition Assistance Extension-R12
This element is an extension to the Acquisition Assistance IE and is shown in Table A.29x. The SMLC should include this field only if supported by the MS.
Table A.29x: Acquisition Assistance Extension-R12
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
Confidence
7
1
0-100
percent
O
N_SAT
4
1
0-15
---
O
The following fields occur once per satellite (N_SAT times)
SatID
6
---
0-63
--
M
Doppler Uncertainty Extension
3
---
300, 400, 500, 600, 'No Information'
Hz
M

Confidence
This field specifies the confidence level of the reference location area or volume used to calculate the GPS Acquisition Assistance parameters (search windows). A high percentage value (e.g., 98% or more) indicates to the MS that the provided search windows are reliable. The SMLC should include this field to indicate the confidence level of the provided information.
Range: 	0 – 100
N_SAT
This field indicates the number of satellites for which GPS Acquisition Assistance Extension-R12 is provided. 
SatID
This field identifies the satellite for which the GPS Acquisition Assistance Extension-R12 is provided. 
Doppler Uncertainty Extension
If this field is present, the MS that supports this field shall ignore the Doppler Uncertainty (Table A.25) field. This field specifies additional Doppler uncertainty values. It is defined such that the Doppler experienced by a stationary MS is in the range [Doppler-Doppler Uncertainty Extension] to [Doppler+Doppler Uncertainty Extension]. 
Enumerated values define 300 Hz, 400 Hz, 500 Hz, 600 Hz, and "No Information". 
A.4.2.5	More Assistance Data To Be Sent Element				
A.4.2.5	More Assistance Data To Be Sent Element
This element is set by the SMLC to indicate to the MS if more Assistance Data components or a the final RRLP Measure Position Request component will be sent in the current procedure in order to deliver the entire set of assistance data.
A.4.2.6	GANSS Assistance Data
The GANSS Assistance Data consists of two or more data elements depending on the number of GNSS constellations included in the GANSS Assistance Data. GANSS Assistance Data elements are of two different types: GANSS Common Assistance Data and GANSS Generic Assistance Data. GANSS Common Assistance Data element is included at most only once and it contains Information Elements that can be used with any GNSS constellation. GANSS Generic Assistance data element can be included multiple times depending on the number of GNSS constellations supported in the GANSS Assistance Data. One GANSS Generic Assistance Data element contains Information Elements dedicated only for one specific GNSS constellation at a time. If two or more constellations are supported, GANSS Generic Assistance Data is given for each constellation separately. 
The fields in GANSS Assistance Data are listed in Table A.30 below. As table A.30 shows, all fields are optional.
Table A.30: Fields in the GANSS Assistance Data element
Element
Presence
Repetition
GANSS Common Assistance Data
O
No
GANSS Generic Assistance Data
O
Yes

When RRLP pseudo-segmentation is used, Tables A.30, A.31 and A.39 indicate which elements may be repeated in more than one RRLP segment in order to provide data for multiple constellations, satellites or signals. When any such element – with the exception of the GANSS ID and SBAS ID element – appears in more than one segment, the following rules shall apply.
1.	There shall be no repetition of the same data for the same constellation, satellite or signal even though there might be multiple realizations of the IEs for the same constellation, satellite or signal. For example, DGANSS corrections may occur multiple times for the same satellite.
2.	Optional and conditional fields in the element not associated with a particular satellite or signal shall each appear in at most one RRLP segment.
3.	Any mandatory field not associated with a particular satellite or signal shall assume consistent values in the case of a field related to current reference time and the same value otherwise.
4.	The maximum number of constellations, satellites or signals defined in sub-clause 5.1 for which data can be included for any parameter in one RRLP segment shall apply also when counted over all RRLP segments.
A.4.2.6.1	GANSS Common Assistance Data
GANSS Common Assistance Data element contains GNSS constellation independent information elements that can be applied on any specific GNSS or on a combination of GNSS. GANSS Common Assistance Data fields are included in GANSS Assistance Data only once. This element can contain one or more of the fields listed in table A.31 below. As Table A.31 shows, all fields are optional.
Table A.31: GANSS Common Assistance Data content
Element
Presence
Repetition
GANSS Reference Time
O
No
GANSS Reference Location
O
No
GANSS Ionospheric Model
O
No
GANSS Additional Ionospheric Model
O
No
GANSS Earth Orientation Parameters
O
No
GANSS Reference Time Extension
O
No

GANSS Reference Time
This field specifies the GANSS Time Of Day (TOD) with uncertainty and relationship between GANSS Reference Time and air-interface timing of the BTS transmission in the reference cell. These fields occur once per message; some are mandatory and some are optional, as shown in Table A.33. 
When GANSS TOD -GSM Time association is present, GANSS TOD and BCCH/BSIC/FNm/TN/BN IEs provide a valid relationship between GANSS TOD and GSM time, as seen at the approximate location of the MS, i.e. the propagation delay from BTS to MS shall be compensated for by the SMLC. Depending on implementation, the relation between GANSS TOD and GSM time may have varying accuracy. Therefore, the uncertainty of the timing relation is provided in GANSS TOD Uncertainty. If the propagation delay from BTS to MS is not accurately known, the SMLC shall use the best available approximation of the propagation delay and take the corresponding delay uncertainty into account in the calculation of the field GANSS TOD Uncertainty. When GANSS TOD -GSM Time association is not present, GANSS TOD is an estimate of current GANSS TOD at time of reception of the RRLP segment containing this data by the MS. The SMLC should achieve an accuracy of +/- 3 seconds for this estimate including allowing for the transmission delay between SMLC and MS of the RRLP segment containing GANSS TOD. Note that the MS should further compensate GANSS TOD for the time between the reception of the segment containing GANSS TOD and the time when the GANSS TOD field is used. 
Table A.33: GANSS Reference Time
Parameter
# Bits
Scale Factor
Range
Units
Incl.
GANSS Reference Time Information (once per message)
GANSS Day
13
1
0 - 8191
day
M
GANSS TOD
17
1
0 - 86399
sec
M
GANSS TOD Uncertainty
7
-
0…127
-
O
GANSS_TIME_ID
3
---
---
---
O (note 3)
GANSS TOD - GSM Time Association (once per message)
BCCH Carrier
10
1
0 - 1023
---
O (note 1)
BSIC
6
1
0 - 63
---
O (note 1)
FNm
21
1
0 - (221-1)
frames
O (note 1)
TN
3
1
0 - 7
timeslots
O (note 1)
BN
8
1
0 - 156
bits
O (note 1)
FN1
7
2-30
-5,9605e-8 - +5,8673e-8
sec/sec
O (note 2)
NOTE 1:	All of these fields shall be present together, or none of them shall be present.
NOTE 2:	This field can be optionally included if GANSS TOD - GSM Time association is present.
NOTE 3.	Absence of this field means Galileo system time.

GANSS Day
This field specifies the sequential number of days (with day count starting at 0) from the origin of the GNSS system time indicated by GANSS_TIME_ID modulo 8192 days (about 22 years). The GNSS system time origin is defined in Table A.34 for each GANSS. 
NOTE:	The number of 8192 day cycles since the GANSS zero time-point is provided in the GANSS Reference Time Extension in Table A.35c.
GANSS TOD
Integer number of GANSS TOD seconds within the current day.
Range: 	0 - 86399 s.
GANSS TOD Uncertainty
GANSS TOD uncertainty value as described in 3.2.9. This field is optional.
GANSS_TIME_ID
This field specifies the GNSS system time used in GANSS Reference Time. The SMLC shall set the GANSS_TIME_ID only to system times for corresponding GANSSs supported by the MS.
Table A.34: GANSS_TIME_ID
GANSS_TIME_ID
Indication
GNSS System Time Origin
Galileo System Time
(default)
Days from Galileo System Time (GST) start epoch, defined as 13 seconds before midnight between 21st August and 22nd August 1999; i.e., GST was equal to 13 seconds at August 22nd 1999 00:00:00 UTC
GPS System Time
0
January 6, 1980; 00:00:00 UTC(USNO)
QZSS System Time
1
January 6, 1980; 00:00:00 UTC(USNO)
GLONASS System Time
2
December 31st 1995 21:00:00 UTC (SU), which is local UTC Moscow January 1st 1996 00:00:00, defined as UTC(SU) + 3 hours in [17]
BDS
3
January 1, 2006 00:00:00 UTC (NTSC)
Reserved for future use
4 - 7
–

BCCH Carrier/BSIC/FNm/TN/BN/FN1
These fields specify the state of the GSM frame number, respectively, of the reference BTS with the specified BCCH carrier and BSIC at the time that correspond to GANSS TOD. Also, the drift rate of the frame timing, FN1, with respect to the GANSS TOD is optionally given. The SMLC shall use the current serving BTS as the reference BTS. The target MS has the option of rejecting a GANSS position request or GANSS assistance data if the reference BTS is not the serving BTS. If FNm field is present in the assistance, cellular time parameters FNm/TN/BN shall be aligned with the integer GANSS TOD second given in GANSS TOD field.
GANSS Reference Location
The Reference Location field contains a 3-D location (with uncertainty) specified as per 3GPP TS 23.032. The purpose of this field is to provide the MS with a priori knowledge of its location in order to improve GNSS receiver performance. The allowed shape is 3-D location with uncertainty (ellipsoid point with altitude and uncertainty ellipsoid). As defined in 3GPP TS 23.032, the GANSS Reference Location is provided in WGS-84 reference system.
NOTE:	If GPS Assistance Data component is present as well, the SMLC should include the Reference Location either in the GPS Assistance Data or GANSS Common Assistance Data element.
GANSS Ionospheric Model
GANSS Ionospheric Model contains parameters to model the propagation delay of the GNSS signals through the ionosphere. The information elements in this field are shown in Table A.35. Proper use of these fields as defined in [11] allows a single‑frequency GNSS receiver to remove the ionospheric delay from the pseudorange measurements. 
Table A.35: GANSS Ionospheric Model
Parameter
# Bits
Scale Factor
Units
Incl.
GANSS Ionosphere Model Parameters
ai0
11
2-2
Solar Flux Units
M
ai1
11
2-8
Solar Flux Units/degree
M
ai2
14
2-15
Solar Flux Units/degree2
M
GANSS Ionosphere Regional Storm Flags
Storm Flag 1
1
---
---
O (note 1)
Storm Flag 2
1
---
---
O (note 1)
Storm Flag 3
1
---
---
O (note 1)
Storm Flag 4
1
---
---
O (note 1)
Storm Flag 5
1
---
---
O (note 1)
NOTE 1:	All of these fields shall be present together, or none of them shall be present.

GANSS Ionosphere Parameters
The ionosphere model parameters are used to estimate the ionospheric distortions on pseudoranges as described in [11] section 5.1.6. 
GANSS Ionosphere Regional Storm Flags
These fields specify the Ionosphere  disturbance flags (1,…,5) for five different regions as described in [11] section 5.1.6. If the ionosphere disturbance flag for a region is not present the target device shall treat the ionosphere disturbance condition as unknown.
GANSS Additional Ionospheric Model
The GANSS Additional Ionospheric Model contains parameters to model the propagation delays of the GANSS signals through the ionosphere. The information elements in this field are shown in table A.35.a.
When Data ID has the value '11' it indicates that the parameters have been generated by QZSS, and the parameters have been specialized and are applicable within the area defined in [16]. When Data ID has the value '00' it indicates the parameters are applicable worldwide [16]. All other values for Data ID are reserved. When Data ID has the value  '01' it indicates that the parameters have been generated by BDS, and UE shall use these parameters according to the description given in 5.2.4.7 in [18].

Table A.35.a: GANSS Additional Ionospheric Model 
Parameter
# Bits
Scale Factor
Units
Incl.
Data ID
2
--
See text
M
0
8
2-30
seconds
M
1
8
2-27
sec/semi-circle
M
2
8
2-24
sec/(semi-circle)2
M
3
8
2-24
sec/(semi-circle)3
M
0
8
211
seconds
M
1
8
214
sec/semi-circle
M
2
8
216
sec/(semi-circle)2
M
3
8
216
sec/(semi-circle)3
M

GANSS Earth Orientation Parameters
The GANSS Earth Orientation Parameters provides parameters to construct the ECEF and ECI coordinate transformation as defined in [12] and are shown in Table A.35.b. GANSS Earth Orientation Parameters indicate the relationship between the Earth's rotational axis and WGS-84 reference system. 
Table A.35.b: GANSS Earth Orientation Paramaters
Parameter
# Bits
Scale Factor
Units
Incl.
tEOP
16
24
seconds
M
PM_X
21
2-20
arc-seconds
M
PM_X_dot
15
2-21
arc-seconds/day
M
PM_Y
21
2-20
arc-seconds
M
PM_Y_dot
15
2-21
arc-seconds/day
M
UT1
31
2-24
seconds
M
UT1_dot
19
2-25
seconds/day
M

GANSS Reference Time Extension
This element is an extension to the GANSS Reference Time  IE and is shown in Table A.35c. If GANSS Reference Time is provided by the SMLC, the GANSS Reference Time Extension shall also be provided. 
NOTE:	For reasons of backward compatibility, this IE is not defined for a Release 9 or earlier SMLC and would be ignored, when received, by a Release 9 or earlier MS. This means that when the element is expected but is not received, the SMLC is Release 9 or earlier.
Table A.35c: GANSS Reference Time Extension
Parameter
# Bits
Scale Factor
Range
Units
Incl.
GANSS Day Cycle Number
3
1
0 - 7
8192 days
M

GANSS Day Cycle Number
This field  provides the number of 8192 day cycles occurred since the GANSS zero time-point defined in Table A.34. The first 8192 GANSS days since the zero time-point is GANSS Day Cycle Number 0.
A.4.2.6.2	GANSS Generic Assistance Data
GANSS Generic Assistance data elements contain Information Elements that are applied on one specific GNSS at a time indicated by GANSS_ID. The format of the IE's remains the same regardless of the GANSS; only the values of the parameters and inclusion of certain optional fields will vary. 
GANSS Generic Assistance Data is repeated for each GNSS included in GANSS Assistance Data. GANSS Generic Assistance Data can contain one or more of the elements listed in Table A.39 below. As Table A.39 shows, all fields are optional.
Table A.39: GANSS Generic Assistance Data content
Element
Presence
Repetition
GANSS ID
O (note 1)
Yes
GANSS Time Model
O
Yes
DGANSS Corrections
O
Yes
GANSS Navigation Model
O
Yes
GANSS Real-Time Integrity
O
Yes
GANSS Data Bit Assistance
O
Yes
GANSS Reference Measurement Information
O
Yes
GANSS Almanac Model
O
Yes
GANSS UTC Model
O
Yes
GANSS Ephemeris Extension
O
Yes
GANSS Ephemeris Ext Check
O
Yes
SBAS ID
O
Yes
GANSS Additional UTC Model
O
Yes
GANSS Auxiliary Information
O
Yes
DGANSS Corrections Validity Period
O
Yes
GANSS Time Model Extension
O
Yes
GANSS Reference Measurement Extension
O
Yes
GANSS Almanac Model Extension
O
Yes
GANSS Almanac Model Extension-R12
O
Yes
GANSS Reference Measurement Extension-R12
O
Yes
DBDS Corrections
O (note 2)
Yes
BDS Grid Model
O (note 2)
Yes
NOTE 1:	Absence of this field means Galileo. 
NOTE 2:	The field may be present if the GANSS ID = BDS; otherwise it is not present.

GANSS_ID
This field indicates the GNSS for which the following assistance data IE's in GANSS Generic Assistance Data element are dedicated. The supported GANSS are listed in Table A.40. Absence of this field indicates Galileo. If GANSS ID indicates SBAS, the SBAS ID shall be included to indicate the specific SBAS addressed.
Range: 	0 - 7
Table A.40: GANSS_ID
GANSS_ID
Indication
SBAS
0
Modernized GPS
1
QZSS
2
GLONASS
3
BDS
4
Reserved for future use
5-7

GANSS Time Model
This field specifies a model to relate GNSS system time to a selected time reference. GNSS Time Offset ID (GNSS_TO_ID) identifies the GNSS for which the relation is provided.
The SMLC may send multiple GANSS Time Models (up to 7) for a specific GNSS depending on the number of the allowed satellite systems in GANSS Positioning Method. For example, the SMLC may send two GANSS Time Models for Galileo to give the relations between Galileo and two GNSS system times. 
NOTE:	The integer number of seconds of the GNSS-GNSS Time Offset is provided in the GANSS Time Model Extension in Table A.55.22.
Table A.41: GANSS Time Model
Parameter
# Bits
Scale Factor
Range
Units
Incl.
GANSS Time Model Reference Time
16
24
0 - 604784
s
M
TA0
32
2-35

sec
M
TA1
24
2-51

sec/sec
O
TA2
7
2-68

sec/sec2
O
GNSS_TO_ID
3
---
---
---
M
Week Number
13
1
0 - 8191
week
O 

GANSS Time Model Reference Time
This field specifies the reference time of week for GANSS Time Model and it is given in GNSS specific system time. 
Range: 	0  604784 seconds 
TA0/TA1/TA2 
These fields specify the GANSS Time Model for a specific GNSS system by constant and first and second order terms of polynomial. The first and second order terms are optional. 
GNSS_TO_ID
This field specifies GNSS Time Offset ID. GANSS Time Model contains parameters to convert GNSS System Time from the system indicated by GANSS_ID to GNSS System Time indicated by GNSS_TO_ID. The conversion is defined in [12,13,14].
Table A.42: GNSS_TO_ID
GNSS_TO_ID
Indication
GPS
0
GALILEO
1
QZSS
2
GLONASS
3
BDS
4
Reserved for future use
5-7

Week Number
This field specifies the reference week of GANSS Time Model given in GNSS specific system time. This field is optional.
DGANSS Corrections
These fields specify the DGANSS corrections to be used by the MS.
Table A.43: DGANSS Corrections
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
The following fields occur once per message
DGANSS Reference Time
7
30
0 - 3570
seconds
M
N_SGN_TYPE
2
1
1 - 3
---
M
The following fields occur once per GANSS signal type (N_SGN_TYPE times)
GANSS_Signal_ID
3
---
---
---
M
Status/Health
3
1
0 - 7
---
M
N_SAT
4
1
1 - 16
---
M
The following fields occur once per satellite (N_SAT times)
SV_ID
6
---
0…63
---
M
IOD
10
---
---
---
M
UDRE
2
---
0 - 3
---
M
PRC
12
0,32
655,04
meters
M
RRC
8
0,032
4,064
meters/sec
M

DGANSS Reference Time
This field indicates the baseline time for which the DGANSS corrections are valid as modulo 3600 s. DGANSS Reference Time is given in GNSS system time. 
Range: 	0 - 3600 s
N_SGN_TYPE
This field indicates the number of GNSS signal types included in DGANSS Corrections IE.
Range: 	1 - 3
GANSS_Signal_ID
DGANSS corrections are provided per GNSS signal type identified by GANSS_Signal_ID. The supported signals are listed in Table A.59.
Status/Health
This field indicates the status of the differential corrections contained in the broadcast message. The values of this field and their respective meanings are shown below in Table A.44.
Table A.44: Values of Status/Health IE
Code
Indication
000
UDRE Scale Factor = 1,0
001
UDRE Scale Factor = 0,75
010
UDRE Scale Factor = 0,5
011
UDRE Scale Factor = 0,3
100
UDRE Scale Factor = 0,2
101
UDRE Scale Factor = 0,1
110
Reference Station Transmission Not Monitored
111
Data is invalid - disregard

The first six values in this field indicate valid differential corrections. When using the values described below, the "UDRE Scale Factor" value is applied to the UDRE values contained in the message. The purpose is to indicate an estimate in the amount of error in the corrections.
The value "110" indicates that the source of the differential corrections (e.g., reference station or external DGANSS network) is currently not being monitored. The value "111" indicates that the corrections provided by the source are invalid, as judged by the source. In the later case, the message shall contain no corrections for individual satellites. Any MS that receives DGANSS Corrections in a GANSS Assistance Data IE shall contain the appropriate logic to properly interpret this condition and look for the next IE.
N_SAT
This field indicates the number of satellites (per specified GANSS_Signal_ID) for which differential corrections areincluded in this element. 
Range: 	1 - 16
SV_ID
The SV ID is an index number for a satellite. The interpretation of SV ID is defined in Table A.10.14.
Issue Of Data
Issue of Data field contains the identity for the GANSS Navigation Model, as defined in Table A.48.2 (i.e., excluding the IOD_MSB, if applicable for the particular GANSS or signal). 
User Differential Range Error (UDRE)
This field provides an estimate of the uncertainty (1-) in the corrections for the particular satellite. The value in this field shall be multiplied by the UDRE Scale Factor in the common Corrections Status/Health field to determine the final UDRE estimate for the particular satellite. The meanings of the values for this field are described in Table A.45.
Table A.45: Values of UDRE IE
Value
Indication
00
UDRE  1,0 m
01
1,0 m < UDRE  4,0 m
10
4,0 m < UDRE  8,0 m
11
8,0 m < UDRE

Each UDRE value shall be adjusted based on the operation of an Integrity Monitor (IM) function which exists at the network (SMLC, GPS server, or reference GPS receiver itself). Positioning errors derived at the IM which are excessive relative to DGPS expected accuracy levels shall be used to scale the UDRE values to produce consistency.
Pseudo-Range Correction (PRC)
This field indicates the correction to the pseudorange for the particular satellite at DGANSS Reference Time,  t0. The value of this field is given in meters (m) and the resolution is 0,32, as shown in Table A.43 above. The method of calculating this field is described in [9].
If the SMLC has received a request for GANSS assistance data from an MS which included a request for the navigation models and DGANSS (i.e., bit J and M are set to one in 'Requested GANSS Assistance Data, see 3GPP TS 49.031), the SMLC shall determine, for each satellite, if the navigation model stored by the MS is still suitable for use with DGANSS corrections (also see navigation model update conditions right before Table A.46) and if so and if DGANSS corrections are supported the SMLC should send DGANSS corrections without including the navigation model.
The IOD value sent for a satellite shall always be the IOD value that corresponds to the navigation model for which the pseudo-range corrections are applicable.
The pseudo-range correction shall correspond to the available navigation model (the one already stored in and identified by the MS or the one included in the same procedure as the pseudo-range correction). The MS shall only use the PRC value when the IOD value received matches its available navigation model.
Pseudo-range corrections are provided with respect to GNSS specific geodetic datum (e.g., PZ-90.02 if GANSS ID indicates GLONASS).
Pseudo-Range Rate Correction (RRC)
This field indicates the rate-of-change of the pseudorange correction for the particular satellite, using the satellite ephemeris and clock corrections identified by the IOD IE. The value of this field is given in meters per second (m/sec) and the resolution is 0,032, as shown in table A.43 above. For some time t1 > t0, the corrections for IOD are estimated by
	PRC(t1, IOD) = PRC(t0, IOD) + RRC(t0, IOD)(t1 - t0) ,
and the MS uses this to correct the pseudorange it measures at t1, PRm(t1, IOD), by
	PR(t1, IOD) = PRm(t1, IOD) + PRC(t1, IOD) .
The SMLC shall always send the RRC value that corresponds to the PRC value that it sends (see above for details). The MS shall only use the RRC value when the IOD value received matches its available navigation model.
GANSS Navigation Model
This set of fields contains information required to manage the transfer of precise navigation data to the GANSS-capable MS. In response to a request from a MS for GANSS Assistance Data, the SMLC shall determine whether to send the navigation model for a particular satellite to an MS based upon factors like the T-Toe limit specified by the MS and any request from the MS for DGANSS (also see above). This information includes control bit fields as well as satellite ephemeris and clock corrections and clock and orbit accuracy models. GANSS Orbit Model can be given in Keplerian parameters  or as state vector in Earth-Centered Earth-Fixed coordinates, dependent on the GANSS-ID and the MS capabilities. The meaning of these parameters is defined in relevant ICDs of the particular GANSS and GNSS specific interpretations apply. For example, Modernized GPS and QZSS use the same model parameters but some parameters have a different interpretation [16].
GANSS Navigation Model element can contain data up to at most 32 satellites. The individual fields are given in Table A.46 and the conditions for their presence is discussed below.
Table A.46: GANSS Navigation Model contents
Parameter
# Bits
Scale Factor
Units
Incl.
Navigation Model Flow Control (once per message)
Num_Sat
5
1
---
M
Non-Broadcast Indication
1
---
---
M
The following fields occur once per satellite (Num_Sat times)
SV ID
6
---
---
M
SV Health
5
---
---
M
IOD
10
---
---
M
GANSS Clock Model
See Table A.49.1
---
---
M
GANSS Orbit Model
See Table A.49.2
---
---
M
SV Health_MSB
1
---
---
O
IOD_MSB
1
---
---
O
SV Health Extension
4
--
--
O

Num_Sat
This field specifies the number of satellites that are included in the provided GANSS Navigation Model element. A range of 1-32 is available. This field is mandatory when the GANSS Navigation Model field is included in the GANSS  Assistance Data message. 
Non-Broadcast Indication
This field indicates if the GANSS Navigation Model Elements are not derived from satellite broadcast data or are given in a format not native to the GANSS. 
Table A.47: Values of Non-Broadcast Indication Flag
Value
Non-Broadcast Indication
0
GANSS Navigation Data elements corresponding with broadcasted data
1
GANSS Navigation Data element not derived from satellite broadcast

SV_ID
The field specifies the SV/Slot ID for which the GANSS Navigation Model Elements is given. The interpretation of SV ID is defined in Table A.10.14.
Range: 	0 - 63
SV Health and SV Health_MSB
This parameter gives information about the satellite's current health. The health values are GNSS system specific. The SV Health bits have the encoding as in Table A.48.1 for a particular GANSS. The SV Health_MSB may be present for some GANSS or signals as defined in Table A.48.1. If SV Health_MSB is present, the total SV Health information is created by appending the SV Health field to the SV Health_MSB field. 
Table A.48.1: Interpretation SV Health Bits 
GANSS
SV Health_MSB
SV Health Bit String(5)


Bit 1 (MSB)
Bit 2
Bit 3
Bit 4
Bit 5 (LSB)
Galileo
[11, section 5.1.9.3]
---(1)
E5a Data Validity Status
E5b Data Validity Status
E1-B Data Validity Status
E5a Signal Health Status

Modernized GPS(2)
---(1)
L1C Health 
[14]
L1 Health [12,13]
L2 Health
 [12,13]
L5 Health [12,13]
'0'
(reserved)
SBAS(3)
---(1)
Ranging On (0), Off(1)
Corrections On (0), Off (1)
Integrity On (0), Off(1)
'0'
(reserved)
'0'
(reserved)
QZSS
QZS-L1(4)
MSB of SV Health [16]
5 LSBs of SV Health [16]
QZSS
QZS-L1C/L2C/L5(5)
---(1)
L1C Health
[16]
L1 Health 
[16]
L2 Health
 [16]
L5 Health 
[16]
'0'
(reserved)
GLONASS
---(1)
Bn (MSB)
[17, page 23]
FT
[17, Table 4.4]
BDS
---(1)
B1I Health (SatH1) [18]
'0'
(reserved)
Note 1: The SV Health_MSB field shall not be present in GANSS Navigation Model for these GANSS or GANSS signals.
Note 2: If a certain signal is not supported on the satellite indicated by SV_ID, the corresponding health bit shall be set to '1' (i.e., signal can not be used).
Note 3: SV Health in case of GANSS ID indicates SBAS includes the 5 LSBs of the Health included in GEO Almanac Message Parameters (Type 17) [15].
Note 4: If GANSS ID indicates 'QZSS', and GANSS Orbit Model-2 is included, this interpretation of SV Health applies.
Note 5: If GANSS ID indicates 'QZSS', and GANSS Orbit Model-3 is included, this interpretation of SV Health applies.

SV Health Extension
This parameter gives additional information about the satellite's current health. The health values are GNSS system specific. The SV Health Extension bits have the encoding as in Table A.48.1a for a particular GANSS. 
Table A.48.1a: Interpretation SV Health Extension Bits 
GANSS
SV Health Extension Bit String(4)

Bit 1 (MSB)
Bit 2
Bit 3
Bit 4 (LSB)
Galileo [11, section 5.1.9.3]
E5b Signal Health Status
E1-B Signal Health Status

Issue Of Data
Issue of Data field contains the identity for GANSS Navigation Model. The IOD_MSB may be present for some GANSS or signals as defined in Table A.48.2a. If IOD_MSB is present, the total IOD information is constructed as defined in Table A.48.2a. 
In the case of broadcasted Galileo ephemeris, the IOD contains the IODnav as described in [11]. 
In case of broadcasted Modernized GPS ephemeris, the IOD contains the 11-bit parameter toe as defined in [12, Table 30-I] [14, Table 3.5-1] and is constructed using IOD and IOD_MSB fields. 
In case of broadcasted SBAS ephemeris, the IOD contains the 8 bits Issue of Data as defined in [15] Message Type 9. 
In case of broadcasted QZSS QZS-L1 ephemeris, the IOD contains the IODC as described in [16]. 
In case of broadcasted QZSS QZS-L1C/L2C/L5 ephemeris, the IOD contains the 11-bit parameter toe as defined in [16] and is constructed using IOD and IOD_MSB fields.
In case of broadcasted GLONASS ephemeris, the IOD contains the parameter tb as defined in [17].
In case of broadcasted BDS ephemeris, the IOD contains the 11 MSB bits of toe as defined in [18].
Table A.48.2: Interpretation of Issue Of Data
GANSS
Parameter
# Bits
Scale Factor
Range
Units
Galileo
IODnav
10
--
0-1023
--
Modernized GPS(1)
LSBs of toe
10
300
0-306900
seconds
SBAS
IOD
8
--
0-255
--
QZSS – QZS-L1(2)
IODC
10
--
0-1023
--
QZSS – QZS-L1C/L2C/L5(1)(3)
LSBs of toe
10
300
0-306900
seconds
GLONASS
tb
7
15
15-1425
minutes
BDS(4)
bit 2 (MSB) to bit 11 (MSB) of toe
10
512
0-524288
seconds
Note 1: The MSB of toe is provided in IOD_MSB field.
Note 2: If GANSS ID indicates 'QZSS', and GANSS Clock and Orbit Model-2 are included, this interpretation of IOD applies.
Note 3: If GANSS ID indicates 'QZSS', and GANSS Clock and Orbit Model-3 are included, this interpretation of IOD applies .
Note 4: If GANSS ID indicates 'BDS', the bit 2 (MSB) to bit 11 (MSB) are provided in IOD field and the bit 1 (MSB) is provided in IOD_MSB field.

Table A.48.2a: Interpretation of IOD_MSB
GANSS(1)
IOD_MSB
Scale Factor
Units
Comment
Modernized GPS
MSB of toe
307200
seconds
The full toe is constructed as "MSB of toe" x 307200 + "LSBs of toe" x 300
(Effective range of full toe is 0-604500 seconds)
QZSS – QZS-L1C/L2C/L5
MSB of toe
307200
seconds
The full toe is constructed as "MSB of toe" x 307200 + "LSBs of toe" x 300
(Effective range of full toe is 0-604500 seconds)
BDS
Bit 1 (MSB) of toe
524288
seconds
The full IOD is constructed as " IOD_MSB " x 524288+ "IOD" x 512
(Effective range of IOD is 0-604672 seconds)
Note 1: The IOD_MSB field shall not be present in GANSS Navigation Model for GANSS or GANSS signals not defined in this Table.

GANSS Clock Model
GANSS clock model (Model-1) contains one or two clock model elements. If included, Clock Model-1 shall be included once or twice depending on the MS capability. 
If the MS is supporting multiple Galileo signals, the SMLC shall include both F/Nav and I/Nav clock models in GANSS Clock Model IE if the SMLC assumes the MS to perform Location Information calculation using multiple signals. The MS capabilities to support multiple GNSS frequencies are indicated in the Positioning Capability Response element (clause A.8). Otherwise, SMLC shall include only the model suitable for the GNSS.
Table A.49.1: GANSS Clock Model 
Parameter
# Bits
Scale Factor
Units
Incl.
One of the following models can be included:
Model-1:
Satellite Clock Model (Galileo [11])
toc
14(u)
60
sec
C(1)
af2
6
2-59

sec/sec2
C(1)
af1
21
2-46
sec/sec
C(1)
af0 
31
2-34
sec
C(1)
TGD (BGD)
10
2-32 

sec
O(1)
Model ID
1
---
---
O
Model-2:
NAV Clock Model
toc
16
24
seconds
C(1)
af2
8
2-55
sec/sec2
C(1)
af1
16
2-43
sec/sec
C(1)
af0 
22
2-31
seconds
C(1)
TGD
8
2-31
seconds
C(1)
Model-3:
CNAV/CNAV-2 Clock Model
toc
11
300
seconds
C(1)
top
11
300
seconds
C(1)
URAoc Index
5
---
---
C(1)
URAoc1 Index
3
---
---
C(1)
URAoc2 Index
3
---
---
C(1)
af2-n
10
2-60
sec/sec2
C(1)
af1-n
20
2-48
sec/sec
C(1)
af0-n
26
2-35
seconds
C(1)
TGD
13
2-35
seconds
C(1)
ISCL1CP
13
2-35
seconds
O(2)
ISCL1CD
13
2-35
seconds
O(2)
ISCL1C/A
13
2-35
seconds
O(3)
ISCL2C
13
2-35
seconds
O(3)
ISCL5I5
13
2-35
seconds
O(4)
ISCL5Q5
13
2-35
seconds
O(4)
Model-4:
GLONASS Satellite Clock Model
n(tb)
22
2-30
seconds
C(1)
n(tb)
11
2-40
---
C(1)
n
5
2-30
seconds
O
Model-5:
SBAS Satellite Clock Model
t0
13
16
seconds
C(1)
aGfo
12
2-31
seconds
C(1)
aGf1
8
2-40
Seconds/sec
C(1)
Model-6:
BDS Satellite Clock Model
AODC
5
---
---
C(1)
toc
17
23
seconds
C(1)
a0
24
2-33
sec/sec
C(1)
a1
22
2-50
sec/sec2
C(1)
a2 
11
2-66
seconds
C(1)
TGD
10
10-10
seconds
C(1)
NOTE 1:	All of these fields shall be present together, or none of them shall be present.
NOTE 2:	Both of these fields shall be present together, or none of them shall be present.
NOTE 3:	Both of these fields shall be present together, or none of them shall be present.
NOTE 4:	Both of these fields shall be present together, or none of them shall be present.

Model ID
This field specifies the identity of the clock model according to Table A.49.1a. This field is optional.
Table A.49.1a: Galileo Clock Model Identity
Value
Identity
0
I/Nav
1
F/Nav

GANSS Orbit Model
GANSS Orbit Model IE contains the following presentation: Satellite Navigation Model Using Keplerian Parameters or Satellite Navigation Model Using Earth-Centered, Earth-fixed Parameters as described in Table A.49.2. 
Table A.49.2: GANSS Orbit Model 
Parameter
# Bits
Scale Factor
Units
Incl.
One of the following models can be included:
Model-1:
Satellite Navigation Model Using Keplerian Parameters
toe
14(u)
60
sec
C
 
32
2-31
semi-circles
C
n
16
2-43
semi-circles/sec
C
M0
32
2-31
semi-circles
C
OMEGAdot
24
2-43
semi-circles/sec
C
e
32(u)
2-33
---
C
Idot
14
2-43
semi-circles/sec
C
sqrtA
32(u)
2-19
meters1/2
C
i0
32
2-31
semi-circles
C
OMEGA0
32
2-31
semi-circles
C
Crs
16
2-5
meters
C
Cis
16
2-29
radians
C
Cus
16
2-29
radians
C
Crc
16
2-5
meters
C
Cic
16
2-29
radians
C
Cuc
16
2-29
radians
C
Model-2:
Satellite Navigation Model Using NAV Keplerian Parameters 
URA Index
4
--
--
C
Fit Interval Flag
1
--
Boolean
C
toe
16
24
sec
C
 
32
2-31
semi-circles
C
n
16
2-43
semi-circles/sec
C
M0
32
2-31
semi-circles
C
OMEGAdot
24
2-43
semi-circles/sec
C
e
32(u)
2-33
---
C
Idot
14
2-43
semi-circles/sec
C
sqrtA
32(u)
2-19
meters1/2
C
i0
32
2-31
semi-circles
C
OMEGA0
32
2-31
semi-circles
C
Crs
16
2-5
meters
C
Cis
16
2-29
radians
C
Cus
16
2-29
radians
C
Crc
16
2-5
meters
C
Cic
16
2-29
radians
C
Cuc
16
2-29
radians
C
Model-3:
Satellite Navigation Model Using CNAV/CNAV-2 Keplerian Parameters
top
11
300
seconds
C
URAoe Index
5
---
---
C
A
26
2-9
meters
C
A_dot
25
2-21
meters/sec
C
n0
17
2-44
semi-circles/sec
C
n0_dot
23
2-57
semi-circles/sec2
C
M0-n
33
2-32
semi-circles
C
en
33
2-34
---
C
n
33
2-32
semi-circles
C
0-n
33
2-32
semi-circles
C
_dot
17
2-44
semi-circles/sec
C
io-n
33
2-32
semi-circles
C
i0-n_dot
15
2-44
semi-circles/sec
C
Cis-n
16
2-30
radians
C
Cic-n
16
2-30
radians
C
Crs-n
24
2-8
meters
C
Crc-n
24
2-8
meters
C
Cus-n
21
2-30
radians
C
Cuc-n
21
2-30
radians
C
Model-4:
Satellite Navigation Model Using GLONASS Earth-Centered, Earth-fixed Parameters
En
5(u)
1
days
C
P1
2(u)
--
---
C
P2
1(u)
1
---
C
M
2(u)
1
---
O

27
2-11
kilometers
C

24
2-20
kilometres/second
C

5
2-30
kilometres/second2
C

27
2-11
kilometers
C

24
2-20
kilometres/second
C

5
2-30
kilometres/second2
C

27
2-11
kilometers
C

24
2-20
kilometres/second
C

5
2-30
kilometres/second2
C
Model-5:
Satellite Navigation Model Using SBAS Earth-Centered, Earth-fixed Parameters
t0
13
16
seconds
O(1)
Accuracy
4
--
--
C
XG
30
0,08
meters
C
YG
30
0,08
meters
C
ZG
25
0,4
meters
C
XG Rate‑of‑Change
17
0,000625
meters/sec
C
YG Rate‑of‑Change
17
0,000625
meters/sec
C
ZG Rate‑of‑Change
18
0,004
meters/sec
C
XG Acceleration
10
0,0000125
meters/sec2
C
YG Acceleration
10
0,0000125
meters/sec2
C
ZG Acceleration
10
0,0000625
meters/sec2
C
Model-6:
Satellite Navigation Model Using BDS Keplerian Parameters
AODE
5
--
--
C
URA Index
4
--
--
C
toe
17
23
seconds
C
A1/2
32
2-19
meters1/2
C
e
32
2-33
--
C

32
2-31
semi-circles
C
n
16
2-43
semi-circles/sec
C
M0
32
2-31
semi-circles
C
0
32
2-31
semi-circles
C
_dot
24
2-43
semi-circles/sec
C
i0
32
2-31
semi-circles
C
Idot
14
2-43
semi-circles/sec
C
Cuc
18
2-31
radians
C
Cus
18
2-31
radians
C
Crc
18
2-6
meters
C
Crs
18
2-6
meters
C
Cic
18
2-31
radians
C
Cis
18
2-31
radians
C
Note 1: If GANSS Clock Model-5 is not included, this field shall be present.
NOTE u:	unsigned parameter

 GANSS Real-Time Integrity
Integrity Monitor (IM) shall detect unhealthy (e.g., failed/failing) satellite signals and also shall inform users of measurement quality in DGANSS modes when satellite signals are healthy. Excessively large pseudo range errors, as evidenced by the magnitude of the corresponding DGANSS correction, shall be used to detect failed satellite signals. Unhealthy satellite signals should be detected within 10 seconds of the occurrence of the satellite signal failure. When unhealthy (e.g., failed/failing) satellite signals are detected, the assistance and/or DGANSS correction data shall not be supplied for these satellite signals. When the error in the IM computed position is excessive for solutions based upon healthy satellite signals only, DGANSS users shall be informed of measurement quality through the supplied UDRE values. After bad satellite signals have been indicated in the Real Time Integrity field, if the satellite signals return to healthy condition for some period of time, the indications for them shall be removed from this field.
GANSS Real-Time Integrity field of the GANSS Assistance Data Information Element contains parameters that describe the real-time status of the GANSS constellations. Primarily intended for non-differential applications, the real-time integrity of the satellite constellation is of importance as there is no differential correction data by which the mobile can determine the soundness of each satellite signal. GANSS Real-Time Integrity data communicates the health of the GNSS signals to the mobile in real-time. The format is shown in Table A.50. The SMLC shall always transmit the GANSS Real Time Integrity field with the current list of unhealthy signals, for any GANSS positioning attempt and whenever GANSS Assistance Data is sent. If the number of bad signals (NBS) is zero, then the GANSS Real Time Integrity field shall be omitted.
Table A.50: GANSS Real-Time Integrity 
Parameter
# Bits
Scale Factor
Range
Units
Incl.
The following fields occur once per SV with bad signal (NBS times)
Bad_GNSS_SV_ID
6
1
---
---
M
Bad_GNSS_Signal_ID
8
1
---
---
O

NBS (Number of satellites with bad signal)
The NBS value indicates the number of satellites with bad signal.
Bad_GNSS_SV_ID
This field specifies the SV ID of the satellite with bad signal or signals. The interpretation of SV ID is defined in Table A.10.14.
Bad_GNSS_Signal_ID
This field identifies the bad signal of a satellite. Absence of this field means that all signals on the specific SV are bad. The interpretation of Bad_GNSS_Signal_ID is listed in Table A.59. If the satellite in question belongs to the modernized GPS constellation and has some healthy signals but bad L1C/A signal, Bad_GNSS_Signal_ID shall be present but may have all the bits set to '0'. Status of L1C/A signal shall be indicated with Real-Time Integrity IE in GPS Assistance Data Element.
GANSS Data Bit Assistance
This element provides data bit assistance data for specific satellite signals for data wipe-off. The data bits included in the assistance data depends on the GANSS and its signal. 
Table A.51: GANSS Data Bit Assistance
Parameter
Bits
Resolution
Range
Incl.
GANSS TOD
6
1
0 – 59
M
The following fields occur once per satellite (N_SAT times)
SV ID
6
1
---
M
The following fields occur once per signal (N_SGN times)
GANSS_Signal_ID
3
1
0 - 7
M
N_BIT
10
1
1 – 1024
M
Data Bits
N_BIT
---
---
M

GANSS TOD
This field indicates the reference time of the first bit of the data in GANSS Data Bit Assistance in integer seconds in GNSS specific system time.
Data Bit Reference Time is given as modulo 60 s from GANSS TOD.
N_SAT
This field specifies the number of satellites in GANSS Data Bit Assistance element.
SV_ID
The field specifies the SV for which the GANSS Data Bit Assistance is given. The interpretation of SV ID is defined in Table A.10.14.
Range: 	0 – 63
N_SGN
This field specifies the number of signals for which GANSS Data Bit Assistance is provided.
Range:	1 – 8
GANSS_Signal_ID
This field specifies the GANSS signal type of the GANSS Data Bit Assistance as listed in Table A.59.
N_BIT
This field indicates the number of bits (or symbols) included in the IE.
Data Bits
Data bits are contained in GNSS system and data type specific format. 
In case of Galileo, it contains the FEC encoded and interleaved modulation symbols. The logical levels 1 and 0 correspond to signal levels -1 and +1, respectively. In case of Modernized GPS L1C, it contains the encoded and interleaved modulation symbols as defined in [14] section 3.2.3.1.
In case of Modernized GPS L2C, it contains either the NAV data modulation bits, the FEC encoded NAV data modulation symbols, or the FEC encoded CNAV data modulation symbols, dependent on the current signal configuration of this satellite as defined in [12, Table 3-III].
In case of Modernized GPS L5, it contains the FEC encoded CNAV data modulation symbols as defined in [13].
In case of SBAS, it contains the FEC encoded data modulation symbols as defined in [15].
In case of QZSS QZS-L1, it contains the NAV data modulation bits as defined in [16] section 5.2. In case of QZSS QZS-L1C, it contains the encoded and interleaved modulation symbols as defined in [16] section 5.3. In case of QZSS QZS-L2C, it contains the encoded modulation symbols as defined in [16] section 5.5. In case of QZSS QZS-L5, it contains the encoded modulation symbols as defined in [16] section 5.6. 
In case of GLONASS, it contains the 100 sps differentially Manchester encoded modulation symbols as defined in [17] section 3.3.2.2.
In case of BDS, it contains the encoded and interleaved modulation symbols as defined in [18] section 5.1.3.
GANSS Reference Measurement Information
This field provides reference code and Doppler measurement information of visible satellites of a GANSS constellation. The information can be used as acquisition assistance to improve the sensitivity of the receiver. 
These parameters describe the range and optionally the derivatives from respective satellites to the GANSS Reference Location at the GANSS Reference Time. The code phase and Doppler fields are aligned with the time provided in GANSS Reference Time. Figure A.4a illustrates the relation between some of the fields with respect to the GANSS TOD.
If GPS Acquisition Assistance is included the Reference Time included in the GPS Acquisition Assistance is also valid for the GANSS Reference Measurement fields and the parameters are referenced to GPS TOW. Figure A.4b illustrates the relation between some of the fields with respect to GPS TOW.
The parameters are given in units of ms and m/s which makes it possible to convert the values to any nominal frequency and chipping and code rate.
Table A.52: GANSS Reference Measurement Information Contents
Parameter
Range
Bits
Resolution
Incl.
GANSS_Signal_ID
0 - 7
3
---
M
The following fields occur once per satellite (Num_Sat times)
SV_ID
0 - 63
6

M
Doppler (0th order term)
-1024 m/s to 1023,5 m/s
12
0,5 m/s
M
Doppler (1st order term)
-0,2 - 0,1 m/s2.
6
1/210 m/s2.
O(1)
Doppler Uncertainty
2,5 m/s - 40 m/s 
[2-n(40) m/s, n = 0 - 4]
3
---
O(1,3)
Code Phase 
0 - (1-2-10) ms
10
2-10 ms
M
Integer Code Phase 
0 - 127 ms
7
1 ms
M
Code Phase Search Window
See Table A.53
5
---
M
Azimuth
0 - 348,75 deg
5
11,25 deg
O(2)
Elevation
0 - 78,75 deg
3
11,25 deg
O(2)
Code Phase_1023
boolean
1
---
O
NOTE 1,2: 	All of these fields shall be present together, or none of them shall be present.
NOTE 3: 		If Doppler Uncertainty Extension (Table A.55.25) is present, Doppler Uncertainty shall be set to 	value 0 (40 m/s).


Figure A.4a. Exemplary calculations of some GANSS Reference Measurement fields with respect to GANSS TOD.

Figure A.4b. Exemplary calculations of some GANSS Reference Measurement fields with respect to GPS TOW.
GANSS_Signal_ID
This field specifies the GNSS signal type. The supported signals are listed in Table A.59.
Num_Sat
This field specifies the number of satellites in GANSS Reference Measurement Information element.
SV_ID
This field specifies the SV for which the GANSS Reference Measurement Assistance is given. The interpretation of SV ID is defined in Table A.10.14.
Range: 	0 – 63
Doppler (0th order term)
This field contains the Doppler (0th order term) value. A positive value in Doppler defines the increase in satellite signal frequency due to velocity towards the MS. A negative value in Doppler defines the decrease in satellite signal frequency due to velocity away from the MS. 
Doppler is given in unit of m/s by multiplying the Doppler value in Hz by the nominal wavelength of the assisted signal.
This field is mandatory.
Doppler (1st order term)
This field contains the Doppler (1st order term) value. A positive value defines the rate of increase in satellite signal frequency due to acceleration towards the MS. A negative value defines the rate of decrease in satellite signal frequency due to acceleration away from the MS. 
Doppler (1st order term) is given in unit of m/s by multiplying the Doppler value in Hz by the nominal wavelength of the assisted signal.
This field is optional.
Doppler Uncertainty
This field contains the Doppler uncertainty value. It is defined such that the Doppler experienced by a stationary MS is in the range "Doppler  Doppler Uncertainty" to "Doppler  Doppler Uncertainty". This field is optional. If Doppler Uncertainty (together with Doppler 1st order term) is omitted, the terminal shall interpret Doppler Uncertainty as greater than +/-40 m/s. If the Doppler Uncertainty Extension (Table A.55.25) field is present, the MS that supports the Doppler Uncertainty Extension shall ignore this field.
Doppler Uncertainty is given in unit of m/s by multiplying the Doppler Uncertainty value in Hz by the nominal wavelength of the assisted signal.
Permitted Values:	2,5 m/s, 5 m/s, 10 m/s, 20 m/s, 40 m/s as encoded by an integer n in the range 0-4 according to the formula in Table A.52.
Code Phase
This field together with the Code Phase_1023 field contains code phase, in units of milliseconds, in the range from 0 to 1 millisecond scaled by the nominal chipping rate of the GNSS signal, where increasing values of the field signify increasing predicted signal code phases, as seen by a receiver at the Reference Location at the GANSS Reference Time. The Reference Location would typically be an apriori estimate of the MS location. This field is mandatory.
Range: 	0 - (1-2-10) ms
NOTE:	The value (1-2-10) ms is encoded using the Code Phase_1023 field.
Integer Code Phase
This field contains integer code phase (expressed modulo 128 ms). The satellite integer milliseconds code phase currently being transmitted at the GANSS Reference Time, as seen by a receiver at the Reference Location is calculated as reference time (GANSS TOD or GPS TOW, expressed in milliseconds) minus (Integer_Code_Phase + (n×128 ms)), as shown in Figure A.4a/b, with n = …-2,-1,0,1,2…. This field is mandatory.
Range: 	0-127 ms
Code Phase Search Window
This field contains the code phase search window. The code phase search window accounts for the uncertainty in the estimated MS location but not any uncertainty in GANSS Reference Time. It is defined such that the expected code phase is in the range "Code Phase - Code Phase Search Window" to "Code Phase + Code Phase Search Window" given in units of milliseconds. This field is mandatory.
Range: 	0-31 (i.e. 0,002 - 2,000 ms according to following table)
Table A.53: Code Phase Search Window Parameter Format
CODE_PHASE_SEARCH_WINDOW
Code Phase Search Window [ms]
'00000'
No information
'00001'
0,002
'00010'
0,004
'00011'
0,008
'00100'
0,012
'00101'
0,016
'00110'
0,024
'00111'
0,032
'01000'
0,048
'01001'
0,064
'01010'
0,096
'01011'
0,128
'01100'
0,164
'01101'
0,200
'01110'
0,250
'01111'
0,300
'10000'
0,360
'10001'
0,420
'10010'
0,480
'10011'
0,540
'10100'
0,600
'10101'
0,660
'10110'
0,720
'10111'
0,780
'11000'
0,850
'11001'
1,000
'11010'
1,150
'11011'
1,300
'11100'
1,450
'11101'
1,600
'11110'
1,800
'11111'
2,000

Azimuth
This field together with the Azimuth LSB  included in GANSS Reference Measurement Extension in Table A.55.23contains the azimuth angle. An angle of x degrees means the satellite azimuth a is in the range (x  a < x+0,703125) degrees. This field is optional.
Range: 	0 - 359,296875 degrees.
Elevation
This field together with the Elevation LSB included in GANSS Reference Measurement Extension in Table A.55.23 contains the elevation angle. An angle of y degrees means the satellite elevation e is in the range (y  e < y+0,703125) degrees except for y = 89,296875 where the range is extended to include 90 degrees. This field is optional.
Range: 	0 - 89,296875 degrees
Code Phase_1023
This field if set to TRUE indicates that the code phase has the value 1023 × 2-10 = (1-2-10) ms. This field may only be set to TRUE if the value provided in the Code Phase  field is 1022. If this field is set to FALSE, the code phase is the value provided in the Code Phase  field in the range from 0 to (1 - 2×2-10) ms. If this field is not present and the Code Phase  field  has the value 1022, the MS  may assume that the code phase is between (1 - 2×2-10)  and (1 - 2-10) ms.
GANSS Almanac Model
These fields specify the coarse, long-term model of the satellite positions and clocks. These fields are given in Table A.54. The meaning of these parameters is defined in relevant ICDs of the particular GANSS and GNSS specific interpretations apply. For example, Modernized GPS and QZSS use the same model parameters but some parameters have a different interpretation [16].
GANSS Almanac Model is useful for receiver tasks that require coarse accuracy, such as determining satellite visibility. The model is valid for up to few weeks, typically. Since it is a long-term model, the field should be provided for all satellites in the GNSS constellation. If almanac is not provided for the full GNSS constellation, the SMLC shall set the Complete Almanac Provided  field in Table A.55.24 to FALSE.
Table A.54: GANSS Almanac Model (per-satellite fields - (1) = Positive range only)
Parameter
# Bits
Scale Factor
Units
Incl.
The following fields occur once per message
Num_Sats_Total
6
1
---
M
Week Number
8
1
weeks
M
Toa
8
212 if GANSS-ID is not Galileo.
600 if GANSS-ID is Galileo
s
O 
IODa
2
---
---
O 
One of the following models can be included:
Model-1:
This model occurs once per satellite (Num_Sats_Total times)
GANSS Almanac Model Using Keplerian Parameters
SV_ID
6
---
---
M
e
11
2-16
dimensionless
M 
i
11
2-14
semi-circles
M 
OMEGADOT
11
2-33
semi-circles/sec
M 
SV Status INAV
4
---
dimensionless
M 
SV Status FNAV
2
---
dimensionless
O
delta_A1/2
13
2-9
meters1/2
M 
OMEGA0
16
2-15
semi-circles
M 

16
2-15
semi-circles
M 
M0
16
2-15
semi-circles
M 
af0
16
2-19
seconds
M 
af1
13
2-38
sec/sec
M 
Model-2:
This model occurs once per satellite (Num_Sats_Total times)
GANSS Almanac Model Using NAV Keplerian Parameters 
SV_ID
6
---
---
M
e
16
2-21
dimensionless
M
i
16
2-19
semi-circles
M
OMEGADOT
16
2-38
semi-circles/sec
M
SV Health
8
---
Boolean
M
A1/2
24
2-11
meters1/2
M
OMEGA0
24
2-23
semi-circles
M

24
2-23
semi-circles
M
M0
24
2-23
semi-circles
M
af0
11
2-20
seconds
M
af1
11
2-38
sec/sec
M
Model-3:
This model occurs once per satellite (Num_Sats_Total times)
GANSS Almanac Model Using Reduced Keplerian Parameters
SV_ID
6
---
---
M
A
8
2+9
meters
M
0
7
2-6
semi-cicles
M
0
7
2-6
semi-circles
M
L1 Health
1
---
---
M
L2 Health
1
---
---
M
L5 Health
1
---
---
M

Model-4:
This model occurs once per satellite (Num_Sats_Total times)
GANSS Almanac Model Using Midi Keplerian Parameters 
SV_ID
6
---
---
M
e
11
2-16
---
M
i
11
2-14
semi-circles
M
_dot
11
2-33
semi-circles/sec
M 
sqrtA
17
2-4
meters1/2
M 
0
16
2-15
semi-circles
M

16
2-15
semi-circles
M
M0
16
2-15
semi-circles
M
afo
11
2-20
seconds
M
af1
10
2-37
sec/sec
M
L1 Health
1
---
---
M
L2 Health
1
---
---
M
L5 Health
1
---
---
M

Model-5:
This model occurs once per satellite (Num_Sats_Total times)
GANSS Almanac Model Using GLONASS Keplerian Parameters 
NA
11
1
days
M
nA
5
1
---
M
HnA
5
1
---
M
nA
21
2-20
semi-circles
M
tnA
21
2-5
seconds
M
inA
18
2-20
semi-circles
M
TnA
22
2-9
seconds/orbit period
M
T_DOTnA
7
2-14
seconds/orbit period2
M
nA
15
2-20
---
M
nA
16
2-15
semi-circles
M
nA
10
2-18
seconds
M
CnA
1
1
---
M
MnA
2
1
---
O
Model-6:
This model occurs once per satellite (Num_Sats_Total times)
GANSS Almanac Model Using SBAS ECEF Parameters 
Data ID
2
1
--
M
SV_ID
6
--
--
M
Health
8
--
--
M
XG
15
2600
meters
M
YG
15
2600
meters
M
ZG
9
26000
meters
M
XG Rate-of-Change
3
10
meters/sec
M
YG Rate-of-Change
3
10
meters/sec
M
ZG Rate-of-Change
4
40,96
meters/sec
M
t0
11
64
seconds
M
Model-7:
This model occurs once per satellite (Num_Sats_Total times)
GANSS Almanac Model Using BDS Keplerian Parameters 
SV_ID

--

M
toa
8
212
seconds
O(note 2)
A1/2
24
2-11
meters1/2
M
e
17
2-21
--
M

24
2-23
semi-circles
M
M0
24
2-23
semi-circles
M
0
24
2-23
semi-circles
M
_dot
17
2-38
semi-circles/sec
M
i
16
2-19
semi-circles
M
a0
11
2-20
seconds
M
a1
11
2-38
sec/sec
M
Hea 
9
--
--
O (note 3)
NOTE 2:	This field may be present if the toa is not the same for all SVs; otherwise it is not present and the toa is provided in GANSSAlmanacModel
NOTE 3:	This IE is mandatory present if the IE "SV ID" is between 0 and 29 and not needed otherwise.

Num_Sats_Total
This field specifies the total number of satellites in GANSS Almanac Model.
Range:	1 - 36
Week Number
This field specifies the Almanac reference week number in GNSS specific system time to which the Almanac Reference Time Toa is referenced, modulo 256 weeks. If Toa is not included in GANSS Almanac Model, the MS shall ignore the Week Number.
Range:	0 - 255
NOTE:	In case of Galileo, the almanac reference week number WNa natively contains only the 2 LSB's [11, section 5.1.10].
Toa
This field specifies the Almanac Reference Time common to all satellites in GANSS Almanac Model Using Keplerian Parameters given in GNSS specific system time. 
Range:	0 - 255
In case of GNSS-ID does not indicate Galileo, the scale factor is 212 seconds. In case of GNSS-ID does indicate Galileo, the scale factor is 600 seconds.
NOTE:	Range extension of Toa may be present in the GANSS Almanac Model Extension-R12 element (Table A.55.25), if GANSS-ID indicates Galileo.
IODa
This field specifies the Issue-Of-Data common to all satellites in GANSS Almanac Model using Keplerian Parameters.
Range:	0 - 3
NOTE:	Range extension of IODa may be present in the GANSS Almanac Model Extension-R12 element (Table A.55.25), if GANSS-ID indicates Galileo.
SV_ID
This field identifies the satellite for which the GANSS Almanac Model is given. The interpretation of SV ID is defined in Table A.10.14.
Range: 	0 - 63
SV Status INAV
This field contains the I/NAV health status bits [11, section 5.1.10].
SV Status FNAV
This field contains the F/NAV health status bits [11, section 5.1.10]. If the MS is supporting multiple Galileo signals, the SMLC shall include this field.
GANSS UTC Model
The GANSS UTC Model field contains a set of parameters needed to relate GNSS system time to Universal Time Coordinate (UTC). All of the fields in the GANSS UTC Model are mandatory when the field is present. The UTC time standard, UTC(k), is GNSS specific. E.g., if GANSS ID indicates QZSS, GANSS UTC Model field contains a set of parameters needed to relate QZST to UTC(NICT).
Table A.55: GANSS UTC Model (Model-1)
Parameter
# Bits
Scale Factor
Units
Incl.
A1
24
2-50
sec/sec
C
A0
32
2-30
seconds
C
tot
8
212
seconds
C
WNt
8
1
weeks
C
tLS
8
1
seconds
C
WNLSF
8
1
weeks
C
DN
8
1
days
C
tLSF
8
1
seconds
C

GANSS Ephemeris Extension
The GANSS Ephemeris extension contains parameters designed to extend the time of applicability of the Ephemeris terms by the continuous addition of the delta ephemeris terms to the respective terms of the referenced ephemeris.
This message can provide extension information for every satellite for many days into the future; doing so may create a large message, thus care must be taken to consider the transport bandwidth.  The SMLC can limit the duration of the extension to decrease the message size.  For example if the extension duration is limited to twelve hours the payload will be approximately 2,000 octets, for a typical 27 satellite constellation.
Table A.55.2: GANSS Ephemeris Extension
Parameter
# Bits
Scale Factor
Units
Incl.
ganssEphemerisHeader
See Table A.55.3
---
O
ganssReferenceSet
See Table A.55.5
---
O
ganssEphemerisDeltaMatrix
List of GANSSEphemerisDeltaEpochs
O

Table A.55.3: GANSS Ephemeris Header
Parameter
# Bits
Scale Factor
Units
Incl.
GANSS Ephemeris Extension (Once per message)
timeAtEstimation
See Table A.55.4
---
M
validityPeriod
3
1
Hours
M
ephemerisExtensionDuration
9
1
Hours
M

Time at Estimation
The Time at Estimation provides the GANSS time at which the ephemeris extensions were created. 
Table A.55.4: Time at Estimation
Parameter
# Bits
Scale Factor
Units
Incl.
GANSS Day of Estimation
13
1
Day
M
GANSS TOD of Estimation
17
1
Seconds
M

GANSS Day of Estimation
This field specifies the sequential number of days (with day count starting at 0) from the origin of the GNSS system time indicated by GANSS_TIME_ID modulo 8192 days (about 22 years) of the time that the estimation was determined. The GNSS system time origin is defined in Table A.34 for each GANSS.
Range: 	0 - 8191 days
GANSS TOD of Estimation
Integer number of GANSS TOD seconds within the current day of the time that the estimation was determined.
Range: 	0 - 86399 s.
Validity Period
The validityPeriod indicates the validity period of the GANSS Reference Set. It also indicates the default validity period of each individual delta ephemeris packet in the case that the individual validityPeriod is not present in the GANSS Delta Epoch Header (see Table A.55.8). It is the length of time that the GANSS Reference Set is intended to last and, if applicable, it is the length of time that the ephemeris constructed by application of the delta is intended to last.
Range: 	1 – 8 hours.
Ephemeris Extension Duration
The Ephemeris Extension duration indicates the total block of time measured in units of hours that the extended ephemeris covers.
Range: 	1 - 512 Hours.
The ganssEphemeris header is mandatory only once in the delivery of the GANSS Ephemeris Extension message
GANSS Reference Set
Table A.55.5: GANSS Reference Set 
Parameter
Presence
Note
GANSS Reference Orbit
M
See Table A.55.6

GANSS Reference Orbit
Table A.55.6: GANSS Reference Orbit
Parameter
# Bits
Scale Factor
Units
Incl.
svID
6
1
---
M
ganssOrbitModel
See Table A.29.g
--
M
ganssClockModel
See Table A.49.1
--
M

SvID
The satellite vehicle ID identifying to which satellite the following orbital and clock model apply. The interpretation of SV ID is defined in Table A.10.14.
GANSS OrbitModel
This field is a structure that contains the Reference Nav Model (see Table A.29.g) satellite orbit information upon which all subsequent delta information will be applied to create the next ephemeris for use in navigation.
GANSS ClockModel
This field is a structure that contains the satellite clock model upon which all subsequent clock information will be applied to create the next clock model for use in navigation.
GANSA Ephemeris Delta Matrix
GANSS Ephemeris Delta Matrix is a list of GANSS Ephemeris Delta Epochs.  Each epoch is indicated by a unique seqNum. Each epoch corresponds to a specific update interval and contains a delta epoch header and ephemeris delta elements for all PRNs for that epoch.
GANSS Ephemeris Delta Epoch
Table A.55.7: GANSS Ephemeris Delta Epoch
Parameter
Note
Incl.
ganssDeltaEpochHeader
See Table A.55.8
O
ganssDeltaElementList
List of GANSS Ephemeris Delta Elements
M

GANSS Delta Epoch Header
Table A.55.8: GANSS Delta Epoch Header
Parameter
# Bits
Scale Factor
Units
Incl.
validityPeriod
3
1
Hours
O
ephemerisDeltaSizes
See Table A.55.9
O
ephemerisDeltaScales
See Table A.55.10
O

Validity Period
The validityPeriod indicates the validity period of each individual delta ephemeris packet.  It is the length of time that the ephemeris constructed by application of the delta is intended to last. If not present then the default validityPeriod in the GANSS Ephemeris Header IE applies (see Table A.55.3).
Range: 	1 – 8 hours.
Ephemeris Delta Sizes
This field is a structure that indicates the bit sizes for all the fields in the GANSS Ephemeris Delta structure
Table A.55.9: GANSS Ephemeris Delta Sizes
Parameter
# Bits
Scale Factor
Units
Incl.
bitSize_delta_
5
1
---
M
bitSize_delta_n
4
1
---
M
bitSize_delta_M0
5
1
---
M
bitSize_delta_OMEGAdot
5
1
---
M
bitSize_delta_e
5
1
---
M
bitSize_delta_Idot
4
1
---
M
bitSize_delta_sqrtA
5
1
---
M
bitSize_delta_i0
5
1
---
M
bitSize_delta_OMEGA0
5
1
---
M
bitSize_delta_Crs
4
1
---
M
bitSize_delta_Cis
4
1
---
M
bitSize_delta_Cus
4
1
---
M
bitSize_delta_Crc
4
1
---
M
bitSize_delta_Cic
4
1
---
M
bitSize_delta_Cuc
4
1
---
M
bitSize_delta_tgd1
4
1
---
M
bitSize_delta_tgd2
4
1
---
M

Ephemeris Delta Scales
This field is a structure that indicates the scale factor modifiers for all the fields in the GANSS Ephemeris Delta structure.
Table A.55.10: GANSS Ephemeris Delta Scales
Parameter
# Bits
Scale Factor
Units
Incl.
scale_delta_
5
1
---
M
scale_delta_n
5
1
---
M
scale_delta_M0
5
1
---
M
scale_delta_OMEGAdot
5
1
---
M
scale_delta_e
5
1
---
M
scale_delta_Idot
5
1
---
M
scale_delta_sqrtA
5
1
---
M
scale_delta_i0
5
1
---
M
scale_delta_OMEGA0
5
1
---
M
scale_delta_Crs
5
1
---
M
scale_delta_Cis
5
1
---
M
scale_delta_Cus
5
1
---
M
scale_delta_Crc
5
1
---
M
scale_delta_Cic
5
1
---
M
scale_delta_Cuc
5
1
---
M
scale_delta_tgd1
5
1
---
M
scale_delta_tgd2
5
1
---
M

GANSS Delta Element List
GANSS Delta Element List is a list of GANSS Ephemeris Delta Elements
Ephemeris Delta Element
Each GANSS Ephemeris Delta element is uniquely identified by the pair (seqNum, sv_ID) and it is defined as a structure as shown in table A.55.11. The MS should parse the octet string according to the fields specified in table A.55.4. Each element in table A.55.4 but for seqNum and sv_ID should be treated as a signed integer.  Each Ephemeris delta is transmitted as an octet string of up to 49 octets.  The actual number of octets is determined by the size of the bit fields in the GPS_Ephemeris_Delta_Sizes table (table A.55.9).  Each set of up to 49 octets represents a single extension for a single satellite vehicle.  Each set encodes the satellite vehicle ID and the sequence number.  The sequence number specifies the order in which the individual ephemeris extension elements are assembled as time marches forward to create the next ephemeris.  The sequence number is the same for all satellite vehicle IDs for a particular update period.
Table A.55.11: GANSS Ephemeris Delta Element
Parameter
# Bits
Default # Bits
Scale Factor
Default Scale
Units
Incl.
sequenceNum
7

1
1
---
M
svID
6

1
1
---
M
delta_
1..32 (1)
21
2-16*2-31 .. 215*2-31 (2) 
2-31 
semi-circles
M
delta_n
1..16 (1)
12
2-16*2-43 .. 215*2-43 (2)
2-43 
semi-circles/sec
M
delta_M0
1..32 (1)
21
2-16*2-31 .. 215*2-31 (2)
2-31 
semi-circles
M
delta_OMEGAdot
1..24 (1)
13
2-16*2-43 .. 215*2-43 (2)
2-43 
semi-circles/sec
M
delta_e
1..32 (1)
18
2-16*2-33 .. 215*2-33 (2)
2-33 
---
M
delta_Idot
1..14 (1)
11
2-16*2-43 .. 215*2-43 (2)
2-43 
semi-circles/sec
M
delta_sqrtA
1..32 (1)
14
2-16*2-19 .. 215*2-19 (2)
2-19 
meters1/2
M
delta_i0
1..32 (1)
14
2-16*2-31 .. 215*2-31 (2)
2-31 
semi-circles
M
delta_OMEGA0
1..32 (1)
14
2-16*2-31 .. 215*2-31 (2)
2-31 
semi-circles
M
delta_Crs
1..16 (1)
12
2-16*2-5 .. 215*2-5 (2)
2-5 
meters
M
delta_Cis
1..16 (1)
11
2-16*2-29 .. 215*2-29 (2)
2-29 
radians
M
delta_Cus
1..16 (1)
12
2-16*2-29 .. 215*2-29 (2)
2-29 
radians
M
delta_Crc
1..16 (1)
12
2-16*2-5 .. 215*2-5 (2)
2-5 
meters
M
delta_Cic
1..16 (1)
11
2-16*2-29 .. 215*2-29 (2)
2-29 
radians
M
delta_Cuc
1..16 (1)
12
2-16*2-29 .. 215*2-29 (2)
2-29 
radians
M
delta_tgd1
1..16 (1)
2
2-16*2-31 .. 215*2-31 (2)
2-31 
seconds
M
delta_tgd2
1..16 (1)
2
2-16*2-31 .. 215*2-31 (2)
2-31 
seconds
M

(1)	The number of bits of each signed integer field is variable and it is indicated once for all numEphemerisDeltas by the structure ephemerisDeltasSizes.  When the ephemerisDeltaSizes field is not present, the values found in the columns "Default # Bits" shall be used.
(2)	The scale factor of each parameter is variable around the default scale factor. The variation for each field is indicated once for all numEphemerisDeltas by the structure ephemerisDeltasScales. For example, if the scale factor modifier for delta_omega has a value of 4, the scale factor for delta_omega is 24 * 2-31.  When the ephemerisDeltaScales is not used, the values found in the column "Default Scale" shall be used.
sequenceNum
This field indicates the order of the Ephemeris delta terms.  The ephemeris constructed for use in satellite positioning is built by adding the delta terms to the referenced GANSS_Navigation Model in the order dictated by this sequence number.  The sequence number shall remain the same for each svID in a group of Ephemeris Deltas corresponding to a particular update epoch.
svID
This field identifies the satellite ID within a particular sequenceNum.
These fields, with the exception of sequenceNum and svID, specify the deltas to be added to the existing Ephemeris to create a new Ephemeris suite that is extended from its predecessor by the time provided in the "validityPeriod" parameter. To compute the time of ephemeris for the newly constructed ephemeris, validityPeriod is added to the preceding toe.  The ephemeris time of clock (toc) is set equal to the toe.
For each of the other ephemeris terms the corresponding delta ephemeris term is added in order to create the updated ephemeris. The terms delta_M0, delta_i0, and delta_OMEGA0 of the delta ephemeris must be extrapolated prior to the addition of the delta terms as follows:

Where  is the WGS 84 value of the earth's gravitational constant for GANSS user, and A(i) is the semi-major axis associated with this satellite's update. The extrapolation of delta_M0, uses the prior set's sqrtA term to compute A(i) .

OMEGA0(i+1)=OMEGA0(i) +deltaOMEGA0(i)+OMEGAdot(i)*dt
i0 (i+1) = i0(i) + delta_i0(i)+Idot(i) * dt 
Where dt is equal to validityPeriod*3600. The terms af0, and af1 from the GANSS clock model must be extrapolated as follows:
af0(i+1) = af0(i) + af1(i)* dt + af2(i)*dt2
af1(i+1) = af1(i) + 2 * af2(i) * dt
af2(i+1) = af2(i)
Where af0, af1, and af2 are the clock model terms as shown in table A.49.1.
The following demonstrates the application of the ephemeris extension technique. Assume the validityPeriod = 5, representing: (5+1)hours = 6 hours, and the GANSS Navigation model for a particular satellite, identified by the reference IOD has a toe = 0 seconds.
The toe for sequenceNumber 1 is computed by adding the validityPeriod to the initial toe of 0 as 0 + 6 hours =0 + 21600 seconds.  The new ephemeris is constructed by adding the delta ephemeris terms from set 1 to the reference ephemeris creating the new ephemeris, which will be used for the next six hours. For the five terms listed above (delta_M0, delta_i0, delta_OMEGA0, af0, and af1) the extrapolation described must occur prior to the addition of the delta term. Of course if one of these three delta ephemeris terms was provided in full via the exception table then the extrapolation is unnecessary and the exception term combined with the delta_ephemeris term is used directly.
The next ephemeris computation will occur by adding the validityPeriod to the current toe of 21600 as: 21600 + 6 hours = 21600 + 21600 = 43200. The ephemeris delta terms from set two are added to the ephemeris resulting from the prior addition to create the next ephemeris. This is done for each satellite vehicle ID listed in the provided satellite list indicated in the ganssSatRef field.
GANSS Ephemeris Extension check
The GANSS Ephemeris Extension check provides information about non foreseen events that occurred during the period starting at the ganssBeginTime to the current time. An event is signified through a bit string . Each bits refers to one PRN. If a bit is set to one, this means that the ephemeris extension is no longer valid for this specific PRN.  In order to indicate planned future manuvers an end time is provided.  The SMLC can indicate that a future event is planned between the current time and the end time of this ephemeris extension.
Table A.55.12: Ephemeris Extension check
Parameter
Presence
Note
ganssBeginTime
M
See Table A.55.13
ganssEndTime
M
See Table A.55.14
ganssSatEventsInfo
M
See Table A.55.15

GANSS Begin Time
The GANSS begin time corresponds to the GANSS Day and GANSS Seconds of Estimation of the ephemeris extensions block.
Table A.55.13: GANSS Begin Time
Parameter
# Bits
Scale Factor
Units
Incl.
GANSS Day
13
1
Day
M
GANSS TOD
17
1
Seconds
M

GANSS End Time
The GANSS end time represents the final time the Ephemeris extension is valid.
Table A.55.14: GANSS End Time
Parameter
# Bits
Scale Factor
Units
Incl.
GANSS Day
13
1
Day
M
GANSS TOD
17
1
Seconds
M

GANSS Sat Event Information
This IE is designed to indicate events that have or may occur between the ganssBeginTime and the ganssEndTime. 
Table A.55.15: GANSS Sat Event Information
Parameter
# Bits
Scale Factor
Units
Incl.
EventOccurred
64
-
-
M
FutureEventNoted
64
-
-
M

EventOccurred
FutureEventNoted
If a bit is set in the futureEventNoted field it indicates that a maneuver is planned during the time period between current time plus sixty minutes and ganssEndTime
SBAS ID
If GANSS ID indicates SBAS, this field defines the specific SBAS for which the GANSS specific assistance data are provided according to Table A.55.16. 
Table A.55.16: SBAS ID
SBAS
Value of SBAS ID
WAAS
0
EGNOS
1
MSAS
2
GAGAN
3
Reserved
4-7

GANSS Additional UTC Model
The GANSS Additional UTC Model field contains several sets of parameters needed to relate GNSS system time to Universal Time Coordinate (UTC), as defined in [12, 13, 14, 15, 16, 17]. Only one parameter set can be included in one GANSS Additional UTC Model and which set of parameters to include depends on the GANSS-ID and MS capabilities.
The UTC time standard, UTC(k), is GNSS specific. E.g., if GANSS ID indicates QZSS, GANSS Additional UTC Model field contains a set of parameters needed to relate QZST to UTC(NICT). If GANSS ID indicates Modernized GPS, GANSS Additional UTC Model field contains a set of parameters needed to relate GPS system time to UTC(USNO). If GANSS ID indicates GLONASS, GANSS Additional UTC Model field contains a set of parameters needed to relate GLONASS system time to UTC(RU). If GANSS ID indicates SBAS, GANSS Additional UTC Model field contains a set of parameters needed to relate SBAS network time for the SBAS indicated by SBAS ID to the UTC standard defined by the UTC Standard ID. If GANSS ID indicates BDS, GANSS Additional UTC Model field contains a set of parameters needed to relate BDS system time to UTC (NTSC).
Table A.55.17: GANSS Additional UTC Model 
Parameter
# Bits
Scale Factor
Units
Incl.
One of the following models can be included:
Model-2 (as defined in [12,13,14,16])
A0-n
16
2-35
seconds
C(1)
A1-n
13
2-51
sec/sec
C(1)
A2-n
7
2-68
sec/sec2
C(1)
tLS
8
1
seconds
C(1)
tot
16
24
seconds
C(1)
WNot
13
1
weeks
C(1)
WNLSF
8
1
weeks
C(1)
DN
4
1
days
C(1)
tLSF
8
1
seconds
C(1)
Model-3 (as defined in [17])
NA
11
1
days
C(1)
c
32
2-31
seconds
C(1)
B1
11
2-10
seconds
O(2)
B2
10
2-16
sec/msd
O(2)
KP
2
1
---
O
Model-4 (as defined in [15], Message Type 12)
A1WNT
24
2-50
sec/sec
C(1)
A0WNT
32
2-30
seconds
C(1)
tot
8
212
seconds
C(1)
WNt
8
1
weeks
C(1)
tLS
8
1
seconds
C(1)
WNLSF
8
1
weeks
C(1)
DN
8
1
days
C(1)
tLSF
8
1
seconds
C(1)
UTC Standard ID
3
1
---
C(1)
Model-5 (as defined in [18])
A0UTC
32
2-30
Seconds
C(1)
A1UTC
24
2-50
sec/sec
C(1)
tLS
8
1
Seconds
C(1)
WNLSF
8
1
Weeks
C(1)
DN
8
1
Days
C(1)
tLSF
8
1
Seconds
C(1)
Note 1: All of these fields shall be present together, or none of 
them shall be present.
Note 2: If the optional elements are included, both elements shall be included.

UTC Standard ID 
If GANSS ID indicates SBAS, this field indicates the UTC standard used for the SBAS network time indicated by SBAS ID to UTC relation as defined in Table A.55.18 ( [15], Message Type 12).
Table A.55.18: UTC Standard ID
UTC Standard
Value of UTC Standard ID
UTC as operated by the Communications Research Laboratory (CRL), Tokyo, Japan
0
UTC as operated by the National Institute of Standards and Technology (NIST)
1
UTC as operated by the U. S. Naval Observatory (USNO)
2
UTC as operated by the International Bureau of Weights and Measures (BIPM)
3
Reserved for future definition
4-7

GANSS Auxiliary Information
This field contains additional information dependent on the GANSS ID and is shown in Table A.55.19. If GANSS Auxiliary Information is provided together with other satellite dependent GANSS assistance data (i.e., any of DGANSS Corrections, GANSS Navigation Model, GANSS Data Bit Assistance, or GANSS Reference Measurement Information IEs) and RRLP pseudo-segmentation is used, the GANSS Auxiliary Information should be provided for the same satellites and in the same RRLP segment as the other satellite dependent GANSS assistance data.
Table A.55.19: GANSS Auxiliary Information Parameter Format
Parameter
Range
Bits
Resolution
Incl.
One of the following group of elements can be included, dependent on the GANSS ID
The following fields may only be present if GANSS ID indicates Modernized GPS and occur once per satellite (N_SAT times):
SV ID
0-63
6
---
M
Signals Available
Table A.59
8
---
M
The following fields may only be present if GANSS ID indicates GLONASS and occur once per satellite (N_SAT times):
SV ID
0-63
6
---
M
Signals Available
Table A.59
8
---
M
Channel number
-7 – 13
5
---
M

SV_ID
This field specifies the SV for which the GANSS Auxiliary Information is given. The interpretation of SV ID is defined in Table A.10.14.
Range: 	0 – 63
Signals Available
This field indicates the ranging signals supported by the satellite indicated by SV ID. This field is given as a bit string as shown in Table A.59 for a particular GANSS. If a bit is set to '1' it indicates that the satellite identified by SV ID transmits ranging signals according to the signal correspondence in Table A.59. If a bit is set to '0' it indicates that the corresponding signal is not supported on the satellite identified by SV ID. 
Channel number
This field indicates the GLONASS carrier frequency number of the satellite identified by SV ID, as defined in [17].
DGANSS Corrections Validity Period
This element is an extension to the DGANSS Corrections IE and provides the validity period of the differential corrections for each satellite and signal included in the DGANSS Corrections IE (see Table A.43). This element may only be included if the DGANSS Corrections IE is included in the GANSS Generic Assistance Data element. 
Table A.55.20: DGANSS Corrections Validity Period
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
N_SGN_TYPE
2
1
1-3
---
M
The following fields occur once per GANSS signal type (N_SGN_TYPE times)
GANSS_Signal_ID
3
---
---
---
M
N_SAT
4
1
1-16
---
M
The following fields occur once per satellite (N_SAT times)
SV_ID
6
---
0-63
--
M
UDRE Growth Rate
3
---
0-7
---
M
Time of Validity for UDRE Growth Rate
3
---
0-7
---
M

N_SGN_TYPE
This field indicates the number of GNSS signal types included in DGANSS Corrections Validity Period IE. This field shall be set to the same value as the N_SGN_TYPE parameter in the DGANSS Corrections element in Table A.43. 
GANSS_Signal_ID
DGANSS corrections validity period are provided per GNSS signal type identified by GANSS_Signal_ID. The supported signals are listed in Table A.59. This field shall be set to the same value as the GANSS_Signal_ID parameter in the DGANSS Corrections element in Table A.43.
N_SAT
This field indicates the number of satellites for which differential corrections validity period is available. This field shall be set to the same value as the N_SAT parameter in the DGANSS Corrections element in Table A.43. 
SV_ID
This field identifies the satellite for which the corrections validity period is applicable. The interpretation of SV ID is defined in Table A.10.14. The UDRE Growth Rate and Time of Validity for UDRE Growth Rate IEs shall be included for the same SV_IDs as the differential corrections in Table A.43 are provided.
UDRE Growth Rate
This field provides an estimate of the growth rate of uncertainty (1-) in the corrections for the particular satellite identified by SV_ID. The estimated UDRE at time value specified in the "Time of Validity for UDRE Growth Rate" t1 is calculated as follows:
UDRE(t0+t1) = UDRE(t0)  UDRE Growth Rate
where t0 is the DGANSS Reference Time for which the corrections in Table A.43 are valid, t1 is the "Time of Validity for UDRE Growth Rate" field as shown in Table A.55.21, UDRE(t0) is the User Differential Range Error field as provided in Table A.43, and "UDRE Growth Rate" field is the factor as shown in Table A.55.21.
Table A.55.21: Values of UDRE Growth Rate IE
Value
Indication
000
1,5
001
2
010
4
011
6
100
8
101
10
110
12
111
16

Time of Validity for UDRE Growth Rate
This field specifies the time when the "UDRE Growth Rate" field applies. The meaning of the values for this field is described in Table A.55.21a.
Table A.55.21a: Time of Validity for UDRE Growth Rate IE
Value
Indication
[seconds]
000
20
001
40
010
80
011
160
100
320
101
640
110
1280
111
2560

GANSS Time Model Extension
This element is an extension to the GANSS Time Model  IE and is shown in Table A.55.22. If GANSS Time Model is provided by the SMLC, the GANSS Time Model Extension shall also be provided. 
NOTE:	For reasons of backward compatibility, this IE is not defined for a Release 9 or earlier SMLC and would be ignored, when received, by a Release 9 or earlier MS. This means that when the element is expected but is not received, the SMLC is Release 9 or earlier.
Table A.55.22: GANSS Time Model Extension
Parameter
# Bits
Scale Factor
Range
Units
Incl.
GNSS_TO_ID
3
---
---
---
M
Delta T
8
1
-128 - 127
seconds
M 

GNSS_TO_ID
This field is the same as defined in Table A.41 and specifies GNSS for which the GANSS Time Model Extension is provided.
Delta T
This field specifies the integer seconds of the GNSS-GNSS Time Offset provided in the GANSS Time Model in Table A.41.
GANSS Reference Measurement Extension
This element is an extension to the GANSS Reference Measurement Information IE and is shown in Table A.55.23. If GANSS Reference Measurement Information is provided by the SMLC, the GANSS Reference Measurement Extension shall also be provided. 
NOTE:	For reasons of backward compatibility, this IE is not defined for a Release 9 or earlier SMLC and would be ignored, when received, by a Release 9 or earlier MS. This means that when the element is expected but is not received, the SMLC is Release 9 or earlier.
Table A.55.23: GANSS Reference Measurement Extension
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
Num_Sat
4
1
0-15
---
M
The following fields occur once per satellite (Num_Sat times)
SV_ID
6
---
0-63
--
M
Azimuth LSB
4
0,703125
0-10,546875
degrees
M
Elevation LSB
4
0,703125
0-10,546875
degrees
M

Num_Sat
This field indicates the number of satellites for which GANSS Reference Measurement is provided. This field shall be set to the same value as the Num_Sat parameter in the GANSS Reference Measurement Information element in Table A.52. 
SV_ID
This field identifies the satellite for which the GANSS Reference Measurement is provided. This field shall be set to the same value as the SV_ID field in Table A.52.
Azimuth LSB
This field specifies the 4 least significant bits of the satellite azimuth angle. The 5 most significant bits are provided in the Azimuth field in Table A.52. The full satellite azimuth is constructed as "Azimuth"  11,.25 + "Azimuth LSB"  0,703125 degrees. 
Elevation LSB
This field specifies the 4 least significant bits of the satellite elevation angle. The 5 most significant bits are provided in the Elevation field in Table A.52. The full satellite elevation is constructed as "Elevation"  11,25 + "Elevation LSB"  0,703125 degrees. 
GANSS Almanac Model Extension
This element is an extension to the GANSS Almanac Model IE and is shown in Table A.55.24. If GANSS Almanac Model is provided by the SMLC, the GANSS Almanac Model Extension shall also be provided. 
NOTE:	For reasons of backward compatibility, this IE is not defined for a Release 9 or earlier SMLC and would be ignored, when received, by a Release 9 or earlier MS. This means that when the element is expected but is not received, the SMLC is Release 9 or earlier.
Table A.55.24: GANSS Almanac Model Extension
Parameter
# Bits
Scale Factor
Range
Units
Incl.
Complete Almanac Provided
1
---
---
Boolean
M

Complete Almanac Provided
This field indicates whether the SMLC provided Almanac for the full GANSS constellation or not. TRUE means complete GANSS almanac is provided.
GANSS Almanac Model Extension-R12
This element is an extension to the GANSS Almanac Model IE and is shown in Table A.55.25. It is used only if GANSS-ID is Galileo in this version of protocol.
Table A.55.25: GANSS Almanac Model Extension-R12
Parameter
# Bits
Scale Factor
Units
Incl.
Toa-Ext
10
600 
s
O (note 1)
IODa-Ext
4
--
--
O (note 2)
NOTE 1: 	If Toa in GANSS Almanac Model element (Table A.54) is present, this field shall not be present.
NOTE 2: 	If IODa in GANSS Almanac Model element (Table A.54) is present, this field shall not be present.

Toa-Ext
This field specifies the Almanac Reference Time common to all satellites in GANSS Almanac Model using Keplerian Parameters given in GNSS specific system time. 
Range:	256 - 1023
In case of GNSS-ID does indicate Galileo, the scale factor is 600 seconds.
IODa-Ext
This field specifies the Issue-Of-Data common to all satellites in GANSS Almanac Model using Keplerian Parameters.
Range:	4 - 15
GANSS Reference Measurement Extension-R12
This element is an extension to the GANSS Reference Measurement Information IE and is shown in Table A.55.25.a. The SMLC should include this field only if supported by the MS.
Table A.55.25.a: GANSS Reference Measurement Extension-R12
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
GANSS_Signal_ID
3
---
0-7
---
M
Confidence
7
1
0-100
percent
O
Num_Sat
4
1
0-15
---
O
The following fields, if included, occur once per satellite (Num_Sat times)
SV_ID
6
---
0-63
--
M
Doppler Uncertainty Extension
3
---
60, 80, 100, 120, 'No Information'
m/s
M

GANSS_Signal_ID
This field specifies the GNSS signal type. The supported signals are listed in Table A.59.
Confidence
This field specifies the confidence level of the reference location area or volume used to calculate the GANSS Reference Measurement parameters (search windows). A high percentage value (e.g., 98% or more) indicates to the MS that the provided search windows are reliable. The SMLC should include this field to indicate the confidence level of the provided information.
Range: 	0 – 100
Num_Sat
This field indicates the number of satellites for which GANSS Reference Measurement Extension-R12 is provided. 
SV_ID
This field identifies the satellite for which the GANSS Reference Measurement Extension-R12 is provided. 
Doppler Uncertainty Extension
If this field is present, the MS that supports this field shall ignore the Doppler Uncertainty (Table A.52) field. This field specifies additional Doppler uncertainty values. It is defined such that the Doppler experienced by a stationary MS is in the range [Doppler-Doppler Uncertainty Extension] to [Doppler+Doppler Uncertainty Extension]. Doppler Uncertainty Extension is given in unit of m/s by multiplying the Doppler Uncertainty Extension value in Hz by the nominal wavelength of the assisted signal.
Enumerated values define 60 m/s, 80 m/s, 100 m/s, 120 m/s, and "No Information". 
DBDS Corrections
These fields specify the DBDS corrections to be used by the MS.
Table A.55.25.b: DBDS Corrections
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
The following fields occur once per message
N_SGN_TYPE
2
1
1 - 3
---
M
DBDS Reference Time
12
1
0 - 3599
seconds
M
The following fields occur once per GANSS signal type (N_SGN_TYPE times)
N_SAT
6
1
1 - 64
---
M
DBDS Signal ID
3
---
---
---
M
The following fields occur once per satellite (N_SAT times)
SV_ID
6
---
0 - 63
---
M
UDREI
4
---
0 - 15
---
M
RURAI

4
---
0 - 15
---
M
Delta T
13
0.1
-409.5 – 409.5 
meters
M

DBDS Reference Time
This field indicates the baseline time for which the DBDS corrections are valid as modulo 3600 s. DBDS Reference Time is given in BDS system time. 
Range: 	0 - 3599 s
DBDS Signal_ID
DBDS corrections are provided per BDS signal type identified by BDS Signal_ID. The supported signals are listed in Table A.59.
UDREI
UDRE is used to describe the error of equivalent clock correction in meters. It is indicated by user differential range error index (UDREI). It occupies 4 bits for each satellite within the range of 1~15 and the update rate is 3 seconds. The corresponding relationship between UDRE and UDREI is shown in A.55.26. 
Table A.55.26:  UDREI definitions
UDREI
UDRE
（meters, 99.9％）
0
1
1
1.5
2
2
3
3
4
4
5
5
6
6
7
8
8
10
9
15
10
20
11
50
12
100
13
150
14
Not monitored
15
Not available

RURAI
Regional User Range Accuracy (RURA) is used to describe the satellite signal pseudo-range error in meters.The satellite signal integrity information is indicated with the Regional User Range Accuracy Index (RURAI). It occupies 4 bits for each satellite so the effective range of RURAI is 0 to 15. See Table A.55.27 for the corresponding relationship between RURAI and RURA.
Table A.55.27:  RURAI definitions
RURAI
RURA
（meters, 99.9%）
0
0.75
1
1
2
1.25
3
1.75
4
2.25
5
3
6
3.75
7
4.5
8
5.25
9
6
10
7.5
11
15
12
50
13
150
14
300
15
> 300.0

Delta_T
The BDS differential correction information is expressed in equivalent clock correction (Δt). It occupies 13 bits for each satellite with the unit and scale factor of meter and 0.1 respectively and is expressed with two's complement. The MSB is for the sign bit (+ or –). 

BDS Grid Model
The BDS Grid Model parameters are used to estimate the ionospheric distortions on pseudoranges as described in [18] on page 76. 
Table A.55.28: BDS Grid Model
Parameter
# Bits
Scale Factor 
Range
Units
Incl.
The following fields occur once per message
BDS Reference Time
12
1
0 - 3599
seconds
M
N_IGP
9
1
1 - 320(1)
-
M
The following fields occur once per IGP (N_IGP times(1))
IGP number
9
--
1…320
---
M
Vertical Delay
9
0.125
0 - 63.625
meters
M
GIVEI
4
--
--
--
M
NOTE 1: Up to 16 instances are used in this version of the specification. The values 17 to 320 are reserved for future use.

BDS Reference Time
This field indicates the baseline time for which the BDS Grid Model are valid as modulo 3600 s. BDS Reference Time is given in BDS system time. 
Range: 	0 - 3599 s
IGP number
This field indicates the ionospheric grid point (IGP) number as defined in [18].
Vertical DelayVertical delay is used to indicate the vertical ionosphere delay on B1I signal at the ith grid point, expressed in scale factor of 0.125 and with unit of meters. The effective range of vertical delay is between 0 to 63.625 meters.  
GIVEI
The grid ionosphere vertical error (GIVE) describes the delay correction accuracy at ionosphere grid points and is indicated with GIVEI. See Table A.55.29 for the relationship between GIVEI and GIVE.
Table A.55.29: GIVEI definitions
GIVEI
GIVE
 (meters, 99.9%)
0
0.3
1
0.6
2
0.9
3
1.2
4
1.5
5
1.8
6
2.1
7
2.4
8
2.7
9
3
10
3.6
11
4.5
12
6
13
9
14
15
15
45

A.4.2.7	GANSS Carrier-Phase Measurement Request Element
This element is optional and controls if the MS should return carrier-phase measurements in GANSS Measurement Information IE or not to the SMLC. The inclusion of this parameter implies use of measure Position Request. The description is found in sub-chapter 2.2.4d.
A.4.2.8	GANSS TOD - GSM Time Association Request Element
This element is optional and controls if the MS should return GANSS TOD - GSM Time Association Measurements or not to the SMLC. The inclusion of this parameter implies use of measure Position Request. The description is found in sub-chapter 2.2.4e.
A.5	Assistance Data Acknowledgement
A.5.1	General
The MS sends the Assistance Data Acknowledgement component to the SMLC to indicate that it has received the whole Assistance Data component.
A.6	Protocol Error
A.6.1	General
This component is used by the receiving entity (SMLC or MS) to indicate to the sending entity, that there is a problem that prevents the receiving entity to receive a complete and understandable component.
This component has the following values:
'0':	Undefined;
'1':	Missing Component;
'2':	Incorrect Data;
'3':	Missing Information Element or Component Element;
'4':	Message Too Short;
'5':	Unknown Reference Number.
A.6.2	Extended Reference IE
This IE shall be included in any Protocol Error message if and only if an Extended Reference IE was received in the corresponding previous Measure Position Request or Assistance Data message.
NOTE:	For reasons of backward compatibility, a Release 4 or earlier MS will not include this IE.
The Extended Reference IE contains the following elements.
SMLC code:	an integer in the range 0-63. The value returned by a target MS in a Protocol Error message shall equal the value received from the SMLC in the earlier Measure Position Request or Assistance Data message.
Transaction ID:	an integer in the range 0-262143 distinguishing different RRLP transactions in different MSs currently being served by the same SMLC. The value returned by a target MS in a Protocol Error message shall equal the value received from the SMLC in the earlier Measure Position Request or Assistance Data message.
A.7	Positioning Capability Request 
A.7.1	General
The SMLC sends the Positioning Capability Request component to the MS to request the MS positioning capabilities, types of assistance data supported and any assistance data that may be needed. It contains the following elements.
Table A.56: Positioning Capability Request component content
Element
Type/Reference
Presence
Extended Reference
Extended Reference 2.2.5
M
GANSS Position Method Parameters
GANSS Position Method Parameters, Table A.58
O

A.8	Positioning Capability Response 
A.8.1	General
The Positioning Capability Response is a RRLP component from the MS to the network. It is the response to the Positioning Capability Request. It contains the following elements.
Table A.57: Positioning Capability Response component content
Element
Type/Reference
Presence
Extended Reference
Extended Reference 2.2.5
M
Positioning Capabilities
Positioning Capabilities 8.2.1
M
Assistance Data Supported
Assistance Data Supported 8.2.2
O
Assistance Data Needed
Assistance Data Needed 8.2.3
O

A.8.2	Elements
A.8.2.1	Positioning Capabilities 
This element indicates the positioning methods and other positioning capabilities supported by the MS. The inclusion of this element is mandatory. 
The MS may indicate support for non-GANSS position methods and/or GANSS position methods. The MS indicates its support for non-GANSS position methods using a bit string with one bit representing each method, set to one if the method is supported and zero if it is not. The following Non-GANSS Position Methods can be identified:
-	MS Assisted E-OTD;
-	MS Based E-OTD;
-	MS Assisted GPS;
-	MS Based GPS;
-	Standalone GPS.
The MS indicates its support for GANSS position methods by providing the parameters shown in Table A.58 for each GANSS system supported.
Table A.58: GANSS Position Method Support
GANSS Position Method Parameters
GANSS_ID
GANSS Position Method Types
GANSS Signals
SBAS ID

GANSS_ID
Range: 	0 - 7
This field indicates the GANSS. The supported GANSS are defined in sub-clause A.4.2.6.2 (Table A.40). Absence of this field indicates Galileo.
GANSS Position Method Types
For each supported GANSS system, the MS shall and SMLC may indicate which method types are supported. This is represented using a bit string with one bit per method type where a one value indicates support and a zero value no support. The following GANSS Method Types can be identified:
-		MS Assisted;
-		MS Based;
-		Standalone.
GANSS Signals
For each supported GANSS system, the MS shall and SMLC may indicate which signals are supported. This is represented using a bit string with one bit per signal where a one value indicates support and a zero value no support.  The individual signals are denoted generically as signal1, signal2 etc. in the ASN.1 in clause 5.l. Table A.59 shows the signal correspondence for each defined GANSS system. Unfilled table entries indicate no assignment and shall either not be included or set to zero if included.
The GANSS Signal Correspondence in Table A.59 is also used when a single signal is addressed (e.g., when reporting GANSS measurements or providing GANSS assistance data). In this case, an Integer value is used to indicate the signal, and the values 0 to 7 correspond to GANSS Signal 1 to 8, respectively.
Table A.59: GANSS Signal Correspondence
GANSS System
Signal 1
Signal 2
Signal 3
Signal 4
Signal 5
Signal 6
Signal 7
Signal 8
Galileo
E1
E5a
E5b
E6
E5a+E5b



Modernized GPS
L1C
L2C
L5





SBAS
L1







QZSS
QZS-L1
QZS-L1C
QZS-L2C
QZS-L5




GLONASS
G1
G2
G3





BDS
B1I








SBAS_ID
If GANSS ID in Table A.58 indicates support for SBAS, this field shall be present to indicate support of specific SBAS using a bit map with one bit per SBAS where a one value indicates support and a zero value no support. 
Table A.59.a: SBAS ID Correspondence
Bit 0
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
WAAS
EGNOS
MSAS
GAGAN
reserved
reserved
reserved
reserved

The MS shall also indicate whether it supports multiple measurement sets for the MS Assisted position methods listed below. This is represented using a bit string with one bit representing each position method which is set to a one if multiple measurement sets are supported for that method and to a zero if not. The following MS Assisted Position Methods associated with Multiple Measurement Sets can be identified:
-	E-OTD;
-	GPS;
-	GANSS.
A.8.2.2	Assistance Data Supported
This element indicates the types of assistance data that the MS supports for GPS and GANSS and is shown in Table A.59.b.  
Table A.59.b: Assistance Data Supported
GANSS Position Method Parameters
GPS Assistance Data
GANSS Assistance Data
GANSS Additional Assistance Data Choices

GPS Assistance Data
In the case of GPS, support for each of the following types of assistance data can be individually indicated using a bit string in which a one value indicates support and a zero no support. The following GPS Assistance Indications can be identified:
-	Almanac;
-	UTC model;
-	Ionospheric Model;
-	Navigation Model;
-	DGPS Corrections;
-	Reference Location;
-	Reference Time;
-	Acquisition Assistance;
-	Real Time Integrity;
-	Ephemeris Extension;
-	Ephemeris Extension Check;
-	GPS Acquisition Assistance Extension-R12.
-	DBDS Corrections
-	BDS Grid Model
GANSS Assistance Data
In the case of GANSS, support for each of the following types of common assistance data is indicated using a bit string in which each bit represents one type of assistance data and is set to a one to indicate support and a zero to indicate no support. The following Common GANSS Assistance Indications can be identified:
-	GANSS Reference Time;
-	GANSS Reference Location;
-	GANSS Ionospheric Model; 
-	GANSS Additional Ionospheric Model;
-	GANSS Earth Orientation Parameters.
The MS indicates its support for assistance data specific to each GANSS system by providing the parameters shown in Table A.60 for each GANSS system supported.
Table A.60: GANSS Assistance Support
GANSS Assistance Parameters
GANSS_ID
GANSS Assistance

GANSS_ID
Range: 	0 - 7
This field indicates the GANSS. The supported GANSS are defined in sub-clause A.4.2.6.2 (Table A.40). Absence of this field indicates Galileo.
GANSS Assistance
Supported GANSS Assistance data is indicated using a bit string in which each bit represents one type of assistance data and is set to a one to indicate support and a zero to indicate no support. The following types of Specific GANSS Assistance Indications can be identified.
-	GANSS Real Time Integrity;
-	GANSS Differential Corrections;
-	GANSS Almanac;
-	GANSS Reference Measurement Information;
-	GANSS Navigation Model;
-	GANSS Time Model GNSS-UTC;
-	GANSS Time Model GNSS-GNSS;
-	GANSS Data Bit Assistance;
-	GANSS Ephemeris Extension;
-	GANSS Ephemeris Extension Check;
-	GANSS Additional UTC Model;
-	GANSS Auxiliary Information;
-	GANSS Reference Measurement Extension-R12.
GANSS Additional Assistance Data Choices
For GANSS Assistance Data elements for which multiple choices exist (GANSS Clock Model (Table A.49.1), GANSS Orbit Model (Table A.49.2), GANSS Almanac Model (Table A.54), and GANSS UTC Model/Additional UTC Model (Table A.55/A.55.17)) the MS and SMLC shall support the native formats choice as defined in the relevant ICDs for each GANSS signal. The MS can indicate which additional non-native choice(s) is(are) supported for a particular GANSS using a bit map with one bit per model where a one value indicates support and a zero value no support. Note that native support need not be indicated in this bit map.
Table A.61: GANSS Additional Assistance Data Choices
Parameter
#Bits
Type/Reference
Prsesence
The following fields occur once per GANSS (Num_GANSS times)
GANSS ID
3
Table A.40
O(1)
GANSS Clock Model Choice
8
Bit String –Table A.62
C(2)
GANSS Orbit Model Choice
8
Bit String –Table A.62
C(2)
GANSS Almanac Model Choice
8
Bit String –Table A.62
C(3)
GANSS UTC Model Choice
8
Bit String –Table A.62
C(4)
Note 1: Absence of this field indicates Galileo.
Note 2: These elements may only be present if GANSS Navigation Model support is indicated in GANSS Assistance.
Note 3: This element may only be present if GANSS Almanac support is indicated in GANSS Assistance.
Note 4: This element may only be present if GANSS Additional UTC Model support is indicated in GANSS Assistance.

Table A.62: Bit String of GANSS Additional Assistance Data Choices
Model 1
Model 2
Model 3
Model 4
Model 5
Model 6
Model 7
Model 8
The individual Models 1-8 are identified in Tables A.49.1, A.49.2, A.54, and A.55/A.55.17.
Non defined Models in Assistance Data Choices shall have the value '0' at the corresponding bit position.

A.8.2.3	Assistance Data Needed
This element indicates the types of assistance data that the MS may need to obtain a location estimate or positioning measurements. The MS shall use this IE to indicate to the SMLC all the supported assistance data types for which the MS does not have current versions using the assistance data request IEs defined in 3GPP TS 49.031. The SMLC can then decide which subset of these assistance data types if any to download. The IE is encoded using the request for assistance data IEs defined for GPS and GANSS in 3GPP TS 49.031, with the following exceptions:
Requested GPS Assistance Data (clause 10.10 in 3GPP TS 49.031): 
-	If the MS supports Navigation Model (Bit D), Ephemeris Extension (Bit J), and Ephemeris Extension Check (Bit K), all three bits D, J, and K can be set to value 1 if the MS has no current versions of these assistance data types. If bit D is set to value 1, the coding of octets 5 to 8+2n shall be according to Figure 10.10.2 in clause 10.10 of 3GPP TS 49.031. 
Requested GANSS Assistance Data (clause 10.31 in 3GPP TS 49.031): 
-	If the MS supports Navigation Model (Bit M), Ephemeris Extension (Bit N), and Ephemeris Extension Check (Bit R), all three bits M, N, and R can be set to value 1 if the MS has no current versions of these assistance data types. 
-	If the MS supports GANSS Ephemeris Extension (Bit N) and the MS has no current version of this assistance data type, bit N shall be set to value 1 but the corresponding extension octets in Figure 10.31.3d of 3GPP TS 49.031 shall be omitted. 
-	 If the MS supports GANSS Data Bit Assistance (Bit Q) and the MS has no current version of this assistance data type, bit Q shall be set to value 1 but the corresponding extension octets in Figure 10.31.3c of 3GPP TS 49.031 shall be omitted. 
-	If the MS supports GANSS Ephemeris Extension Check (Bit R) and the MS has no current version of this assistance data type, bit R shall be set to value 1 but the corresponding extension octets in Figure 10.31.3e of 3GPP TS 49.031 shall be omitted.
Annex B (informative):
Change History

Change history
Date
Meeting
TDoc
CR
Rev
Cat
Subject/Comment
New version
2016-01





Rel-13 version based on v12.3.0.
13.0.0
2017-12
RP-78
RP-172191
0233
-
A
ASN.1 syntax correction for GANSS
13.1.0

