forked from osmocom/wireshark
![Pascal Quantin](/assets/img/avatar_default.png)
Change-Id: Icf09e430a1732708ddd9e7abb49f7b1a6225afde Reviewed-on: https://code.wireshark.org/review/3526 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
1012 lines
32 KiB
Groff
1012 lines
32 KiB
Groff
-- SUPL.asn
|
|
-- Taken from OMA UserPlane Location Protocol
|
|
-- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ULP-V2_0_2-20140708-A.zip
|
|
--
|
|
-- 11.2 Message Specific Part
|
|
--
|
|
|
|
--
|
|
-- 11.2.1 SUPL INIT
|
|
--
|
|
|
|
SUPL-INIT DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS SUPLINIT, Notification;
|
|
|
|
IMPORTS
|
|
SLPAddress, QoP, PosMethod
|
|
FROM ULP-Components
|
|
Ver2-SUPL-INIT-extension
|
|
FROM ULP-Version-2-message-extensions
|
|
Ver2-Notification-extension
|
|
FROM ULP-Version-2-parameter-extensions;
|
|
|
|
SUPLINIT ::= SEQUENCE {
|
|
posMethod PosMethod,
|
|
notification Notification OPTIONAL,
|
|
sLPAddress SLPAddress OPTIONAL,
|
|
qoP QoP OPTIONAL,
|
|
sLPMode SLPMode,
|
|
mac MAC OPTIONAL, -- included for backwards compatibility
|
|
keyIdentity KeyIdentity OPTIONAL, -- included for backwards compatibility
|
|
...,
|
|
-- version 2 extension element
|
|
ver2-SUPL-INIT-extension Ver2-SUPL-INIT-extension OPTIONAL}
|
|
|
|
Notification ::= SEQUENCE {
|
|
notificationType NotificationType,
|
|
encodingType EncodingType OPTIONAL,
|
|
requestorId OCTET STRING(SIZE (1..maxReqLength)) OPTIONAL,
|
|
requestorIdType FormatIndicator OPTIONAL,
|
|
clientName OCTET STRING(SIZE (1..maxClientLength)) OPTIONAL,
|
|
clientNameType FormatIndicator OPTIONAL,
|
|
...,
|
|
ver2-Notification-extension Ver2-Notification-extension OPTIONAL}
|
|
|
|
NotificationType ::= ENUMERATED {
|
|
noNotificationNoVerification(0), notificationOnly(1),
|
|
notificationAndVerficationAllowedNA(2),
|
|
notificationAndVerficationDeniedNA(3), privacyOverride(4), ...}
|
|
|
|
EncodingType ::= ENUMERATED {ucs2(0), gsmDefault(1), utf8(2), ...}
|
|
|
|
maxReqLength INTEGER ::= 50
|
|
|
|
maxClientLength INTEGER ::= 50
|
|
|
|
FormatIndicator ::= ENUMERATED {
|
|
logicalName(0), e-mailAddress(1), msisdn(2), url(3), sipUrl(4), min(5),
|
|
mdn(6), iMSPublicidentity(7), ...}
|
|
|
|
SLPMode ::= ENUMERATED {proxy(0), nonProxy(1)}
|
|
|
|
MAC ::= BIT STRING(SIZE (64)) -- empty placeholder required for SUPL 1.0 backwards compatibility
|
|
|
|
KeyIdentity ::= BIT STRING(SIZE (128)) -- empty placeholder required for SUPL 1.0 backwards compatibility
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.2 SUPL START
|
|
--
|
|
SUPL-START DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS SUPLSTART, SETCapabilities;
|
|
|
|
IMPORTS
|
|
LocationId, QoP
|
|
FROM ULP-Components
|
|
Ver2-SUPL-START-extension
|
|
FROM ULP-Version-2-message-extensions
|
|
Ver2-SETCapabilities-extension, Ver2-PosProtocol-extension, Ver2-PosTechnology-extension
|
|
FROM ULP-Version-2-parameter-extensions;
|
|
|
|
SUPLSTART ::= SEQUENCE {
|
|
sETCapabilities SETCapabilities,
|
|
locationId LocationId,
|
|
qoP QoP OPTIONAL,
|
|
...,
|
|
-- version 2 extension element
|
|
ver2-SUPL-START-extension Ver2-SUPL-START-extension OPTIONAL}
|
|
|
|
SETCapabilities ::= SEQUENCE {
|
|
posTechnology PosTechnology,
|
|
prefMethod PrefMethod,
|
|
posProtocol PosProtocol,
|
|
...,
|
|
ver2-SETCapabilities-extension Ver2-SETCapabilities-extension OPTIONAL}
|
|
|
|
PosTechnology ::= SEQUENCE {
|
|
agpsSETassisted BOOLEAN,
|
|
agpsSETBased BOOLEAN,
|
|
autonomousGPS BOOLEAN,
|
|
aflt BOOLEAN,
|
|
ecid BOOLEAN,
|
|
eotd BOOLEAN,
|
|
otdoa BOOLEAN,
|
|
...,
|
|
ver2-PosTechnology-extension Ver2-PosTechnology-extension OPTIONAL}
|
|
|
|
PrefMethod ::= ENUMERATED {
|
|
agpsSETassistedPreferred, agpsSETBasedPreferred, noPreference}
|
|
-- To achieve compatibility with ULP V1.0 the names of the enumerations are
|
|
-- kept the same as in ULP V1.0. agps shall be interpreted as agnss.
|
|
|
|
PosProtocol ::= SEQUENCE {
|
|
tia801 BOOLEAN,
|
|
rrlp BOOLEAN,
|
|
rrc BOOLEAN,
|
|
...,
|
|
ver2-PosProtocol-extension Ver2-PosProtocol-extension OPTIONAL}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.3 SUPL RESPONSE
|
|
--
|
|
SUPL-RESPONSE DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS SUPLRESPONSE;
|
|
|
|
IMPORTS
|
|
PosMethod, SLPAddress
|
|
FROM ULP-Components
|
|
Ver2-SUPL-RESPONSE-extension
|
|
FROM ULP-Version-2-message-extensions;
|
|
|
|
SUPLRESPONSE ::= SEQUENCE {
|
|
posMethod PosMethod,
|
|
sLPAddress SLPAddress OPTIONAL,
|
|
sETAuthKey SETAuthKey OPTIONAL, -- included for backwards compatibility
|
|
keyIdentity4 KeyIdentity4 OPTIONAL, -- included for backwards compatibility
|
|
...,
|
|
-- version 2 extension element
|
|
ver2-SUPL-RESPONSE-extension Ver2-SUPL-RESPONSE-extension OPTIONAL}
|
|
|
|
SETAuthKey ::= CHOICE {
|
|
shortKey BIT STRING(SIZE (128)),
|
|
longKey BIT STRING(SIZE (256)),
|
|
...}
|
|
|
|
KeyIdentity4 ::= BIT STRING(SIZE (128))
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.4 SUPL POS INIT
|
|
--
|
|
SUPL-POS-INIT DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS SUPLPOSINIT;
|
|
|
|
IMPORTS
|
|
SUPLPOS
|
|
FROM SUPL-POS
|
|
SETCapabilities
|
|
FROM SUPL-START
|
|
LocationId, Position, Ver
|
|
FROM ULP-Components
|
|
Ver2-SUPL-POS-INIT-extension
|
|
FROM ULP-Version-2-message-extensions
|
|
Ver2-RequestedAssistData-extension
|
|
FROM ULP-Version-2-parameter-extensions;
|
|
|
|
SUPLPOSINIT ::= SEQUENCE {
|
|
sETCapabilities SETCapabilities,
|
|
requestedAssistData RequestedAssistData OPTIONAL,
|
|
locationId LocationId,
|
|
position Position OPTIONAL,
|
|
suplpos SUPLPOS OPTIONAL,
|
|
ver Ver OPTIONAL,
|
|
...,
|
|
-- version 2 extension element
|
|
ver2-SUPL-POS-INIT-extension Ver2-SUPL-POS-INIT-extension OPTIONAL}
|
|
|
|
RequestedAssistData ::= SEQUENCE {
|
|
almanacRequested BOOLEAN,
|
|
utcModelRequested BOOLEAN,
|
|
ionosphericModelRequested BOOLEAN,
|
|
dgpsCorrectionsRequested BOOLEAN,
|
|
referenceLocationRequested BOOLEAN, -- Note: Used also for GANSS
|
|
referenceTimeRequested BOOLEAN,
|
|
acquisitionAssistanceRequested BOOLEAN,
|
|
realTimeIntegrityRequested BOOLEAN,
|
|
navigationModelRequested BOOLEAN,
|
|
navigationModelData NavigationModel OPTIONAL,
|
|
...,
|
|
ver2-RequestedAssistData-extension Ver2-RequestedAssistData-extension OPTIONAL}
|
|
|
|
NavigationModel ::= SEQUENCE {
|
|
gpsWeek INTEGER(0..1023),
|
|
gpsToe INTEGER(0..167),
|
|
nsat INTEGER(0..31),
|
|
toeLimit INTEGER(0..10),
|
|
satInfo SatelliteInfo OPTIONAL,
|
|
...}
|
|
|
|
-- Further information on this fields can be found
|
|
-- in [3GPP RRLP]and [3GPP 49.031]
|
|
|
|
SatelliteInfo ::= SEQUENCE (SIZE (1..31)) OF SatelliteInfoElement
|
|
|
|
SatelliteInfoElement ::= SEQUENCE {
|
|
satId INTEGER(0..63),
|
|
iode INTEGER(0..255),
|
|
...}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.5 SUPL POS
|
|
--
|
|
SUPL-POS DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS SUPLPOS;
|
|
|
|
IMPORTS
|
|
Velocity
|
|
FROM ULP-Components
|
|
Ver2-SUPL-POS-extension
|
|
FROM ULP-Version-2-message-extensions
|
|
Ver2-PosPayLoad-extension
|
|
FROM ULP-Version-2-parameter-extensions;
|
|
|
|
SUPLPOS ::= SEQUENCE {
|
|
posPayLoad PosPayLoad,
|
|
velocity Velocity OPTIONAL,
|
|
...,
|
|
-- version 2 extension element
|
|
ver2-SUPL-POS-extension Ver2-SUPL-POS-extension OPTIONAL}
|
|
|
|
PosPayLoad ::= CHOICE {
|
|
tia801payload OCTET STRING(SIZE (1..8192)),
|
|
rrcPayload OCTET STRING(SIZE (1..8192)),
|
|
rrlpPayload OCTET STRING(SIZE (1..8192)),
|
|
...,
|
|
ver2-PosPayLoad-extension Ver2-PosPayLoad-extension}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.6 SUPL END
|
|
--
|
|
SUPL-END DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS SUPLEND;
|
|
|
|
IMPORTS
|
|
StatusCode, Position, Ver
|
|
FROM ULP-Components
|
|
Ver2-SUPL-END-extension
|
|
FROM ULP-Version-2-message-extensions;
|
|
|
|
SUPLEND ::= SEQUENCE {
|
|
position Position OPTIONAL,
|
|
statusCode StatusCode OPTIONAL,
|
|
ver Ver OPTIONAL,
|
|
...,
|
|
-- version 2 extension element
|
|
ver2-SUPL-END-extension Ver2-SUPL-END-extension OPTIONAL}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.7 SUPL AUTH REQ
|
|
--
|
|
SUPL-AUTH-REQ DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS SUPLAUTHREQ;
|
|
|
|
IMPORTS
|
|
Ver
|
|
FROM ULP-Components
|
|
SETCapabilities
|
|
FROM SUPL-START;
|
|
|
|
SUPLAUTHREQ ::= SEQUENCE {
|
|
ver Ver OPTIONAL,
|
|
sETCapabilities SETCapabilities OPTIONAL,
|
|
...}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.8 SUPL AUTH RESP
|
|
--
|
|
SUPL-AUTH-RESP DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS SUPLAUTHRESP;
|
|
|
|
IMPORTS
|
|
SPCSETKey, SPCTID, SPCSETKeylifetime
|
|
FROM Ver2-ULP-Components;
|
|
|
|
SUPLAUTHRESP ::= SEQUENCE {
|
|
sPCSETKey SPCSETKey,
|
|
spctid SPCTID,
|
|
sPCSETKeylifetime SPCSETKeylifetime OPTIONAL,
|
|
...}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.9 SUPL NOTIFY
|
|
--
|
|
SUPL-NOTIFY DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS Ver2-SUPLNOTIFY;
|
|
|
|
IMPORTS
|
|
Notification
|
|
FROM SUPL-INIT;
|
|
|
|
Ver2-SUPLNOTIFY ::= SEQUENCE {
|
|
notification Notification,
|
|
...}
|
|
END
|
|
|
|
--
|
|
-- 11.2.10 SUPL NOTIFY RESPONSE
|
|
--
|
|
SUPL-NOTIFY-RESPONSE DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS Ver2-SUPLNOTIFYRESPONSE;
|
|
|
|
Ver2-SUPLNOTIFYRESPONSE ::= SEQUENCE {
|
|
notificationResponse NotificationResponse OPTIONAL,
|
|
...}
|
|
|
|
NotificationResponse ::= ENUMERATED {allowed(0), notAllowed(1), ...}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.11 SUPL SET INIT
|
|
--
|
|
SUPL-SET-INIT DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS Ver2-SUPLSETINIT;
|
|
|
|
IMPORTS
|
|
SETId, QoP
|
|
FROM ULP-Components
|
|
ApplicationID
|
|
FROM Ver2-ULP-Components;
|
|
|
|
Ver2-SUPLSETINIT ::= SEQUENCE {
|
|
targetSETID SETId, --Target SETid identifies the target SET to be located
|
|
qoP QoP OPTIONAL,
|
|
applicationID ApplicationID OPTIONAL,
|
|
...}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.12 SUPL TRIGGERED START
|
|
--
|
|
SUPL-TRIGGERED-START DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS Ver2-SUPLTRIGGEREDSTART, TriggerType, TriggerParams, maxNumGeoArea, maxAreaId, maxAreaIdList;
|
|
|
|
IMPORTS
|
|
LocationId, QoP, Ver, Position
|
|
FROM ULP-Components
|
|
MultipleLocationIds, CauseCode, ThirdParty, ApplicationID, ReportingCap, Coordinate, CircularArea, EllipticalArea, PolygonArea
|
|
FROM Ver2-ULP-Components
|
|
SETCapabilities
|
|
FROM SUPL-START;
|
|
|
|
Ver2-SUPLTRIGGEREDSTART ::= SEQUENCE {
|
|
sETCapabilities SETCapabilities,
|
|
locationId LocationId,
|
|
ver Ver OPTIONAL,
|
|
qoP QoP OPTIONAL,
|
|
multipleLocationIds MultipleLocationIds OPTIONAL,
|
|
thirdParty ThirdParty OPTIONAL,
|
|
applicationID ApplicationID OPTIONAL,
|
|
triggerType TriggerType OPTIONAL,
|
|
triggerParams TriggerParams OPTIONAL,
|
|
position Position OPTIONAL,
|
|
reportingCap ReportingCap OPTIONAL,
|
|
causeCode CauseCode OPTIONAL,
|
|
...}
|
|
|
|
TriggerType ::= ENUMERATED {
|
|
periodic(0), areaEvent(1),
|
|
...}
|
|
|
|
TriggerParams ::= CHOICE {
|
|
periodicParams PeriodicParams,
|
|
areaEventParams AreaEventParams,
|
|
...}
|
|
|
|
PeriodicParams ::= SEQUENCE{
|
|
numberOfFixes INTEGER(1.. 8639999),
|
|
intervalBetweenFixes INTEGER(1.. 8639999),
|
|
startTime INTEGER(0..2678400) OPTIONAL,
|
|
...}
|
|
-- intervalBetweenFixes and startTime are in seconds.
|
|
-- numberOfFixes * intervalBetweenFixes shall not exceed 8639999
|
|
-- (100 days in seconds) for compatibility with OMA MLP and RLP
|
|
-- startTime is in relative time in units of seconds measured from "now"
|
|
-- a value of 0 signifies "now", a value of "startTime" signifies startTime
|
|
-- seconds from "now"
|
|
|
|
AreaEventParams ::= SEQUENCE {
|
|
areaEventType AreaEventType,
|
|
locationEstimate BOOLEAN,
|
|
repeatedReportingParams RepeatedReportingParams OPTIONAL,
|
|
startTime INTEGER(0..2678400) OPTIONAL,
|
|
stopTime INTEGER(0..11318399) OPTIONAL,
|
|
geographicTargetAreaList GeographicTargetAreaList OPTIONAL,
|
|
areaIdLists SEQUENCE (SIZE (1..maxAreaIdList)) OF AreaIdList OPTIONAL,
|
|
...}
|
|
|
|
-- startTime and stopTime are in seconds.
|
|
-- startTime and stop Time are in relative time in units of seconds measured
|
|
-- from "now"
|
|
-- a value of 0 signifies "now"
|
|
-- stopTime must be > startTime
|
|
-- stopTime - startTime shall not exceed 8639999
|
|
-- (100 days in seconds) for compatibility with OMA MLP and RLP
|
|
|
|
AreaEventType ::= ENUMERATED {enteringArea(0), insideArea(1), outsideArea(2), leavingArea(3), ...}
|
|
|
|
RepeatedReportingParams ::= SEQUENCE {
|
|
minimumIntervalTime INTEGER (1..604800), -- time in seconds
|
|
maximumNumberOfReports INTEGER (1..1024),
|
|
...}
|
|
|
|
GeographicTargetAreaList ::= SEQUENCE (SIZE (1..maxNumGeoArea)) OF GeographicTargetArea
|
|
|
|
GeographicTargetArea ::= CHOICE {
|
|
circularArea CircularArea,
|
|
ellipticalArea EllipticalArea,
|
|
polygonArea PolygonArea,
|
|
...}
|
|
|
|
AreaIdList ::= SEQUENCE {
|
|
areaIdSet AreaIdSet,
|
|
areaIdSetType AreaIdSetType OPTIONAL,
|
|
geoAreaMappingList GeoAreaMappingList OPTIONAL}
|
|
|
|
AreaIdSet ::= SEQUENCE SIZE (1..maxAreaId) OF AreaId
|
|
|
|
AreaId ::= CHOICE {
|
|
gSMAreaId GSMAreaId,
|
|
wCDMAAreaId WCDMAAreaId, -- For TD-SCDMA networks, this parameter indicates a TD-SCDMA Area ID
|
|
cDMAAreaId CDMAAreaId,
|
|
hRPDAreaId HRPDAreaId,
|
|
uMBAreaId UMBAreaId,
|
|
lTEAreaId LTEAreaId,
|
|
wLANAreaId WLANAreaId,
|
|
wiMAXAreaId WimaxAreaId,
|
|
...}
|
|
|
|
GSMAreaId ::= SEQUENCE {
|
|
refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code
|
|
refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code
|
|
refLAC INTEGER(0..65535) OPTIONAL, -- Location Area Code
|
|
refCI INTEGER(0..65535) OPTIONAL, -- Cell Id
|
|
...}
|
|
|
|
-- only one of the following four combinations are allowed: (1) refMCC, (2)
|
|
-- refMCC+refMNC, (3) refMCC+refMNC+refLAC or (4) refMCC+refMNC+refLAC+refCI
|
|
|
|
WCDMAAreaId ::= SEQUENCE {
|
|
refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code
|
|
refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code
|
|
refLAC INTEGER(0..65535) OPTIONAL, -- Location Area Code
|
|
refUC INTEGER(0..268435455) OPTIONAL, -- Cell identity
|
|
...}
|
|
|
|
-- only one of the following four combinations are allowed: (1) refMCC, (2)
|
|
-- refMCC+refMNC, (3) refMCC+refMNC+refLAC, or (4) refMCC+refMNC+refLAC+refUC
|
|
|
|
CDMAAreaId::= SEQUENCE {
|
|
refSID INTEGER(0..65535) OPTIONAL, -- System Id
|
|
refNID INTEGER(0..32767) OPTIONAL, -- Network Id
|
|
refBASEID INTEGER(0..65535) OPTIONAL, -- Base Station Id
|
|
...}
|
|
|
|
-- only one of the following three combinations are allowed: (1) refSID, (2)
|
|
-- refSID+refNID, or (3) refSID+refNID+refBASEID
|
|
|
|
HRPDAreaId::= SEQUENCE {
|
|
refSECTORID BIT STRING(SIZE (128)), -- HRPD Sector Id
|
|
...}
|
|
|
|
UMBAreaId::= SEQUENCE {
|
|
refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code
|
|
refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code
|
|
refSECTORID BIT STRING(SIZE (128)) OPTIONAL, -- UMB Sector Id
|
|
...}
|
|
|
|
LTEAreaId::= SEQUENCE {
|
|
refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code
|
|
refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code
|
|
refCI BIT STRING(SIZE (29)) OPTIONAL, -- LTE Cell-Id
|
|
...}
|
|
|
|
-- only one of the following three combinations are allowed: (1) refMCC, (2) refMCC+refMNC, or (3) refMCC+refMNC+refCI
|
|
-- The LTE Cell-Id is encoded in the 28 Least Significant Bits of refCI
|
|
-- The Most Significant Bit of refCI shall be ignored
|
|
|
|
WLANAreaId::= SEQUENCE {
|
|
apMACAddress BIT STRING(SIZE (48)), -- AP MAC Address
|
|
...}
|
|
|
|
WimaxAreaId ::= SEQUENCE {
|
|
bsID-MSB BIT STRING (SIZE(24)) OPTIONAL,
|
|
bsID-LSB BIT STRING (SIZE(24)) }
|
|
-- if only LSB is present, MSB is assumed to be identical to the current serving BS or clamped on network value
|
|
|
|
AreaIdSetType ::= ENUMERATED {border(0), within(1), ...}
|
|
|
|
GeoAreaMappingList ::= SEQUENCE (SIZE (1..maxNumGeoArea)) OF GeoAreaIndex
|
|
|
|
GeoAreaIndex ::= INTEGER (1..maxNumGeoArea)
|
|
|
|
maxNumGeoArea INTEGER ::= 32
|
|
|
|
maxAreaId INTEGER ::= 256
|
|
|
|
maxAreaIdList INTEGER ::= 32
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.13 SUPL TRIGGERED RESPONSE
|
|
--
|
|
SUPL-TRIGGERED-RESPONSE DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS Ver2-SUPLTRIGGEREDRESPONSE;
|
|
|
|
IMPORTS
|
|
PosMethod, SLPAddress
|
|
FROM ULP-Components
|
|
SupportedNetworkInformation, SPCSETKey, SPCTID, SPCSETKeylifetime, GNSSPosTechnology
|
|
FROM Ver2-ULP-Components
|
|
TriggerParams
|
|
FROM SUPL-TRIGGERED-START;
|
|
|
|
Ver2-SUPLTRIGGEREDRESPONSE::= SEQUENCE{
|
|
posMethod PosMethod,
|
|
triggerParams TriggerParams OPTIONAL,
|
|
sLPAddress SLPAddress OPTIONAL,
|
|
supportedNetworkInformation SupportedNetworkInformation OPTIONAL,
|
|
reportingMode ReportingMode OPTIONAL,
|
|
sPCSETKey SPCSETKey OPTIONAL,
|
|
spctid SPCTID OPTIONAL,
|
|
sPCSETKeylifetime SPCSETKeylifetime OPTIONAL,
|
|
gnssPosTechnology GNSSPosTechnology OPTIONAL,
|
|
...}
|
|
|
|
ReportingMode ::= SEQUENCE {
|
|
repMode RepModee,
|
|
batchRepConditions BatchRepConditions OPTIONAL, -- only used for batch reporting
|
|
batchRepType BatchRepType OPTIONAL, -- only used for batch reporting
|
|
...}
|
|
|
|
RepModee ::= ENUMERATED {realtime(1), quasirealtime(2), batch(3), ...}
|
|
|
|
BatchRepConditions ::= CHOICE {
|
|
num-interval INTEGER (1..1024), -- number of periodic fixes/measurements after which the batch report is sent to the SLP
|
|
num-minutes INTEGER (1..2048), -- number of minutes after which the batch report is sent to the SLP
|
|
endofsession NULL, -- if selected batch report is to be sent at the end of the session
|
|
...}
|
|
|
|
BatchRepType ::= SEQUENCE {
|
|
reportPosition BOOLEAN, -- set to "true" if reporting of position is allowed
|
|
reportMeasurements BOOLEAN, -- set to "true" if reporting of measurements is allowed
|
|
intermediateReports BOOLEAN, -- set to "true" if the SET is allowed to send intermediate reports if it runs out of memory
|
|
discardOldest BOOLEAN OPTIONAL, -- set to "true" if the SET should discard the oldest positions or measurements of the batch report in order to save memory, set to "false" the SET should discard the latest positions or measurements
|
|
...}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.2.14 SUPL REPORT
|
|
--
|
|
SUPL-REPORT DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS Ver2-SUPLREPORT;
|
|
|
|
IMPORTS
|
|
SETCapabilities
|
|
FROM SUPL-START
|
|
Position, PosMethod, SessionID, Ver
|
|
FROM ULP-Components
|
|
MultipleLocationIds, GNSSPosTechnology, GANSSSignals
|
|
FROM Ver2-ULP-Components
|
|
maxGANSS
|
|
FROM ULP-Version-2-parameter-extensions;
|
|
|
|
Ver2-SUPLREPORT ::= SEQUENCE {
|
|
sessionList SessionList OPTIONAL,
|
|
sETCapabilities SETCapabilities OPTIONAL,
|
|
reportDataList ReportDataList OPTIONAL,
|
|
ver Ver OPTIONAL,
|
|
moreComponents NULL OPTIONAL,
|
|
...}
|
|
|
|
SessionList ::= SEQUENCE SIZE (1..maxnumSessions) OF SessionInformation
|
|
|
|
SessionInformation ::= SEQUENCE {
|
|
sessionID SessionID,
|
|
...}
|
|
|
|
maxnumSessions INTEGER ::= 64
|
|
|
|
ReportDataList ::= SEQUENCE SIZE (1.. 1024) OF ReportData
|
|
|
|
ReportData ::= SEQUENCE {
|
|
positionData PositionData OPTIONAL,
|
|
multipleLocationIds MultipleLocationIds OPTIONAL,
|
|
resultCode ResultCode OPTIONAL,
|
|
timestamp TimeStamp OPTIONAL,
|
|
...}
|
|
|
|
PositionData ::= SEQUENCE {
|
|
position Position,
|
|
posMethod PosMethod OPTIONAL,
|
|
gnssPosTechnology GNSSPosTechnology OPTIONAL,
|
|
ganssSignalsInfo GANSSsignalsInfo OPTIONAL,
|
|
...}
|
|
|
|
GANSSsignalsInfo ::= SEQUENCE SIZE (1..maxGANSS) OF GANSSSignalsDescription
|
|
|
|
GANSSSignalsDescription ::= SEQUENCE {
|
|
ganssId INTEGER(0..15), -- coding according to parameter definition in section 10.10
|
|
gANSSSignals GANSSSignals,
|
|
...}
|
|
|
|
ResultCode ::= ENUMERATED {outofradiocoverage(1), noposition(2), nomeasurement(3), nopositionnomeasurement(4), outofmemory(5), outofmemoryintermediatereporting(6), other(7), ...}
|
|
|
|
TimeStamp ::= CHOICE {
|
|
absoluteTime UTCTime,
|
|
relativeTime INTEGER (0..31536000)} -- relative time to when the SUPL REPORT message is sent in units of 1 sec, where 0 signifies "now" and n signifies n seconds in the past
|
|
|
|
END
|
|
|
|
--
|
|
--11.2.15 SUPL TRIGGERED STOP
|
|
--
|
|
SUPL-TRIGGERED-STOP DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS Ver2-SUPLTRIGGEREDSTOP;
|
|
|
|
IMPORTS
|
|
StatusCode
|
|
FROM ULP-Components;
|
|
|
|
Ver2-SUPLTRIGGEREDSTOP::= SEQUENCE{
|
|
statusCode StatusCode OPTIONAL,
|
|
...}
|
|
|
|
END
|
|
|
|
--
|
|
--11.3 Messsage Extensions (SUPL Version 2)
|
|
--
|
|
ULP-Version-2-message-extensions DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS
|
|
Ver2-SUPL-INIT-extension, Ver2-SUPL-START-extension, Ver2-SUPL-RESPONSE-extension, Ver2-SUPL-POS-INIT-extension, Ver2-SUPL-POS-extension, Ver2-SUPL-END-extension;
|
|
|
|
IMPORTS
|
|
SLPAddress, Position, Ver
|
|
FROM ULP-Components
|
|
SETCapabilities
|
|
FROM SUPL-START
|
|
SupportedNetworkInformation, GNSSPosTechnology, MultipleLocationIds, UTRAN-GPSReferenceTimeResult, UTRAN-GANSSReferenceTimeResult, UTRAN-GPSReferenceTimeAssistance, UTRAN-GANSSReferenceTimeAssistance, SPCSETKey, SPCTID, SPCSETKeylifetime, ThirdParty, ApplicationID
|
|
FROM Ver2-ULP-Components
|
|
TriggerType
|
|
FROM SUPL-TRIGGERED-START;
|
|
|
|
Ver2-SUPL-INIT-extension ::= SEQUENCE {
|
|
notificationMode NotificationMode OPTIONAL,
|
|
supportedNetworkInformation SupportedNetworkInformation OPTIONAL,
|
|
triggerType TriggerType OPTIONAL,
|
|
e-SLPAddress SLPAddress OPTIONAL,
|
|
historicReporting HistoricReporting OPTIONAL,
|
|
protectionLevel ProtectionLevel OPTIONAL,
|
|
gnssPosTechnology GNSSPosTechnology OPTIONAL,
|
|
minimumMajorVersion INTEGER (0..255) OPTIONAL,
|
|
...}
|
|
|
|
NotificationMode ::= ENUMERATED {normal(0), basedOnLocation(1), ...}
|
|
|
|
HistoricReporting ::= SEQUENCE {
|
|
allowedReportingType AllowedReportingType,
|
|
reportingCriteria ReportingCriteria OPTIONAL, ...}
|
|
|
|
AllowedReportingType ::= ENUMERATED {
|
|
positionsOnly(0), measurementsOnly(1), positionsAndMeasurements(2),...}
|
|
|
|
ReportingCriteria ::= SEQUENCE {
|
|
timeWindow TimeWindow OPTIONAL,
|
|
maxNumberofReports INTEGER(1..65536) OPTIONAL,
|
|
minTimeInterval INTEGER(1..86400) OPTIONAL,
|
|
...}
|
|
|
|
TimeWindow ::= SEQUENCE {
|
|
startTime INTEGER(-525600..-1), -- Time in minutes
|
|
stopTime INTEGER(-525599..0)} -- Time in minutes
|
|
|
|
ProtectionLevel ::= SEQUENCE {
|
|
protlevel ProtLevel,
|
|
basicProtectionParams BasicProtectionParams OPTIONAL,
|
|
...}
|
|
|
|
ProtLevel ::= ENUMERATED {
|
|
nullProtection(0), basicProtection(1), ...}
|
|
|
|
BasicProtectionParams ::= SEQUENCE {
|
|
keyIdentifier OCTET STRING(SIZE (8)),
|
|
basicReplayCounter INTEGER(0..65535),
|
|
basicMAC BIT STRING(SIZE (32)),
|
|
...}
|
|
|
|
Ver2-SUPL-START-extension ::= SEQUENCE {
|
|
multipleLocationIds MultipleLocationIds OPTIONAL,
|
|
thirdParty ThirdParty OPTIONAL,
|
|
applicationID ApplicationID OPTIONAL,
|
|
position Position OPTIONAL,
|
|
...}
|
|
|
|
Ver2-SUPL-RESPONSE-extension ::= SEQUENCE {
|
|
supportedNetworkInformation SupportedNetworkInformation OPTIONAL,
|
|
sPCSETKey SPCSETKey OPTIONAL,
|
|
spctid SPCTID OPTIONAL,
|
|
sPCSETKeylifetime SPCSETKeylifetime OPTIONAL,
|
|
initialApproximateposition Position OPTIONAL,
|
|
gnssPosTechnology GNSSPosTechnology OPTIONAL,
|
|
...}
|
|
|
|
Ver2-SUPL-POS-INIT-extension ::= SEQUENCE {
|
|
multipleLocationIds MultipleLocationIds OPTIONAL,
|
|
utran-GPSReferenceTimeResult UTRAN-GPSReferenceTimeResult OPTIONAL,
|
|
utran-GANSSReferenceTimeResult UTRAN-GANSSReferenceTimeResult OPTIONAL,
|
|
...}
|
|
|
|
Ver2-SUPL-POS-extension ::= SEQUENCE {
|
|
utran-GPSReferenceTimeAssistance UTRAN-GPSReferenceTimeAssistance OPTIONAL,
|
|
utran-GPSReferenceTimeResult UTRAN-GPSReferenceTimeResult OPTIONAL,
|
|
utran-GANSSReferenceTimeAssistance UTRAN-GANSSReferenceTimeAssistance OPTIONAL,
|
|
utran-GANSSReferenceTimeResult UTRAN-GANSSReferenceTimeResult OPTIONAL,
|
|
...}
|
|
|
|
Ver2-SUPL-END-extension ::= SEQUENCE {
|
|
sETCapabilities SETCapabilities OPTIONAL,
|
|
...}
|
|
|
|
END
|
|
|
|
--
|
|
-- 11.4 Parameter Extensions (SUPL Version 2)
|
|
--
|
|
|
|
ULP-Version-2-parameter-extensions DEFINITIONS AUTOMATIC TAGS ::=
|
|
BEGIN
|
|
|
|
EXPORTS
|
|
maxGANSS, Ver2-Notification-extension, Ver2-SETCapabilities-extension, Ver2-PosProtocol-extension, Ver2-PosTechnology-extension, Ver2-RequestedAssistData-extension, Ver2-PosPayLoad-extension;
|
|
|
|
IMPORTS
|
|
GANSSSignals, ReportingCap
|
|
FROM Ver2-ULP-Components
|
|
maxNumGeoArea, maxAreaId, maxAreaIdList
|
|
FROM SUPL-TRIGGERED-START;
|
|
|
|
Ver2-Notification-extension ::= SEQUENCE {
|
|
emergencyCallLocation NULL OPTIONAL,
|
|
...}
|
|
|
|
Ver2-SETCapabilities-extension ::= SEQUENCE {
|
|
serviceCapabilities ServiceCapabilities OPTIONAL,
|
|
...,
|
|
supportedBearers SupportedBearers OPTIONAL}
|
|
|
|
ServiceCapabilities ::= SEQUENCE {
|
|
servicesSupported ServicesSupported,
|
|
reportingCapabilities ReportingCap OPTIONAL,
|
|
eventTriggerCapabilities EventTriggerCapabilities OPTIONAL,
|
|
sessionCapabilities SessionCapabilities,
|
|
...}
|
|
|
|
ServicesSupported ::= SEQUENCE {
|
|
periodicTrigger BOOLEAN,
|
|
areaEventTrigger BOOLEAN,
|
|
...}
|
|
|
|
EventTriggerCapabilities ::= SEQUENCE {
|
|
geoAreaShapesSupported GeoAreaShapesSupported,
|
|
maxNumGeoAreaSupported INTEGER (0..maxNumGeoArea) OPTIONAL,
|
|
maxAreaIdListSupported INTEGER (0..maxAreaIdList) OPTIONAL,
|
|
maxAreaIdSupportedPerList INTEGER (0..maxAreaId) OPTIONAL,
|
|
...}
|
|
|
|
GeoAreaShapesSupported ::= SEQUENCE {
|
|
ellipticalArea BOOLEAN,
|
|
polygonArea BOOLEAN,
|
|
...}
|
|
|
|
SessionCapabilities ::= SEQUENCE {
|
|
maxNumberTotalSessions INTEGER (1..128),
|
|
maxNumberPeriodicSessions INTEGER (1..32),
|
|
maxNumberTriggeredSessions INTEGER (1..32),
|
|
...}
|
|
|
|
SupportedBearers ::= SEQUENCE {
|
|
gsm BOOLEAN,
|
|
wcdma BOOLEAN,
|
|
lte BOOLEAN,
|
|
cdma BOOLEAN,
|
|
hprd BOOLEAN,
|
|
umb BOOLEAN,
|
|
wlan BOOLEAN,
|
|
wiMAX BOOLEAN,
|
|
...}
|
|
|
|
Ver2-PosProtocol-extension ::= SEQUENCE {
|
|
lpp BOOLEAN,
|
|
posProtocolVersionRRLP PosProtocolVersion3GPP OPTIONAL,
|
|
posProtocolVersionRRC PosProtocolVersion3GPP OPTIONAL,
|
|
posProtocolVersionTIA801 PosProtocolVersion3GPP2 OPTIONAL,
|
|
posProtocolVersionLPP PosProtocolVersion3GPP OPTIONAL,
|
|
...,
|
|
lppe BOOLEAN OPTIONAL,
|
|
posProtocolVersionLPPe PosProtocolVersionOMA OPTIONAL}
|
|
|
|
PosProtocolVersion3GPP ::= SEQUENCE {
|
|
majorVersionField INTEGER(0..255),
|
|
technicalVersionField INTEGER(0..255),
|
|
editorialVersionField INTEGER(0..255),
|
|
...}
|
|
|
|
PosProtocolVersion3GPP2 ::= SEQUENCE (SIZE(1..8)) OF Supported3GPP2PosProtocolVersion
|
|
|
|
Supported3GPP2PosProtocolVersion ::= SEQUENCE {
|
|
revisionNumber BIT STRING(SIZE (6)), -- the location standard revision number the SET supports coded according to 3GPP2 C.S0022
|
|
pointReleaseNumber INTEGER(0..255),
|
|
internalEditLevel INTEGER(0..255),
|
|
...}
|
|
|
|
PosProtocolVersionOMA ::= SEQUENCE {
|
|
majorVersionField INTEGER(0..255),
|
|
minorVersionField INTEGER(0..255),
|
|
...}
|
|
|
|
Ver2-PosTechnology-extension ::= SEQUENCE {
|
|
gANSSPositionMethods GANSSPositionMethods OPTIONAL,
|
|
...}
|
|
|
|
GANSSPositionMethods ::= SEQUENCE (SIZE(1..16)) OF GANSSPositionMethod
|
|
|
|
GANSSPositionMethod ::= SEQUENCE {
|
|
ganssId INTEGER(0..15), -- coding according to parameter definition in section 10.10
|
|
ganssSBASid BIT STRING(SIZE(3)) OPTIONAL, --coding according to parameter definition in section 10.10
|
|
gANSSPositioningMethodTypes GANSSPositioningMethodTypes,
|
|
gANSSSignals GANSSSignals,
|
|
...}
|
|
|
|
GANSSPositioningMethodTypes ::= SEQUENCE {
|
|
setAssisted BOOLEAN,
|
|
setBased BOOLEAN,
|
|
autonomous BOOLEAN,
|
|
...}
|
|
|
|
Ver2-RequestedAssistData-extension ::= SEQUENCE {
|
|
ganssRequestedCommonAssistanceDataList GanssRequestedCommonAssistanceDataList OPTIONAL,
|
|
ganssRequestedGenericAssistanceDataList GanssRequestedGenericAssistanceDataList OPTIONAL,
|
|
extendedEphemeris ExtendedEphemeris OPTIONAL,
|
|
extendedEphemerisCheck ExtendedEphCheck OPTIONAL,
|
|
...}
|
|
|
|
GanssRequestedCommonAssistanceDataList ::= SEQUENCE {
|
|
ganssReferenceTime BOOLEAN,
|
|
ganssIonosphericModel BOOLEAN,
|
|
ganssAdditionalIonosphericModelForDataID00 BOOLEAN,
|
|
ganssAdditionalIonosphericModelForDataID11 BOOLEAN,
|
|
ganssEarthOrientationParameters BOOLEAN,
|
|
...,
|
|
ganssAdditionalIonosphericModelForDataID01 BOOLEAN OPTIONAL}
|
|
|
|
GanssRequestedGenericAssistanceDataList ::= SEQUENCE(SIZE(1..maxGANSS)) OF GanssReqGenericData
|
|
|
|
GanssReqGenericData ::= SEQUENCE {
|
|
ganssId INTEGER(0..15), -- coding according to parameter definition in section 10.10
|
|
ganssSBASid BIT STRING(SIZE(3)) OPTIONAL, --coding according to parameter definition in section 10.10
|
|
ganssRealTimeIntegrity BOOLEAN,
|
|
ganssDifferentialCorrection DGANSS-Sig-Id-Req OPTIONAL,
|
|
ganssAlmanac BOOLEAN,
|
|
ganssNavigationModelData GanssNavigationModelData OPTIONAL,
|
|
ganssTimeModels BIT STRING(SIZE(16)) OPTIONAL,
|
|
ganssReferenceMeasurementInfo BOOLEAN,
|
|
ganssDataBits GanssDataBits OPTIONAL,
|
|
ganssUTCModel BOOLEAN,
|
|
ganssAdditionalDataChoices GanssAdditionalDataChoices OPTIONAL,
|
|
ganssAuxiliaryInformation BOOLEAN,
|
|
ganssExtendedEphemeris ExtendedEphemeris OPTIONAL,
|
|
ganssExtendedEphemerisCheck GanssExtendedEphCheck OPTIONAL,
|
|
...,
|
|
bds-DifferentialCorrection BDS-Sig-Id-Req OPTIONAL,
|
|
bds-GridModelReq BOOLEAN OPTIONAL}
|
|
|
|
DGANSS-Sig-Id-Req ::= BIT STRING (SIZE(8)) -- coding according to parameter definition in section 10.9
|
|
|
|
BDS-Sig-Id-Req ::= BIT STRING (SIZE(8)) -- coding according to parameter definition in section 10.9
|
|
|
|
GanssNavigationModelData ::= SEQUENCE {
|
|
ganssWeek INTEGER(0..4095),
|
|
ganssToe INTEGER(0..167),
|
|
t-toeLimit INTEGER(0..15),
|
|
satellitesListRelatedDataList SatellitesListRelatedDataList OPTIONAL,
|
|
...}
|
|
|
|
SatellitesListRelatedDataList ::= SEQUENCE(SIZE(0..maxGANSSSat)) OF SatellitesListRelatedData
|
|
|
|
SatellitesListRelatedData ::= SEQUENCE {
|
|
satId INTEGER(0..63),
|
|
iod INTEGER(0..1023),
|
|
...}
|
|
|
|
maxGANSS INTEGER ::= 16
|
|
maxGANSSSat INTEGER ::= 32
|
|
|
|
GanssDataBits ::= SEQUENCE {
|
|
ganssTODmin INTEGER (0..59),
|
|
reqDataBitAssistanceList ReqDataBitAssistanceList,
|
|
...}
|
|
|
|
ReqDataBitAssistanceList ::= SEQUENCE {
|
|
gnssSignals GANSSSignals,
|
|
ganssDataBitInterval INTEGER (0..15),
|
|
ganssDataBitSatList SEQUENCE (SIZE(1..maxGANSSSat)) OF INTEGER (0..63) OPTIONAL,
|
|
...}
|
|
|
|
GanssAdditionalDataChoices ::= SEQUENCE {
|
|
orbitModelID INTEGER(0..7) OPTIONAL,
|
|
clockModelID INTEGER(0..7) OPTIONAL,
|
|
utcModelID INTEGER(0..7) OPTIONAL,
|
|
almanacModelID INTEGER(0..7) OPTIONAL,
|
|
...}
|
|
|
|
ExtendedEphemeris ::= SEQUENCE {
|
|
validity INTEGER (1..256), -- Requested validity in 4 hour steps
|
|
...}
|
|
|
|
ExtendedEphCheck ::= SEQUENCE {
|
|
beginTime GPSTime, -- Begin time of ephemeris extension held by SET
|
|
endTime GPSTime, -- End time of ephemeris extension held by SET
|
|
...}
|
|
|
|
GanssExtendedEphCheck ::= SEQUENCE {
|
|
beginTime GANSSextEphTime, -- Begin time of ephemeris extension held by SET
|
|
endTime GANSSextEphTime, -- End time of ephemeris extension held by SET
|
|
...}
|
|
|
|
GPSTime ::= SEQUENCE {
|
|
gPSWeek INTEGER (0..1023),
|
|
gPSTOWhour INTEGER (0..167),
|
|
...}
|
|
|
|
GANSSextEphTime ::= SEQUENCE {
|
|
gANSSday INTEGER (0..8191),
|
|
gANSSTODhour INTEGER (0..23),
|
|
...}
|
|
|
|
Ver2-PosPayLoad-extension ::= SEQUENCE {
|
|
lPPPayload SEQUENCE (SIZE (1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL,
|
|
tia801Payload SEQUENCE (SIZE(1..3)) OF OCTET STRING(SIZE (1..60000)) OPTIONAL,
|
|
...}
|
|
|
|
|
|
END
|
|
|
|
--
|
|
--11.5 Common elements (SUPL Version 1)
|
|
--
|
|
|
|
|
|
--
|
|
-- 11.6 Common elements (SUPL Version 2)
|
|
--
|