networkprotocolmodules/common/suplrrlpasn1/group/supl_asn1.txt
changeset 45 15a2125aa2f3
parent 40 18280709ae43
child 49 5f20f71a57a3
child 51 95c570bf4a05
equal deleted inserted replaced
40:18280709ae43 45:15a2125aa2f3
     1 ULP DEFINITIONS AUTOMATIC TAGS ::=
       
     2 BEGIN
       
     3 
       
     4 IMPORTS
       
     5   Version, SessionID
       
     6     FROM ULP-Components
       
     7   SUPLINIT
       
     8     FROM SUPL-INIT
       
     9   SUPLSTART
       
    10     FROM SUPL-START
       
    11   SUPLRESPONSE
       
    12     FROM SUPL-RESPONSE
       
    13   SUPLPOSINIT
       
    14     FROM SUPL-POS-INIT
       
    15   SUPLPOS
       
    16     FROM SUPL-POS
       
    17   SUPLEND
       
    18     FROM SUPL-END
       
    19   SUPLAUTHREQ
       
    20     FROM SUPL-AUTH-REQ
       
    21   SUPLAUTHRESP
       
    22     FROM SUPL-AUTH-RESP;
       
    23 
       
    24 -- general ULP PDU layout;
       
    25 ULP-PDU ::= SEQUENCE {
       
    26   length     INTEGER(0..65535),
       
    27   version    Version,
       
    28   sessionID  SessionID,
       
    29   message    UlpMessage}
       
    30 
       
    31 UlpMessage ::= CHOICE {
       
    32   msSUPLINIT      SUPLINIT,
       
    33   msSUPLSTART     SUPLSTART,
       
    34   msSUPLRESPONSE  SUPLRESPONSE,
       
    35   msSUPLPOSINIT   SUPLPOSINIT,
       
    36   msSUPLPOS       SUPLPOS,
       
    37   msSUPLEND       SUPLEND,
       
    38   msSUPLAUTHREQ   SUPLAUTHREQ,
       
    39   msSUPLAUTHRESP  SUPLAUTHRESP,
       
    40   ...}
       
    41 
       
    42 END
       
    43 
       
    44 
       
    45 
       
    46 
       
    47 SUPL-INIT DEFINITIONS AUTOMATIC TAGS ::=
       
    48 BEGIN
       
    49 
       
    50 EXPORTS SUPLINIT;
       
    51 
       
    52 IMPORTS SLPAddress, QoP, PosMethod
       
    53           FROM ULP-Components;
       
    54 
       
    55 SUPLINIT ::= SEQUENCE {
       
    56   posMethod     PosMethod,
       
    57   notification  Notification OPTIONAL,
       
    58   sLPAddress    SLPAddress OPTIONAL,
       
    59   qoP           QoP OPTIONAL,
       
    60   sLPMode       SLPMode,
       
    61   mAC           MAC OPTIONAL,
       
    62   keyIdentity   KeyIdentity OPTIONAL,
       
    63   ...}
       
    64 
       
    65 Notification ::= SEQUENCE {
       
    66   notificationType  NotificationType,
       
    67   encodingType      EncodingType OPTIONAL,
       
    68   requestorId       OCTET STRING(SIZE (1..maxReqLength)) OPTIONAL,
       
    69   requestorIdType   FormatIndicator OPTIONAL,
       
    70   clientName        OCTET STRING(SIZE (1..maxClientLength)) OPTIONAL,
       
    71   clientNameType    FormatIndicator OPTIONAL,
       
    72   ...}
       
    73 
       
    74 NotificationType ::= ENUMERATED {
       
    75   noNotificationNoVerification(0), notificationOnly(1),
       
    76   notificationAndVerficationAllowedNA(2),
       
    77   notificationAndVerficationDeniedNA(3), privacyOverride(4), ...
       
    78   }
       
    79 
       
    80 EncodingType ::= ENUMERATED {ucs2(0), gsmDefault(1), utf8(2), ...
       
    81                              }
       
    82 
       
    83 maxReqLength INTEGER ::= 50
       
    84 
       
    85 maxClientLength INTEGER ::= 50
       
    86 
       
    87 FormatIndicator ::= ENUMERATED {
       
    88   logicalName(0), e-mailAddress(1), msisdn(2), url(3), sipUrl(4), min(5),
       
    89   mdn(6), ...
       
    90   }
       
    91 
       
    92 SLPMode ::= ENUMERATED {proxy(0), nonProxy(1)}
       
    93 
       
    94 MAC ::= BIT STRING(SIZE (64))
       
    95 
       
    96 KeyIdentity ::= BIT STRING(SIZE (128))
       
    97 
       
    98 END
       
    99 
       
   100 
       
   101 
       
   102 SUPL-START DEFINITIONS AUTOMATIC TAGS ::=
       
   103 BEGIN
       
   104 
       
   105 EXPORTS SUPLSTART, SETCapabilities;
       
   106 
       
   107 IMPORTS LocationId, QoP
       
   108           FROM ULP-Components;
       
   109 
       
   110 SUPLSTART ::= SEQUENCE {
       
   111   sETCapabilities  SETCapabilities,
       
   112   locationId       LocationId,
       
   113   qoP              QoP OPTIONAL,
       
   114   ...}
       
   115 
       
   116 SETCapabilities ::= SEQUENCE {
       
   117   posTechnology  PosTechnology,
       
   118   prefMethod     PrefMethod,
       
   119   posProtocol    PosProtocol,
       
   120   ...}
       
   121 
       
   122 PosTechnology ::= SEQUENCE {
       
   123   agpsSETassisted  BOOLEAN,
       
   124   agpsSETBased     BOOLEAN,
       
   125   autonomousGPS    BOOLEAN,
       
   126   aFLT             BOOLEAN,
       
   127   eCID             BOOLEAN,
       
   128   eOTD             BOOLEAN,
       
   129   oTDOA            BOOLEAN,
       
   130   ...}
       
   131 
       
   132 PrefMethod ::= ENUMERATED {
       
   133   agpsSETassistedPreferred, agpsSETBasedPreferred, noPreference}
       
   134 
       
   135 PosProtocol ::= SEQUENCE {
       
   136   tia801  BOOLEAN,
       
   137   rrlp    BOOLEAN,
       
   138   rrc     BOOLEAN,
       
   139   ...}
       
   140 
       
   141 END
       
   142 
       
   143 
       
   144 
       
   145 SUPL-RESPONSE DEFINITIONS AUTOMATIC TAGS ::=
       
   146 BEGIN
       
   147 
       
   148 EXPORTS SUPLRESPONSE;
       
   149 
       
   150 IMPORTS PosMethod, SLPAddress
       
   151           FROM ULP-Components;
       
   152 
       
   153 SUPLRESPONSE ::= SEQUENCE {
       
   154   posMethod     PosMethod,
       
   155   sLPAddress    SLPAddress OPTIONAL,
       
   156   sETAuthKey    SETAuthKey OPTIONAL,
       
   157   keyIdentity4  KeyIdentity4 OPTIONAL,
       
   158   ...}
       
   159 
       
   160 SETAuthKey ::= CHOICE {
       
   161   shortKey  BIT STRING(SIZE (128)),
       
   162   longKey   BIT STRING(SIZE (256)),
       
   163   ...}
       
   164 
       
   165 KeyIdentity4 ::= BIT STRING(SIZE (128))
       
   166 
       
   167 END
       
   168 
       
   169 
       
   170 
       
   171 SUPL-POS-INIT DEFINITIONS AUTOMATIC TAGS ::=
       
   172 BEGIN
       
   173 
       
   174 EXPORTS SUPLPOSINIT;
       
   175 
       
   176 IMPORTS
       
   177   SUPLPOS
       
   178     FROM SUPL-POS
       
   179   SETCapabilities
       
   180     FROM SUPL-START
       
   181   LocationId, Position, Ver
       
   182     FROM ULP-Components;
       
   183 
       
   184 SUPLPOSINIT ::= SEQUENCE {
       
   185   sETCapabilities      SETCapabilities,
       
   186   requestedAssistData  RequestedAssistData OPTIONAL,
       
   187   locationId           LocationId,
       
   188   position             Position OPTIONAL,
       
   189   sUPLPOS              SUPLPOS OPTIONAL,
       
   190   ver                  Ver OPTIONAL,
       
   191   ...}
       
   192 
       
   193 RequestedAssistData ::= SEQUENCE {
       
   194   almanacRequested                BOOLEAN,
       
   195   utcModelRequested               BOOLEAN,
       
   196   ionosphericModelRequested       BOOLEAN,
       
   197   dgpsCorrectionsRequested        BOOLEAN,
       
   198   referenceLocationRequested      BOOLEAN,
       
   199   referenceTimeRequested          BOOLEAN,
       
   200   acquisitionAssistanceRequested  BOOLEAN,
       
   201   realTimeIntegrityRequested      BOOLEAN,
       
   202   navigationModelRequested        BOOLEAN,
       
   203   navigationModelData             NavigationModel OPTIONAL,
       
   204   ...}
       
   205 
       
   206 NavigationModel ::= SEQUENCE {
       
   207   gpsWeek   INTEGER(0..1023),
       
   208   gpsToe    INTEGER(0..167),
       
   209   nSAT      INTEGER(0..31),
       
   210   toeLimit  INTEGER(0..10),
       
   211   satInfo   SatelliteInfo OPTIONAL,
       
   212   ...}
       
   213 
       
   214 -- Further information on this fields can be found
       
   215 -- in 3GPP TS 44.031 and 49.031
       
   216 SatelliteInfo ::= SEQUENCE (SIZE (1..31)) OF SatelliteInfoElement
       
   217 
       
   218 SatelliteInfoElement ::= SEQUENCE {
       
   219   satId  INTEGER(0..63),
       
   220   iODE   INTEGER(0..255),
       
   221   ...}
       
   222 
       
   223 END
       
   224 
       
   225 
       
   226 
       
   227 SUPL-POS DEFINITIONS AUTOMATIC TAGS ::=
       
   228 BEGIN
       
   229 
       
   230 EXPORTS SUPLPOS;
       
   231 
       
   232 IMPORTS Velocity
       
   233           FROM ULP-Components;
       
   234 
       
   235 SUPLPOS ::= SEQUENCE {
       
   236   posPayLoad  PosPayLoad,
       
   237   velocity    Velocity OPTIONAL,
       
   238   ...}
       
   239 
       
   240 PosPayLoad ::= CHOICE {
       
   241   tia801payload  OCTET STRING(SIZE (1..8192)),
       
   242   rrcPayload     OCTET STRING(SIZE (1..8192)),
       
   243   rrlpPayload    OCTET STRING(SIZE (1..8192)),
       
   244   ...}
       
   245 
       
   246 END
       
   247 
       
   248 
       
   249 
       
   250 SUPL-END DEFINITIONS AUTOMATIC TAGS ::=
       
   251 BEGIN
       
   252 
       
   253 EXPORTS SUPLEND;
       
   254 
       
   255 IMPORTS StatusCode, Position, Ver
       
   256           FROM ULP-Components;
       
   257 
       
   258 SUPLEND ::= SEQUENCE {
       
   259   position    Position OPTIONAL,
       
   260   statusCode  StatusCode OPTIONAL,
       
   261   ver         Ver OPTIONAL,
       
   262   ...}
       
   263 
       
   264 END
       
   265 
       
   266 
       
   267 
       
   268 SUPL-AUTH-REQ DEFINITIONS AUTOMATIC TAGS ::=
       
   269 BEGIN
       
   270 
       
   271 EXPORTS SUPLAUTHREQ;
       
   272 
       
   273 SUPLAUTHREQ ::= SEQUENCE {
       
   274   sETNonce      SETNonce,
       
   275   keyIdentity2  KeyIdentity2,
       
   276   ...}
       
   277 
       
   278 SETNonce ::= BIT STRING(SIZE (128))
       
   279 
       
   280 KeyIdentity2 ::= BIT STRING(SIZE (128))
       
   281 
       
   282 END
       
   283 
       
   284 
       
   285 
       
   286 SUPL-AUTH-RESP DEFINITIONS AUTOMATIC TAGS ::=
       
   287 BEGIN
       
   288 
       
   289 EXPORTS SUPLAUTHRESP;
       
   290 
       
   291 IMPORTS StatusCode
       
   292           FROM ULP-Components;
       
   293 
       
   294 SUPLAUTHRESP ::= SEQUENCE {
       
   295   sPCAuthKey    SPCAuthKey OPTIONAL,
       
   296   keyIdentity3  KeyIdentity3 OPTIONAL,
       
   297   statusCode    StatusCode OPTIONAL,
       
   298   ...}
       
   299 
       
   300 SPCAuthKey ::= CHOICE {
       
   301   shortKey  BIT STRING(SIZE (128)),
       
   302   longKey   BIT STRING(SIZE (256)),
       
   303   ...}
       
   304 
       
   305 KeyIdentity3 ::= BIT STRING(SIZE (128))
       
   306 
       
   307 END
       
   308 
       
   309 
       
   310 
       
   311 ULP-Components DEFINITIONS AUTOMATIC TAGS ::=
       
   312 BEGIN
       
   313 
       
   314 EXPORTS
       
   315   Version, SessionID, IPAddress, SLPAddress, LocationId, Position, StatusCode,
       
   316     Velocity, QoP, PosMethod, Ver;
       
   317 
       
   318 -- protocol version expressed as x.y.z (e.g., 5.1.0)
       
   319 Version ::= SEQUENCE {
       
   320   maj      INTEGER(0..255),
       
   321   min      INTEGER(0..255),
       
   322   servind  INTEGER(0..255)}
       
   323 
       
   324 SessionID ::= SEQUENCE {
       
   325   setSessionID  SetSessionID OPTIONAL, -- the semantics of OPTIONAL applies to the encoding only. The parameter itself is MANDATORY. This is introduced only to minimize bandwidth for the SUPL INIT message. Since the setSessionID is allocated by the SET, there is no setSessionID to be transmitted in the SUPL INIT message.
       
   326   slpSessionID  SlpSessionID OPTIONAL -- the semantics of OPTIONAL applies to the encoding only. The parameter itself is MANDATORY. This is introduced only to minimize bandwidth for the SUPL START message. Since the slpSessionID is allocated by the SLP, there is no slpSessionID to be transmitted in the SUPL START message.
       
   327 }
       
   328 
       
   329 SetSessionID ::= SEQUENCE {sessionId  INTEGER(0..65535),
       
   330                            setId      SETId}
       
   331 
       
   332 SETId ::= CHOICE {
       
   333   msisdn     OCTET STRING(SIZE (8)),
       
   334   mdn        OCTET STRING(SIZE (8)),
       
   335   min        BIT STRING(SIZE (34)), -- coded according to TIA-553
       
   336   imsi       OCTET STRING(SIZE (8)),
       
   337   nai        IA5String(SIZE (1..1000)),
       
   338   iPAddress  IPAddress,
       
   339   ...}
       
   340 
       
   341 -- msisdn, mdn and imsi are a BCD (Binary Coded Decimal) string 
       
   342 -- represent digits from 0 through 9, 
       
   343 -- two digits per octet, each digit encoded 0000 to 1001 (0 to 9)
       
   344 -- bits 8765 of octet n encoding digit 2n
       
   345 -- bits 4321 of octet n encoding digit 2(n-1) +1
       
   346 -- not used digits in the string shall be filled with 1111 
       
   347 SlpSessionID ::= SEQUENCE {
       
   348   sessionID  OCTET STRING(SIZE (4)),
       
   349   slpId      SLPAddress}
       
   350 
       
   351 IPAddress ::= CHOICE {
       
   352   ipv4Address  OCTET STRING(SIZE (4)),
       
   353   ipv6Address  OCTET STRING(SIZE (16))}
       
   354 
       
   355 SLPAddress ::= CHOICE {iPAddress  IPAddress,
       
   356                        fQDN       FQDN,
       
   357                        ...}
       
   358 
       
   359 FQDN ::=
       
   360   VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ".-"))(SIZE (1..255))
       
   361 
       
   362 Ver ::= BIT STRING(SIZE (64))
       
   363 
       
   364 LocationId ::= SEQUENCE {cellInfo  CellInfo,
       
   365                          status    Status,
       
   366                          ...}
       
   367 
       
   368 Status ::= ENUMERATED {stale(0), current(1), unknown(2), ...
       
   369                        }
       
   370 
       
   371 CellInfo ::= CHOICE {
       
   372   gsmCell    GsmCellInformation,
       
   373   wcdmaCell  WcdmaCellInformation,
       
   374   cdmaCell   CdmaCellInformation,
       
   375   ...}
       
   376 
       
   377 Position ::= SEQUENCE {
       
   378   timestamp         UTCTime, -- shall include seconds and shall use UTC time. 
       
   379   positionEstimate  PositionEstimate,
       
   380   velocity          Velocity OPTIONAL,
       
   381   ...}
       
   382 
       
   383 PositionEstimate ::= SEQUENCE {
       
   384   latitudeSign  ENUMERATED {north, south},
       
   385   latitude      INTEGER(0..8388607),
       
   386   longitude     INTEGER(-8388608..8388607),
       
   387   uncertainty
       
   388     SEQUENCE {uncertaintySemiMajor  INTEGER(0..127),
       
   389               uncertaintySemiMinor  INTEGER(0..127),
       
   390               orientationMajorAxis  INTEGER(0..180)} OPTIONAL,
       
   391   -- angle in degree between major axis and North
       
   392   confidence    INTEGER(0..100) OPTIONAL,
       
   393   altitudeInfo  AltitudeInfo OPTIONAL,
       
   394   ...}
       
   395 
       
   396 AltitudeInfo ::= SEQUENCE {
       
   397   altitudeDirection  ENUMERATED {height, depth},
       
   398   altitude           INTEGER(0..32767),
       
   399   altUncertainty     INTEGER(0..127),
       
   400   ...} -- based on 3GPP TS 23.032
       
   401 
       
   402 CdmaCellInformation ::= SEQUENCE {
       
   403   refNID         INTEGER(0..65535), -- Network Id
       
   404   refSID         INTEGER(0..32767), -- System Id
       
   405   refBASEID      INTEGER(0..65535), -- Base Station Id
       
   406   refBASELAT     INTEGER(0..4194303), -- Base Station Latitude
       
   407   reBASELONG     INTEGER(0..8388607), -- Base Station Longitude
       
   408   refREFPN       INTEGER(0..511), -- Base Station PN Code
       
   409   refWeekNumber  INTEGER(0..65535), -- GPS Week Number
       
   410   refSeconds     INTEGER(0..4194303)-- GPS Seconds -- ,
       
   411   ...}
       
   412 
       
   413 GsmCellInformation ::= SEQUENCE {
       
   414   refMCC  INTEGER(0..999), -- Mobile Country Code
       
   415   refMNC  INTEGER(0..999), -- Mobile Network Code
       
   416   refLAC  INTEGER(0..65535), -- Location area code
       
   417   refCI   INTEGER(0..65535), -- Cell identity
       
   418   nMR     NMR OPTIONAL,
       
   419   tA      INTEGER(0..255) OPTIONAL, --Timing Advance
       
   420   ...}
       
   421 
       
   422 WcdmaCellInformation ::= SEQUENCE {
       
   423   refMCC                 INTEGER(0..999), -- Mobile Country Code
       
   424   refMNC                 INTEGER(0..999), -- Mobile Network Code
       
   425   refUC                  INTEGER(0..268435455), -- Cell identity
       
   426   frequencyInfo          FrequencyInfo OPTIONAL,
       
   427   primaryScramblingCode  INTEGER(0..511) OPTIONAL,
       
   428   measuredResultsList    MeasuredResultsList OPTIONAL,
       
   429   ...}
       
   430 
       
   431 FrequencyInfo ::= SEQUENCE {
       
   432   modeSpecificInfo  CHOICE {fdd  FrequencyInfoFDD,
       
   433                             tdd  FrequencyInfoTDD,
       
   434                             ...},
       
   435   ...}
       
   436 
       
   437 FrequencyInfoFDD ::= SEQUENCE {
       
   438   uarfcn-UL  UARFCN OPTIONAL,
       
   439   uarfcn-DL  UARFCN,
       
   440   ...}
       
   441 
       
   442 FrequencyInfoTDD ::= SEQUENCE {uarfcn-Nt  UARFCN,
       
   443                                ...}
       
   444 
       
   445 UARFCN ::= INTEGER(0..16383)
       
   446 
       
   447 NMR ::= SEQUENCE (SIZE (1..15)) OF NMRelement
       
   448 
       
   449 NMRelement ::= SEQUENCE {
       
   450   aRFCN  INTEGER(0..1023),
       
   451   bSIC   INTEGER(0..63),
       
   452   rxLev  INTEGER(0..63),
       
   453   ...}
       
   454 
       
   455 MeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasuredResults
       
   456 
       
   457 MeasuredResults ::= SEQUENCE {
       
   458   frequencyInfo            FrequencyInfo OPTIONAL,
       
   459   utra-CarrierRSSI         UTRA-CarrierRSSI OPTIONAL,
       
   460   cellMeasuredResultsList  CellMeasuredResultsList OPTIONAL}
       
   461 
       
   462 CellMeasuredResultsList ::=
       
   463   SEQUENCE (SIZE (1..maxCellMeas)) OF CellMeasuredResults
       
   464 
       
   465 -- SPARE: UTRA-CarrierRSSI, Max = 76
       
   466 -- Values above Max are spare
       
   467 UTRA-CarrierRSSI ::= INTEGER(0..127)
       
   468 
       
   469 CellMeasuredResults ::= SEQUENCE {
       
   470   cellIdentity      INTEGER(0..268435455) OPTIONAL,
       
   471   modeSpecificInfo
       
   472     CHOICE {fdd
       
   473               SEQUENCE {primaryCPICH-Info  PrimaryCPICH-Info,
       
   474                         cpich-Ec-N0        CPICH-Ec-N0 OPTIONAL,
       
   475                         cpich-RSCP         CPICH-RSCP OPTIONAL,
       
   476                         pathloss           Pathloss OPTIONAL},
       
   477             tdd
       
   478               SEQUENCE {cellParametersID   CellParametersID,
       
   479                         proposedTGSN       TGSN OPTIONAL,
       
   480                         primaryCCPCH-RSCP  PrimaryCCPCH-RSCP OPTIONAL,
       
   481                         pathloss           Pathloss OPTIONAL,
       
   482                         timeslotISCP-List  TimeslotISCP-List OPTIONAL}}}
       
   483 
       
   484 CellParametersID ::= INTEGER(0..127)
       
   485 
       
   486 TGSN ::= INTEGER(0..14)
       
   487 
       
   488 PrimaryCCPCH-RSCP ::= INTEGER(0..127)
       
   489 
       
   490 -- SPARE: TimeslotISCP, Max = 91
       
   491 -- Values above Max are spare
       
   492 TimeslotISCP ::= INTEGER(0..127)
       
   493 
       
   494 TimeslotISCP-List ::= SEQUENCE (SIZE (1..maxTS)) OF TimeslotISCP
       
   495 
       
   496 PrimaryCPICH-Info ::= SEQUENCE {primaryScramblingCode  INTEGER(0..511)}
       
   497 
       
   498 -- SPARE: CPICH-Ec-No, Max = 49
       
   499 -- Values above Max are spare
       
   500 CPICH-Ec-N0 ::= INTEGER(0..63)
       
   501 
       
   502 -- SPARE: CPICH- RSCP, Max = 91
       
   503 -- Values above Max are spare
       
   504 CPICH-RSCP ::= INTEGER(0..127)
       
   505 
       
   506 -- SPARE: Pathloss, Max = 158
       
   507 -- Values above Max are spare
       
   508 Pathloss ::= INTEGER(46..173)
       
   509 
       
   510 maxCellMeas INTEGER ::= 32
       
   511 
       
   512 maxFreq INTEGER ::= 8
       
   513 
       
   514 maxTS INTEGER ::= 14
       
   515 
       
   516 StatusCode ::= ENUMERATED {
       
   517   unspecified(0), systemFailure(1), unexpectedMessage(2), protocolError(3),
       
   518   dataMissing(4), unexpectedDataValue(5), posMethodFailure(6),
       
   519   posMethodMismatch(7), posProtocolMismatch(8), targetSETnotReachable(9),
       
   520   versionNotSupported(10), resourceShortage(11), invalidSessionId(12),
       
   521   nonProxyModeNotSupported(13), proxyModeNotSupported(14),
       
   522   positioningNotPermitted(15), authNetFailure(16), authSuplinitFailure(17), consentDeniedByUser(100),
       
   523   consentGrantedByUser(101), ...
       
   524   }
       
   525 
       
   526 QoP ::= SEQUENCE {
       
   527   horacc     INTEGER(0..127),
       
   528   veracc     INTEGER(0..127) OPTIONAL, -- as defined in 3GPP TS 23.032 "uncertainty altitude"
       
   529   maxLocAge  INTEGER(0..65535) OPTIONAL,
       
   530   delay      INTEGER(0..7) OPTIONAL, -- as defined in 3GPP TS 44.031
       
   531   ...}
       
   532 
       
   533 Velocity ::= CHOICE { -- velocity definition as per 23.032
       
   534   horvel           Horvel,
       
   535   horandvervel     Horandvervel,
       
   536   horveluncert     Horveluncert,
       
   537   horandveruncert  Horandveruncert,
       
   538   ...}
       
   539 
       
   540 Horvel ::= SEQUENCE {
       
   541   bearing   BIT STRING(SIZE (9)),
       
   542   horspeed  BIT STRING(SIZE (16)),
       
   543   ...}
       
   544 
       
   545 Horandvervel ::= SEQUENCE {
       
   546   verdirect  BIT STRING(SIZE (1)),
       
   547   bearing    BIT STRING(SIZE (9)),
       
   548   horspeed   BIT STRING(SIZE (16)),
       
   549   verspeed   BIT STRING(SIZE (8)),
       
   550   ...}
       
   551 
       
   552 Horveluncert ::= SEQUENCE {
       
   553   bearing      BIT STRING(SIZE (9)),
       
   554   horspeed     BIT STRING(SIZE (16)),
       
   555   uncertspeed  BIT STRING(SIZE (8)),
       
   556   ...}
       
   557 
       
   558 Horandveruncert ::= SEQUENCE {
       
   559   verdirect       BIT STRING(SIZE (1)),
       
   560   bearing         BIT STRING(SIZE (9)),
       
   561   horspeed        BIT STRING(SIZE (16)),
       
   562   verspeed        BIT STRING(SIZE (8)),
       
   563   horuncertspeed  BIT STRING(SIZE (8)),
       
   564   veruncertspeed  BIT STRING(SIZE (8)),
       
   565   ...}
       
   566 
       
   567 PosMethod ::= ENUMERATED {
       
   568   agpsSETassisted(0), agpsSETbased(1), agpsSETassistedpref(2),
       
   569   agpsSETbasedpref(3), autonomousGPS(4), aFLT(5), eCID(6), eOTD(7), oTDOA(8),
       
   570   noPosition(9), 
       
   571   ...}
       
   572 
       
   573 END