networkprotocolmodules/common/suplrrlpasn1/group/supl_asn1.txt
branchRCL_3
changeset 65 a796fdeeb33c
parent 0 9cfd9a3ee49c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkprotocolmodules/common/suplrrlpasn1/group/supl_asn1.txt	Wed Oct 13 16:07:50 2010 +0300
@@ -0,0 +1,573 @@
+ULP DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+  Version, SessionID
+    FROM ULP-Components
+  SUPLINIT
+    FROM SUPL-INIT
+  SUPLSTART
+    FROM SUPL-START
+  SUPLRESPONSE
+    FROM SUPL-RESPONSE
+  SUPLPOSINIT
+    FROM SUPL-POS-INIT
+  SUPLPOS
+    FROM SUPL-POS
+  SUPLEND
+    FROM SUPL-END
+  SUPLAUTHREQ
+    FROM SUPL-AUTH-REQ
+  SUPLAUTHRESP
+    FROM SUPL-AUTH-RESP;
+
+-- general ULP PDU layout;
+ULP-PDU ::= SEQUENCE {
+  length     INTEGER(0..65535),
+  version    Version,
+  sessionID  SessionID,
+  message    UlpMessage}
+
+UlpMessage ::= CHOICE {
+  msSUPLINIT      SUPLINIT,
+  msSUPLSTART     SUPLSTART,
+  msSUPLRESPONSE  SUPLRESPONSE,
+  msSUPLPOSINIT   SUPLPOSINIT,
+  msSUPLPOS       SUPLPOS,
+  msSUPLEND       SUPLEND,
+  msSUPLAUTHREQ   SUPLAUTHREQ,
+  msSUPLAUTHRESP  SUPLAUTHRESP,
+  ...}
+
+END
+
+
+
+
+SUPL-INIT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLINIT;
+
+IMPORTS SLPAddress, QoP, PosMethod
+          FROM ULP-Components;
+
+SUPLINIT ::= SEQUENCE {
+  posMethod     PosMethod,
+  notification  Notification OPTIONAL,
+  sLPAddress    SLPAddress OPTIONAL,
+  qoP           QoP OPTIONAL,
+  sLPMode       SLPMode,
+  mAC           MAC OPTIONAL,
+  keyIdentity   KeyIdentity 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,
+  ...}
+
+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), ...
+  }
+
+SLPMode ::= ENUMERATED {proxy(0), nonProxy(1)}
+
+MAC ::= BIT STRING(SIZE (64))
+
+KeyIdentity ::= BIT STRING(SIZE (128))
+
+END
+
+
+
+SUPL-START DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLSTART, SETCapabilities;
+
+IMPORTS LocationId, QoP
+          FROM ULP-Components;
+
+SUPLSTART ::= SEQUENCE {
+  sETCapabilities  SETCapabilities,
+  locationId       LocationId,
+  qoP              QoP OPTIONAL,
+  ...}
+
+SETCapabilities ::= SEQUENCE {
+  posTechnology  PosTechnology,
+  prefMethod     PrefMethod,
+  posProtocol    PosProtocol,
+  ...}
+
+PosTechnology ::= SEQUENCE {
+  agpsSETassisted  BOOLEAN,
+  agpsSETBased     BOOLEAN,
+  autonomousGPS    BOOLEAN,
+  aFLT             BOOLEAN,
+  eCID             BOOLEAN,
+  eOTD             BOOLEAN,
+  oTDOA            BOOLEAN,
+  ...}
+
+PrefMethod ::= ENUMERATED {
+  agpsSETassistedPreferred, agpsSETBasedPreferred, noPreference}
+
+PosProtocol ::= SEQUENCE {
+  tia801  BOOLEAN,
+  rrlp    BOOLEAN,
+  rrc     BOOLEAN,
+  ...}
+
+END
+
+
+
+SUPL-RESPONSE DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLRESPONSE;
+
+IMPORTS PosMethod, SLPAddress
+          FROM ULP-Components;
+
+SUPLRESPONSE ::= SEQUENCE {
+  posMethod     PosMethod,
+  sLPAddress    SLPAddress OPTIONAL,
+  sETAuthKey    SETAuthKey OPTIONAL,
+  keyIdentity4  KeyIdentity4 OPTIONAL,
+  ...}
+
+SETAuthKey ::= CHOICE {
+  shortKey  BIT STRING(SIZE (128)),
+  longKey   BIT STRING(SIZE (256)),
+  ...}
+
+KeyIdentity4 ::= BIT STRING(SIZE (128))
+
+END
+
+
+
+SUPL-POS-INIT DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLPOSINIT;
+
+IMPORTS
+  SUPLPOS
+    FROM SUPL-POS
+  SETCapabilities
+    FROM SUPL-START
+  LocationId, Position, Ver
+    FROM ULP-Components;
+
+SUPLPOSINIT ::= SEQUENCE {
+  sETCapabilities      SETCapabilities,
+  requestedAssistData  RequestedAssistData OPTIONAL,
+  locationId           LocationId,
+  position             Position OPTIONAL,
+  sUPLPOS              SUPLPOS OPTIONAL,
+  ver                  Ver OPTIONAL,
+  ...}
+
+RequestedAssistData ::= SEQUENCE {
+  almanacRequested                BOOLEAN,
+  utcModelRequested               BOOLEAN,
+  ionosphericModelRequested       BOOLEAN,
+  dgpsCorrectionsRequested        BOOLEAN,
+  referenceLocationRequested      BOOLEAN,
+  referenceTimeRequested          BOOLEAN,
+  acquisitionAssistanceRequested  BOOLEAN,
+  realTimeIntegrityRequested      BOOLEAN,
+  navigationModelRequested        BOOLEAN,
+  navigationModelData             NavigationModel 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 TS 44.031 and 49.031
+SatelliteInfo ::= SEQUENCE (SIZE (1..31)) OF SatelliteInfoElement
+
+SatelliteInfoElement ::= SEQUENCE {
+  satId  INTEGER(0..63),
+  iODE   INTEGER(0..255),
+  ...}
+
+END
+
+
+
+SUPL-POS DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLPOS;
+
+IMPORTS Velocity
+          FROM ULP-Components;
+
+SUPLPOS ::= SEQUENCE {
+  posPayLoad  PosPayLoad,
+  velocity    Velocity OPTIONAL,
+  ...}
+
+PosPayLoad ::= CHOICE {
+  tia801payload  OCTET STRING(SIZE (1..8192)),
+  rrcPayload     OCTET STRING(SIZE (1..8192)),
+  rrlpPayload    OCTET STRING(SIZE (1..8192)),
+  ...}
+
+END
+
+
+
+SUPL-END DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLEND;
+
+IMPORTS StatusCode, Position, Ver
+          FROM ULP-Components;
+
+SUPLEND ::= SEQUENCE {
+  position    Position OPTIONAL,
+  statusCode  StatusCode OPTIONAL,
+  ver         Ver OPTIONAL,
+  ...}
+
+END
+
+
+
+SUPL-AUTH-REQ DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLAUTHREQ;
+
+SUPLAUTHREQ ::= SEQUENCE {
+  sETNonce      SETNonce,
+  keyIdentity2  KeyIdentity2,
+  ...}
+
+SETNonce ::= BIT STRING(SIZE (128))
+
+KeyIdentity2 ::= BIT STRING(SIZE (128))
+
+END
+
+
+
+SUPL-AUTH-RESP DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS SUPLAUTHRESP;
+
+IMPORTS StatusCode
+          FROM ULP-Components;
+
+SUPLAUTHRESP ::= SEQUENCE {
+  sPCAuthKey    SPCAuthKey OPTIONAL,
+  keyIdentity3  KeyIdentity3 OPTIONAL,
+  statusCode    StatusCode OPTIONAL,
+  ...}
+
+SPCAuthKey ::= CHOICE {
+  shortKey  BIT STRING(SIZE (128)),
+  longKey   BIT STRING(SIZE (256)),
+  ...}
+
+KeyIdentity3 ::= BIT STRING(SIZE (128))
+
+END
+
+
+
+ULP-Components DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXPORTS
+  Version, SessionID, IPAddress, SLPAddress, LocationId, Position, StatusCode,
+    Velocity, QoP, PosMethod, Ver;
+
+-- protocol version expressed as x.y.z (e.g., 5.1.0)
+Version ::= SEQUENCE {
+  maj      INTEGER(0..255),
+  min      INTEGER(0..255),
+  servind  INTEGER(0..255)}
+
+SessionID ::= SEQUENCE {
+  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.
+  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.
+}
+
+SetSessionID ::= SEQUENCE {sessionId  INTEGER(0..65535),
+                           setId      SETId}
+
+SETId ::= CHOICE {
+  msisdn     OCTET STRING(SIZE (8)),
+  mdn        OCTET STRING(SIZE (8)),
+  min        BIT STRING(SIZE (34)), -- coded according to TIA-553
+  imsi       OCTET STRING(SIZE (8)),
+  nai        IA5String(SIZE (1..1000)),
+  iPAddress  IPAddress,
+  ...}
+
+-- msisdn, mdn and imsi are a BCD (Binary Coded Decimal) string 
+-- represent digits from 0 through 9, 
+-- two digits per octet, each digit encoded 0000 to 1001 (0 to 9)
+-- bits 8765 of octet n encoding digit 2n
+-- bits 4321 of octet n encoding digit 2(n-1) +1
+-- not used digits in the string shall be filled with 1111 
+SlpSessionID ::= SEQUENCE {
+  sessionID  OCTET STRING(SIZE (4)),
+  slpId      SLPAddress}
+
+IPAddress ::= CHOICE {
+  ipv4Address  OCTET STRING(SIZE (4)),
+  ipv6Address  OCTET STRING(SIZE (16))}
+
+SLPAddress ::= CHOICE {iPAddress  IPAddress,
+                       fQDN       FQDN,
+                       ...}
+
+FQDN ::=
+  VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ".-"))(SIZE (1..255))
+
+Ver ::= BIT STRING(SIZE (64))
+
+LocationId ::= SEQUENCE {cellInfo  CellInfo,
+                         status    Status,
+                         ...}
+
+Status ::= ENUMERATED {stale(0), current(1), unknown(2), ...
+                       }
+
+CellInfo ::= CHOICE {
+  gsmCell    GsmCellInformation,
+  wcdmaCell  WcdmaCellInformation,
+  cdmaCell   CdmaCellInformation,
+  ...}
+
+Position ::= SEQUENCE {
+  timestamp         UTCTime, -- shall include seconds and shall use UTC time. 
+  positionEstimate  PositionEstimate,
+  velocity          Velocity OPTIONAL,
+  ...}
+
+PositionEstimate ::= SEQUENCE {
+  latitudeSign  ENUMERATED {north, south},
+  latitude      INTEGER(0..8388607),
+  longitude     INTEGER(-8388608..8388607),
+  uncertainty
+    SEQUENCE {uncertaintySemiMajor  INTEGER(0..127),
+              uncertaintySemiMinor  INTEGER(0..127),
+              orientationMajorAxis  INTEGER(0..180)} OPTIONAL,
+  -- angle in degree between major axis and North
+  confidence    INTEGER(0..100) OPTIONAL,
+  altitudeInfo  AltitudeInfo OPTIONAL,
+  ...}
+
+AltitudeInfo ::= SEQUENCE {
+  altitudeDirection  ENUMERATED {height, depth},
+  altitude           INTEGER(0..32767),
+  altUncertainty     INTEGER(0..127),
+  ...} -- based on 3GPP TS 23.032
+
+CdmaCellInformation ::= SEQUENCE {
+  refNID         INTEGER(0..65535), -- Network Id
+  refSID         INTEGER(0..32767), -- System Id
+  refBASEID      INTEGER(0..65535), -- Base Station Id
+  refBASELAT     INTEGER(0..4194303), -- Base Station Latitude
+  reBASELONG     INTEGER(0..8388607), -- Base Station Longitude
+  refREFPN       INTEGER(0..511), -- Base Station PN Code
+  refWeekNumber  INTEGER(0..65535), -- GPS Week Number
+  refSeconds     INTEGER(0..4194303)-- GPS Seconds -- ,
+  ...}
+
+GsmCellInformation ::= SEQUENCE {
+  refMCC  INTEGER(0..999), -- Mobile Country Code
+  refMNC  INTEGER(0..999), -- Mobile Network Code
+  refLAC  INTEGER(0..65535), -- Location area code
+  refCI   INTEGER(0..65535), -- Cell identity
+  nMR     NMR OPTIONAL,
+  tA      INTEGER(0..255) OPTIONAL, --Timing Advance
+  ...}
+
+WcdmaCellInformation ::= SEQUENCE {
+  refMCC                 INTEGER(0..999), -- Mobile Country Code
+  refMNC                 INTEGER(0..999), -- Mobile Network Code
+  refUC                  INTEGER(0..268435455), -- Cell identity
+  frequencyInfo          FrequencyInfo OPTIONAL,
+  primaryScramblingCode  INTEGER(0..511) OPTIONAL,
+  measuredResultsList    MeasuredResultsList OPTIONAL,
+  ...}
+
+FrequencyInfo ::= SEQUENCE {
+  modeSpecificInfo  CHOICE {fdd  FrequencyInfoFDD,
+                            tdd  FrequencyInfoTDD,
+                            ...},
+  ...}
+
+FrequencyInfoFDD ::= SEQUENCE {
+  uarfcn-UL  UARFCN OPTIONAL,
+  uarfcn-DL  UARFCN,
+  ...}
+
+FrequencyInfoTDD ::= SEQUENCE {uarfcn-Nt  UARFCN,
+                               ...}
+
+UARFCN ::= INTEGER(0..16383)
+
+NMR ::= SEQUENCE (SIZE (1..15)) OF NMRelement
+
+NMRelement ::= SEQUENCE {
+  aRFCN  INTEGER(0..1023),
+  bSIC   INTEGER(0..63),
+  rxLev  INTEGER(0..63),
+  ...}
+
+MeasuredResultsList ::= SEQUENCE (SIZE (1..maxFreq)) OF MeasuredResults
+
+MeasuredResults ::= SEQUENCE {
+  frequencyInfo            FrequencyInfo OPTIONAL,
+  utra-CarrierRSSI         UTRA-CarrierRSSI OPTIONAL,
+  cellMeasuredResultsList  CellMeasuredResultsList OPTIONAL}
+
+CellMeasuredResultsList ::=
+  SEQUENCE (SIZE (1..maxCellMeas)) OF CellMeasuredResults
+
+-- SPARE: UTRA-CarrierRSSI, Max = 76
+-- Values above Max are spare
+UTRA-CarrierRSSI ::= INTEGER(0..127)
+
+CellMeasuredResults ::= SEQUENCE {
+  cellIdentity      INTEGER(0..268435455) OPTIONAL,
+  modeSpecificInfo
+    CHOICE {fdd
+              SEQUENCE {primaryCPICH-Info  PrimaryCPICH-Info,
+                        cpich-Ec-N0        CPICH-Ec-N0 OPTIONAL,
+                        cpich-RSCP         CPICH-RSCP OPTIONAL,
+                        pathloss           Pathloss OPTIONAL},
+            tdd
+              SEQUENCE {cellParametersID   CellParametersID,
+                        proposedTGSN       TGSN OPTIONAL,
+                        primaryCCPCH-RSCP  PrimaryCCPCH-RSCP OPTIONAL,
+                        pathloss           Pathloss OPTIONAL,
+                        timeslotISCP-List  TimeslotISCP-List OPTIONAL}}}
+
+CellParametersID ::= INTEGER(0..127)
+
+TGSN ::= INTEGER(0..14)
+
+PrimaryCCPCH-RSCP ::= INTEGER(0..127)
+
+-- SPARE: TimeslotISCP, Max = 91
+-- Values above Max are spare
+TimeslotISCP ::= INTEGER(0..127)
+
+TimeslotISCP-List ::= SEQUENCE (SIZE (1..maxTS)) OF TimeslotISCP
+
+PrimaryCPICH-Info ::= SEQUENCE {primaryScramblingCode  INTEGER(0..511)}
+
+-- SPARE: CPICH-Ec-No, Max = 49
+-- Values above Max are spare
+CPICH-Ec-N0 ::= INTEGER(0..63)
+
+-- SPARE: CPICH- RSCP, Max = 91
+-- Values above Max are spare
+CPICH-RSCP ::= INTEGER(0..127)
+
+-- SPARE: Pathloss, Max = 158
+-- Values above Max are spare
+Pathloss ::= INTEGER(46..173)
+
+maxCellMeas INTEGER ::= 32
+
+maxFreq INTEGER ::= 8
+
+maxTS INTEGER ::= 14
+
+StatusCode ::= ENUMERATED {
+  unspecified(0), systemFailure(1), unexpectedMessage(2), protocolError(3),
+  dataMissing(4), unexpectedDataValue(5), posMethodFailure(6),
+  posMethodMismatch(7), posProtocolMismatch(8), targetSETnotReachable(9),
+  versionNotSupported(10), resourceShortage(11), invalidSessionId(12),
+  nonProxyModeNotSupported(13), proxyModeNotSupported(14),
+  positioningNotPermitted(15), authNetFailure(16), authSuplinitFailure(17), consentDeniedByUser(100),
+  consentGrantedByUser(101), ...
+  }
+
+QoP ::= SEQUENCE {
+  horacc     INTEGER(0..127),
+  veracc     INTEGER(0..127) OPTIONAL, -- as defined in 3GPP TS 23.032 "uncertainty altitude"
+  maxLocAge  INTEGER(0..65535) OPTIONAL,
+  delay      INTEGER(0..7) OPTIONAL, -- as defined in 3GPP TS 44.031
+  ...}
+
+Velocity ::= CHOICE { -- velocity definition as per 23.032
+  horvel           Horvel,
+  horandvervel     Horandvervel,
+  horveluncert     Horveluncert,
+  horandveruncert  Horandveruncert,
+  ...}
+
+Horvel ::= SEQUENCE {
+  bearing   BIT STRING(SIZE (9)),
+  horspeed  BIT STRING(SIZE (16)),
+  ...}
+
+Horandvervel ::= SEQUENCE {
+  verdirect  BIT STRING(SIZE (1)),
+  bearing    BIT STRING(SIZE (9)),
+  horspeed   BIT STRING(SIZE (16)),
+  verspeed   BIT STRING(SIZE (8)),
+  ...}
+
+Horveluncert ::= SEQUENCE {
+  bearing      BIT STRING(SIZE (9)),
+  horspeed     BIT STRING(SIZE (16)),
+  uncertspeed  BIT STRING(SIZE (8)),
+  ...}
+
+Horandveruncert ::= SEQUENCE {
+  verdirect       BIT STRING(SIZE (1)),
+  bearing         BIT STRING(SIZE (9)),
+  horspeed        BIT STRING(SIZE (16)),
+  verspeed        BIT STRING(SIZE (8)),
+  horuncertspeed  BIT STRING(SIZE (8)),
+  veruncertspeed  BIT STRING(SIZE (8)),
+  ...}
+
+PosMethod ::= ENUMERATED {
+  agpsSETassisted(0), agpsSETbased(1), agpsSETassistedpref(2),
+  agpsSETbasedpref(3), autonomousGPS(4), aFLT(5), eCID(6), eOTD(7), oTDOA(8),
+  noPosition(9), 
+  ...}
+
+END