ULP regenerated from OMA UserPlane Location Protocol Candidate Version 1.0 – 22 Jan...
authorkukosa <kukosa@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 15 May 2007 08:26:18 +0000 (08:26 +0000)
committerkukosa <kukosa@f5534014-38df-0310-8fa8-9805f1628bb7>
Tue, 15 May 2007 08:26:18 +0000 (08:26 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21778 f5534014-38df-0310-8fa8-9805f1628bb7

12 files changed:
asn1/Makefile.am
asn1/ulp/Makefile
asn1/ulp/Makefile.nmake
asn1/ulp/SUPL.asn [new file with mode: 0644]
asn1/ulp/ULP-Components.asn [new file with mode: 0644]
asn1/ulp/ULP.asn
asn1/ulp/packet-ulp-template.c
asn1/ulp/packet-ulp-template.h [deleted file]
asn1/ulp/ulp.cnf
epan/dissectors/Makefile.common
epan/dissectors/packet-ulp.c
epan/dissectors/packet-ulp.h [deleted file]

index a28d13a8fd6549ed3597620eeea19c03932bf0a3..c19aa83520f403af8e684e9d379606263c33488a 100644 (file)
@@ -398,10 +398,10 @@ EXTRA_DIST = \
        ulp/Makefile    \
        ulp/Makefile.nmake      \
        ulp/packet-ulp-template.c       \
-       ulp/packet-ulp-template.h       \
        ulp/ULP.asn     \
+       ulp/SULP.asn    \
+       ulp/ULP-Components.asn  \
        ulp/ulp.cnf     \
-       ulp/ulp-exp.cnf \
        umts_rrc/Makefile       \
        umts_rrc/Makefile.nmake \
        umts_rrc/packet-umts_rrc-template.c     \
index a309bd122318e953ba7bf67beb6fe262a10bf16f..286d4fa241913f1a7d1b269d779191a3ebe371a3 100644 (file)
@@ -1,13 +1,13 @@
 # $Id$
 
-DISSECTOR_FILES=packet-ulp.c packet-ulp.h
+DISSECTOR_FILES=packet-ulp.c
 
 all: generate_dissector
 
 generate_dissector: $(DISSECTOR_FILES)
 
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py ULP.asn packet-ulp-template.c packet-ulp-template.h ulp.cnf
-       python ../../tools/asn2wrs.py -e -p ulp -c ulp.cnf -s packet-ulp-template  ULP.asn
+$(DISSECTOR_FILES): ../../tools/asn2wrs.py ULP.asn SUPL.asn ULP-Components.asn packet-ulp-template.c ulp.cnf
+       python ../../tools/asn2wrs.py -p ulp -c ulp.cnf -s packet-ulp-template  ULP.asn SUPL.asn ULP-Components.asn
 
 clean:
        rm -f parsetab.py parsetab.pyc $(DISSECTOR_FILES)
index 15c44f28ec197bafdcafed156b9272d3ceb3ccde..7c67989423ef4a01af5139379f5c3ee6e5f308ac 100644 (file)
@@ -7,15 +7,16 @@ include ../../config.nmake
 UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
 
 PROTOCOL_NAME=ulp
-DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h
+DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c
+ULP_ASN=ULP.asn SUPL.asn ULP-Components.asn
 
 all: generate_dissector
 
 generate_dissector: $(DISSECTOR_FILES)
 
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py ULP.asn packet-ulp-template.c packet-ulp-template.h ulp.cnf
+$(DISSECTOR_FILES): ../../tools/asn2wrs.py $(ULP_ASN) packet-ulp-template.c ulp.cnf
 !IFDEF PYTHON
-       $(PYTHON) "../../tools/asn2wrs.py" -u -e -p $(PROTOCOL_NAME) -c ulp.cnf -s packet-ulp-template ULP.asn
+       $(PYTHON) "../../tools/asn2wrs.py" -p $(PROTOCOL_NAME) -c ulp.cnf -s packet-ulp-template $(ULP_ASN)
 !ELSE
        @echo Error: You need Python to use asn2wrs.py
        @exit 1
@@ -35,12 +36,9 @@ maintainer-clean: distclean
 
 fix_eol: generate_dissector
        move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp
-       move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
        $(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
-       $(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
-       del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
+       del /f packet-$(PROTOCOL_NAME).c.tmp
 
 copy_files: generate_dissector fix_eol
        xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
-       xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
 
diff --git a/asn1/ulp/SUPL.asn b/asn1/ulp/SUPL.asn
new file mode 100644 (file)
index 0000000..56c0886
--- /dev/null
@@ -0,0 +1,276 @@
+-- SUPL.asn
+--
+-- Taken from OMA UserPlane Location Protocol Candidate Version 1.0 \96 22 Jan 2007
+-- http://www.openmobilealliance.org/release_program/docs/SUPL/V1_0-20070122-C/OMA-TS-ULP-V1_0-20070122-C.pdf
+--
+-- 8.2 Message Specific Part 
+--
+
+--
+-- 8.2.1 SUPL INIT 
+--
+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), imsPublicIdentity(7), ... 
+  }
+SLPMode ::= ENUMERATED {proxy(0), nonProxy(1)} 
+MAC ::= BIT STRING(SIZE (64)) 
+KeyIdentity ::= BIT STRING(SIZE (128)) 
+END 
+--
+-- 8.2.2 SUPL START 
+--
+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 
+--
+-- 8.2.3 SUPL RESPONSE 
+--
+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 
+--
+-- 8.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; 
+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 
+--
+-- 8.2.5 SUPL POS 
+--
+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 
+
+--
+-- 8.2.6 SUPL 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 
+--
+-- 8.2.7 SUPL AUTH REQ 
+--
+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 
+--
+-- 8.2.8 SUPL AUTH RESP 
+--
+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 
diff --git a/asn1/ulp/ULP-Components.asn b/asn1/ulp/ULP-Components.asn
new file mode 100644 (file)
index 0000000..2f18603
--- /dev/null
@@ -0,0 +1,267 @@
+-- UPL-Components.asn
+--
+-- Taken from OMA UserPlane Location Protocol Candidate Version 1.0 \96 22 Jan 2007
+-- http://www.openmobilealliance.org/release_program/docs/SUPL/V1_0-20070122-C/OMA-TS-ULP-V1_0-20070122-C.pdf
+--
+-- 8.3 Common elements 
+--
+
+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 \93uncertainty altitude\94\97 
+  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 
index 22ea6fc46070063e814138cab461262fcde8354a..e5b9753dc6945aba1c0ae5cac5ebcd0fc8287367 100644 (file)
-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
---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  IPv4Address,
-  ipv6Address  IPv6Address
-  }
-
-IPv4Address ::= OCTET STRING(SIZE (4))
-IPv6Address ::= OCTET STRING(SIZE (16))
-
-SLPAddress ::= CHOICE {iPAddress  IPAddress,
-                       fQDN       FQDN,
-                       ...}
-
-FQDN ::= VisibleString(SIZE (1..255))
---  VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ".-"))(SIZE (1..255))
-
-Ver ::= BIT STRING(SIZE (64))
-
---LocationId ::= SEQUENCE {gsmCell    GsmCellInformation OPTIONAL,
---                         wcdmaCell  WcdmaCellInformation OPTIONAL,
---                         cdmaCell   CdmaCellInformation OPTIONAL,
---                         status    Status,
---                         ...}
-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 \93uncertainty altitude\94-
-  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
---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
---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-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-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    RRLPPayload,
-  ...}
-
-RRLPPayload ::= OCTET STRING(SIZE (1..8192))
-
---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-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-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
-
-
-
-
-
-
+-- UPL.asn
+--
+-- Taken from OMA UserPlane Location Protocol Candidate Version 1.0 \96 22 Jan 2007
+-- http://www.openmobilealliance.org/release_program/docs/SUPL/V1_0-20070122-C/OMA-TS-ULP-V1_0-20070122-C.pdf
+--
+-- 8.1 Common Part
+--
+
+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 
index 9f08cac15df3804e608d7752ea662fbd9074cec5..a9c43a9da179aed5c3118f252637124b961edd4f 100644 (file)
@@ -39,9 +39,6 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "packet-ulp.h"
-
-#include "packet-ber.h"
 #include "packet-per.h"
 #include <epan/emem.h>
 #include "packet-tcp.h"
@@ -152,5 +149,3 @@ void proto_register_ulp(void) {
 }
 
 
-
-
diff --git a/asn1/ulp/packet-ulp-template.h b/asn1/ulp/packet-ulp-template.h
deleted file mode 100644 (file)
index 53802c7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/* packet-ulp.h
- * Routines for OMA UserPlane Location Protocol packet dissection
- * Copyright 2006, Anders Broman <anders.broman@ericsson.com>
- *
- * $Id$
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-#ifndef PACKET_ULP_H
-#define PACKET_ULP_H
-
-
-
-/* #include "packet-ulp-exp.h" */
-
-#endif  /* PACKET_UPL_H */
-
-
index e7161c668298fdf846723f9d13a12407e0453108..778bb9bf25a3e27130cb643963c3aee5045a7af0 100644 (file)
@@ -3,19 +3,22 @@
 # Copyright 2006 Anders Broman 
 # $Id$
 
+#.OPT
+PER
+UNALIGNED
+#.END
+
 #.PDU
 ULP-PDU
 
-#.FN_BODY ULP-PDU
-
+#.FN_HDR ULP-PDU
        proto_tree_add_item(tree, proto_ulp, tvb, 0, -1, FALSE);
 
-       if (check_col(%(ACTX)s->pinfo->cinfo, COL_PROTOCOL)) 
-               col_set_str(%(ACTX)s->pinfo->cinfo, COL_PROTOCOL, PSNAME);
-       if (check_col(%(ACTX)s->pinfo->cinfo, COL_INFO))
-               col_clear(%(ACTX)s->pinfo->cinfo, COL_INFO);
-
-  %(DEFAULT_BODY)s
+       if (check_col(actx->pinfo->cinfo, COL_PROTOCOL)) 
+               col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, PSNAME);
+       if (check_col(actx->pinfo->cinfo, COL_INFO))
+               col_clear(actx->pinfo->cinfo, COL_INFO);
+#.END
 
 #.FN_BODY UlpMessage  VAL_PTR = &UlpMessage
 
@@ -36,5 +39,5 @@ guint32 UlpMessage;
 
   if (rrlp_tvb){
        call_dissector(rrlp_handle, rrlp_tvb, %(ACTX)s->pinfo, tree);
-
-  }
\ No newline at end of file
+  }
+#.END
index 666c890796674a71e9dfc060164afd13ed0c6e75..985fc5eb7781eccba9ff173dcc6c98b53b49e64e 100644 (file)
@@ -1015,7 +1015,6 @@ DISSECTOR_INCLUDES =      \
        packet-tpkt.h   \
        packet-tr.h     \
        packet-udp.h    \
-       packet-ulp.h    \
        packet-umts_fp.h        \
        packet-umts_rrc.h       \
        packet-umts_rrc_ies.h   \
index e678ee7e404ff134a1d62936c690cb3707d983c5..b2eb87cb3d937c177071d69b04ce767259e1cedb 100644 (file)
@@ -1,7 +1,7 @@
 /* Do not modify this file.                                                   */
 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
 /* .\packet-ulp.c                                                             */
-/* ../../tools/asn2wrs.py -u -e -p ulp -c ulp.cnf -s packet-ulp-template ULP.asn */
+/* ../../tools/asn2wrs.py -p ulp -c ulp.cnf -s packet-ulp-template ULP.asn SUPL.asn ULP-Components.asn */
 
 /* Input file: packet-ulp-template.c */
 
@@ -47,9 +47,6 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "packet-ulp.h"
-
-#include "packet-ber.h"
 #include "packet-per.h"
 #include <epan/emem.h>
 #include "packet-tcp.h"
@@ -91,6 +88,70 @@ static int hf_ulp_msSUPLPOS = -1;                 /* SUPLPOS */
 static int hf_ulp_msSUPLEND = -1;                 /* SUPLEND */
 static int hf_ulp_msSUPLAUTHREQ = -1;             /* SUPLAUTHREQ */
 static int hf_ulp_msSUPLAUTHRESP = -1;            /* SUPLAUTHRESP */
+static int hf_ulp_posMethod = -1;                 /* PosMethod */
+static int hf_ulp_notification = -1;              /* Notification */
+static int hf_ulp_sLPAddress = -1;                /* SLPAddress */
+static int hf_ulp_qoP = -1;                       /* QoP */
+static int hf_ulp_sLPMode = -1;                   /* SLPMode */
+static int hf_ulp_mAC = -1;                       /* MAC */
+static int hf_ulp_keyIdentity = -1;               /* KeyIdentity */
+static int hf_ulp_notificationType = -1;          /* NotificationType */
+static int hf_ulp_encodingType = -1;              /* EncodingType */
+static int hf_ulp_requestorId = -1;               /* OCTET_STRING_SIZE_1_maxReqLength */
+static int hf_ulp_requestorIdType = -1;           /* FormatIndicator */
+static int hf_ulp_clientName = -1;                /* OCTET_STRING_SIZE_1_maxClientLength */
+static int hf_ulp_clientNameType = -1;            /* FormatIndicator */
+static int hf_ulp_sETCapabilities = -1;           /* SETCapabilities */
+static int hf_ulp_locationId = -1;                /* LocationId */
+static int hf_ulp_posTechnology = -1;             /* PosTechnology */
+static int hf_ulp_prefMethod = -1;                /* PrefMethod */
+static int hf_ulp_posProtocol = -1;               /* PosProtocol */
+static int hf_ulp_agpsSETassisted = -1;           /* BOOLEAN */
+static int hf_ulp_agpsSETBased = -1;              /* BOOLEAN */
+static int hf_ulp_autonomousGPS = -1;             /* BOOLEAN */
+static int hf_ulp_aFLT = -1;                      /* BOOLEAN */
+static int hf_ulp_eCID = -1;                      /* BOOLEAN */
+static int hf_ulp_eOTD = -1;                      /* BOOLEAN */
+static int hf_ulp_oTDOA = -1;                     /* BOOLEAN */
+static int hf_ulp_tia801 = -1;                    /* BOOLEAN */
+static int hf_ulp_rrlp = -1;                      /* BOOLEAN */
+static int hf_ulp_rrc = -1;                       /* BOOLEAN */
+static int hf_ulp_sETAuthKey = -1;                /* SETAuthKey */
+static int hf_ulp_keyIdentity4 = -1;              /* KeyIdentity4 */
+static int hf_ulp_shortKey = -1;                  /* BIT_STRING_SIZE_128 */
+static int hf_ulp_longKey = -1;                   /* BIT_STRING_SIZE_256 */
+static int hf_ulp_requestedAssistData = -1;       /* RequestedAssistData */
+static int hf_ulp_position = -1;                  /* Position */
+static int hf_ulp_sUPLPOS = -1;                   /* SUPLPOS */
+static int hf_ulp_ver = -1;                       /* Ver */
+static int hf_ulp_almanacRequested = -1;          /* BOOLEAN */
+static int hf_ulp_utcModelRequested = -1;         /* BOOLEAN */
+static int hf_ulp_ionosphericModelRequested = -1;  /* BOOLEAN */
+static int hf_ulp_dgpsCorrectionsRequested = -1;  /* BOOLEAN */
+static int hf_ulp_referenceLocationRequested = -1;  /* BOOLEAN */
+static int hf_ulp_referenceTimeRequested = -1;    /* BOOLEAN */
+static int hf_ulp_acquisitionAssistanceRequested = -1;  /* BOOLEAN */
+static int hf_ulp_realTimeIntegrityRequested = -1;  /* BOOLEAN */
+static int hf_ulp_navigationModelRequested = -1;  /* BOOLEAN */
+static int hf_ulp_navigationModelData = -1;       /* NavigationModel */
+static int hf_ulp_gpsWeek = -1;                   /* INTEGER_0_1023 */
+static int hf_ulp_gpsToe = -1;                    /* INTEGER_0_167 */
+static int hf_ulp_nSAT = -1;                      /* INTEGER_0_31 */
+static int hf_ulp_toeLimit = -1;                  /* INTEGER_0_10 */
+static int hf_ulp_satInfo = -1;                   /* SatelliteInfo */
+static int hf_ulp_SatelliteInfo_item = -1;        /* SatelliteInfoElement */
+static int hf_ulp_satId = -1;                     /* INTEGER_0_63 */
+static int hf_ulp_iODE = -1;                      /* INTEGER_0_255 */
+static int hf_ulp_posPayLoad = -1;                /* PosPayLoad */
+static int hf_ulp_velocity = -1;                  /* Velocity */
+static int hf_ulp_tia801payload = -1;             /* OCTET_STRING_SIZE_1_8192 */
+static int hf_ulp_rrcPayload = -1;                /* OCTET_STRING_SIZE_1_8192 */
+static int hf_ulp_rrlpPayload = -1;               /* OCTET_STRING_SIZE_1_8192 */
+static int hf_ulp_statusCode = -1;                /* StatusCode */
+static int hf_ulp_sETNonce = -1;                  /* SETNonce */
+static int hf_ulp_keyIdentity2 = -1;              /* KeyIdentity2 */
+static int hf_ulp_sPCAuthKey = -1;                /* SPCAuthKey */
+static int hf_ulp_keyIdentity3 = -1;              /* KeyIdentity3 */
 static int hf_ulp_maj = -1;                       /* INTEGER_0_255 */
 static int hf_ulp_min = -1;                       /* INTEGER_0_255 */
 static int hf_ulp_servind = -1;                   /* INTEGER_0_255 */
@@ -106,8 +167,8 @@ static int hf_ulp_nai = -1;                       /* IA5String_SIZE_1_1000 */
 static int hf_ulp_iPAddress = -1;                 /* IPAddress */
 static int hf_ulp_sessionID1 = -1;                /* OCTET_STRING_SIZE_4 */
 static int hf_ulp_slpId = -1;                     /* SLPAddress */
-static int hf_ulp_ipv4Address = -1;               /* IPv4Address */
-static int hf_ulp_ipv6Address = -1;               /* IPv6Address */
+static int hf_ulp_ipv4Address = -1;               /* OCTET_STRING_SIZE_4 */
+static int hf_ulp_ipv6Address = -1;               /* OCTET_STRING_SIZE_16 */
 static int hf_ulp_fQDN = -1;                      /* FQDN */
 static int hf_ulp_cellInfo = -1;                  /* CellInfo */
 static int hf_ulp_status = -1;                    /* Status */
@@ -116,7 +177,6 @@ static int hf_ulp_wcdmaCell = -1;                 /* WcdmaCellInformation */
 static int hf_ulp_cdmaCell = -1;                  /* CdmaCellInformation */
 static int hf_ulp_timestamp = -1;                 /* UTCTime */
 static int hf_ulp_positionEstimate = -1;          /* PositionEstimate */
-static int hf_ulp_velocity = -1;                  /* Velocity */
 static int hf_ulp_latitudeSign = -1;              /* T_latitudeSign */
 static int hf_ulp_latitude = -1;                  /* INTEGER_0_8388607 */
 static int hf_ulp_longitude = -1;                 /* INTEGER_M8388608_8388607 */
@@ -189,72 +249,9 @@ static int hf_ulp_verspeed = -1;                  /* BIT_STRING_SIZE_8 */
 static int hf_ulp_uncertspeed = -1;               /* BIT_STRING_SIZE_8 */
 static int hf_ulp_horuncertspeed = -1;            /* BIT_STRING_SIZE_8 */
 static int hf_ulp_veruncertspeed = -1;            /* BIT_STRING_SIZE_8 */
-static int hf_ulp_sETNonce = -1;                  /* SETNonce */
-static int hf_ulp_keyIdentity2 = -1;              /* KeyIdentity2 */
-static int hf_ulp_sPCAuthKey = -1;                /* SPCAuthKey */
-static int hf_ulp_keyIdentity3 = -1;              /* KeyIdentity3 */
-static int hf_ulp_statusCode = -1;                /* StatusCode */
-static int hf_ulp_shortKey = -1;                  /* BIT_STRING_SIZE_128 */
-static int hf_ulp_longKey = -1;                   /* BIT_STRING_SIZE_256 */
-static int hf_ulp_position = -1;                  /* Position */
-static int hf_ulp_ver = -1;                       /* Ver */
-static int hf_ulp_posMethod = -1;                 /* PosMethod */
-static int hf_ulp_notification = -1;              /* Notification */
-static int hf_ulp_sLPAddress = -1;                /* SLPAddress */
-static int hf_ulp_qoP = -1;                       /* QoP */
-static int hf_ulp_sLPMode = -1;                   /* SLPMode */
-static int hf_ulp_mAC = -1;                       /* MAC */
-static int hf_ulp_keyIdentity = -1;               /* KeyIdentity */
-static int hf_ulp_notificationType = -1;          /* NotificationType */
-static int hf_ulp_encodingType = -1;              /* EncodingType */
-static int hf_ulp_requestorId = -1;               /* OCTET_STRING_SIZE_1_maxReqLength */
-static int hf_ulp_requestorIdType = -1;           /* FormatIndicator */
-static int hf_ulp_clientName = -1;                /* OCTET_STRING_SIZE_1_maxClientLength */
-static int hf_ulp_clientNameType = -1;            /* FormatIndicator */
-static int hf_ulp_posPayLoad = -1;                /* PosPayLoad */
-static int hf_ulp_tia801payload = -1;             /* OCTET_STRING_SIZE_1_8192 */
-static int hf_ulp_rrcPayload = -1;                /* OCTET_STRING_SIZE_1_8192 */
-static int hf_ulp_rrlpPayload = -1;               /* RRLPPayload */
-static int hf_ulp_sETCapabilities = -1;           /* SETCapabilities */
-static int hf_ulp_requestedAssistData = -1;       /* RequestedAssistData */
-static int hf_ulp_locationId = -1;                /* LocationId */
-static int hf_ulp_sUPLPOS = -1;                   /* SUPLPOS */
-static int hf_ulp_almanacRequested = -1;          /* BOOLEAN */
-static int hf_ulp_utcModelRequested = -1;         /* BOOLEAN */
-static int hf_ulp_ionosphericModelRequested = -1;  /* BOOLEAN */
-static int hf_ulp_dgpsCorrectionsRequested = -1;  /* BOOLEAN */
-static int hf_ulp_referenceLocationRequested = -1;  /* BOOLEAN */
-static int hf_ulp_referenceTimeRequested = -1;    /* BOOLEAN */
-static int hf_ulp_acquisitionAssistanceRequested = -1;  /* BOOLEAN */
-static int hf_ulp_realTimeIntegrityRequested = -1;  /* BOOLEAN */
-static int hf_ulp_navigationModelRequested = -1;  /* BOOLEAN */
-static int hf_ulp_navigationModelData = -1;       /* NavigationModel */
-static int hf_ulp_gpsWeek = -1;                   /* INTEGER_0_1023 */
-static int hf_ulp_gpsToe = -1;                    /* INTEGER_0_167 */
-static int hf_ulp_nSAT = -1;                      /* INTEGER_0_31 */
-static int hf_ulp_toeLimit = -1;                  /* INTEGER_0_10 */
-static int hf_ulp_satInfo = -1;                   /* SatelliteInfo */
-static int hf_ulp_SatelliteInfo_item = -1;        /* SatelliteInfoElement */
-static int hf_ulp_satId = -1;                     /* INTEGER_0_63 */
-static int hf_ulp_iODE = -1;                      /* INTEGER_0_255 */
-static int hf_ulp_sETAuthKey = -1;                /* SETAuthKey */
-static int hf_ulp_keyIdentity4 = -1;              /* KeyIdentity4 */
-static int hf_ulp_posTechnology = -1;             /* PosTechnology */
-static int hf_ulp_prefMethod = -1;                /* PrefMethod */
-static int hf_ulp_posProtocol = -1;               /* PosProtocol */
-static int hf_ulp_agpsSETassisted = -1;           /* BOOLEAN */
-static int hf_ulp_agpsSETBased = -1;              /* BOOLEAN */
-static int hf_ulp_autonomousGPS = -1;             /* BOOLEAN */
-static int hf_ulp_aFLT = -1;                      /* BOOLEAN */
-static int hf_ulp_eCID = -1;                      /* BOOLEAN */
-static int hf_ulp_eOTD = -1;                      /* BOOLEAN */
-static int hf_ulp_oTDOA = -1;                     /* BOOLEAN */
-static int hf_ulp_tia801 = -1;                    /* BOOLEAN */
-static int hf_ulp_rrlp = -1;                      /* BOOLEAN */
-static int hf_ulp_rrc = -1;                       /* BOOLEAN */
 
 /*--- End of included file: packet-ulp-hf.c ---*/
-#line 71 "packet-ulp-template.c"
+#line 68 "packet-ulp-template.c"
 
 /* Initialize the subtree pointers */
 static gint ett_ulp = -1;
@@ -263,6 +260,25 @@ static gint ett_ulp = -1;
 #line 1 "packet-ulp-ett.c"
 static gint ett_ulp_ULP_PDU = -1;
 static gint ett_ulp_UlpMessage = -1;
+static gint ett_ulp_SUPLINIT = -1;
+static gint ett_ulp_Notification = -1;
+static gint ett_ulp_SUPLSTART = -1;
+static gint ett_ulp_SETCapabilities = -1;
+static gint ett_ulp_PosTechnology = -1;
+static gint ett_ulp_PosProtocol = -1;
+static gint ett_ulp_SUPLRESPONSE = -1;
+static gint ett_ulp_SETAuthKey = -1;
+static gint ett_ulp_SUPLPOSINIT = -1;
+static gint ett_ulp_RequestedAssistData = -1;
+static gint ett_ulp_NavigationModel = -1;
+static gint ett_ulp_SatelliteInfo = -1;
+static gint ett_ulp_SatelliteInfoElement = -1;
+static gint ett_ulp_SUPLPOS = -1;
+static gint ett_ulp_PosPayLoad = -1;
+static gint ett_ulp_SUPLEND = -1;
+static gint ett_ulp_SUPLAUTHREQ = -1;
+static gint ett_ulp_SUPLAUTHRESP = -1;
+static gint ett_ulp_SPCAuthKey = -1;
 static gint ett_ulp_Version = -1;
 static gint ett_ulp_SessionID = -1;
 static gint ett_ulp_SetSessionID = -1;
@@ -300,41 +316,22 @@ static gint ett_ulp_Horvel = -1;
 static gint ett_ulp_Horandvervel = -1;
 static gint ett_ulp_Horveluncert = -1;
 static gint ett_ulp_Horandveruncert = -1;
-static gint ett_ulp_SUPLAUTHREQ = -1;
-static gint ett_ulp_SUPLAUTHRESP = -1;
-static gint ett_ulp_SPCAuthKey = -1;
-static gint ett_ulp_SUPLEND = -1;
-static gint ett_ulp_SUPLINIT = -1;
-static gint ett_ulp_Notification = -1;
-static gint ett_ulp_SUPLPOS = -1;
-static gint ett_ulp_PosPayLoad = -1;
-static gint ett_ulp_SUPLPOSINIT = -1;
-static gint ett_ulp_RequestedAssistData = -1;
-static gint ett_ulp_NavigationModel = -1;
-static gint ett_ulp_SatelliteInfo = -1;
-static gint ett_ulp_SatelliteInfoElement = -1;
-static gint ett_ulp_SUPLRESPONSE = -1;
-static gint ett_ulp_SETAuthKey = -1;
-static gint ett_ulp_SUPLSTART = -1;
-static gint ett_ulp_SETCapabilities = -1;
-static gint ett_ulp_PosTechnology = -1;
-static gint ett_ulp_PosProtocol = -1;
 
 /*--- End of included file: packet-ulp-ett.c ---*/
-#line 75 "packet-ulp-template.c"
+#line 72 "packet-ulp-template.c"
 
 /* Include constants */
 
 /*--- Included file: packet-ulp-val.h ---*/
 #line 1 "packet-ulp-val.h"
+#define maxReqLength                   50
+#define maxClientLength                50
 #define maxCellMeas                    32
 #define maxFreq                        8
 #define maxTS                          14
-#define maxReqLength                   50
-#define maxClientLength                50
 
 /*--- End of included file: packet-ulp-val.h ---*/
-#line 78 "packet-ulp-template.c"
+#line 75 "packet-ulp-template.c"
 
 
 
@@ -409,7 +406,7 @@ dissect_ulp_IA5String_SIZE_1_1000(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
 
 
 static int
-dissect_ulp_IPv4Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ulp_OCTET_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                        4, 4, NULL);
 
@@ -419,7 +416,7 @@ dissect_ulp_IPv4Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
 
 
 static int
-dissect_ulp_IPv6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_ulp_OCTET_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
                                        16, 16, NULL);
 
@@ -434,8 +431,8 @@ static const value_string ulp_IPAddress_vals[] = {
 };
 
 static const per_choice_t IPAddress_choice[] = {
-  {   0, &hf_ulp_ipv4Address     , ASN1_NO_EXTENSIONS     , dissect_ulp_IPv4Address },
-  {   1, &hf_ulp_ipv6Address     , ASN1_NO_EXTENSIONS     , dissect_ulp_IPv6Address },
+  {   0, &hf_ulp_ipv4Address     , ASN1_NO_EXTENSIONS     , dissect_ulp_OCTET_STRING_SIZE_4 },
+  {   1, &hf_ulp_ipv6Address     , ASN1_NO_EXTENSIONS     , dissect_ulp_OCTET_STRING_SIZE_16 },
   { 0, NULL, 0, NULL }
 };
 
@@ -495,20 +492,11 @@ dissect_ulp_SetSessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
 
 
 
-static int
-dissect_ulp_OCTET_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
-                                       4, 4, NULL);
-
-  return offset;
-}
-
-
-
 static int
 dissect_ulp_FQDN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-  offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
-                                          1, 255);
+  offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
+                                                      1, 255, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-", 64,
+                                                      NULL);
 
   return offset;
 }
@@ -644,6 +632,7 @@ static const value_string ulp_FormatIndicator_vals[] = {
   {   4, "sipUrl" },
   {   5, "min" },
   {   6, "mdn" },
+  {   7, "imsPublicIdentity" },
   { 0, NULL }
 };
 
@@ -651,7 +640,7 @@ static const value_string ulp_FormatIndicator_vals[] = {
 static int
 dissect_ulp_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
-                                     7, NULL, TRUE, 0, NULL);
+                                     8, NULL, TRUE, 0, NULL);
 
   return offset;
 }
@@ -1848,25 +1837,6 @@ dissect_ulp_OCTET_STRING_SIZE_1_8192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
 }
 
 
-
-static int
-dissect_ulp_RRLPPayload(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 33 "ulp.cnf"
- tvbuff_t *rrlp_tvb;
-
-  offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
-                                       1, 8192, &rrlp_tvb);
-
-
-  if (rrlp_tvb){
-       call_dissector(rrlp_handle, rrlp_tvb, actx->pinfo, tree);
-
-  }
-
-  return offset;
-}
-
-
 static const value_string ulp_PosPayLoad_vals[] = {
   {   0, "tia801payload" },
   {   1, "rrcPayload" },
@@ -1877,7 +1847,7 @@ static const value_string ulp_PosPayLoad_vals[] = {
 static const per_choice_t PosPayLoad_choice[] = {
   {   0, &hf_ulp_tia801payload   , ASN1_EXTENSION_ROOT    , dissect_ulp_OCTET_STRING_SIZE_1_8192 },
   {   1, &hf_ulp_rrcPayload      , ASN1_EXTENSION_ROOT    , dissect_ulp_OCTET_STRING_SIZE_1_8192 },
-  {   2, &hf_ulp_rrlpPayload     , ASN1_EXTENSION_ROOT    , dissect_ulp_RRLPPayload },
+  {   2, &hf_ulp_rrlpPayload     , ASN1_EXTENSION_ROOT    , dissect_ulp_OCTET_STRING_SIZE_1_8192 },
   { 0, NULL, 0, NULL }
 };
 
@@ -2095,7 +2065,7 @@ static const per_choice_t UlpMessage_choice[] = {
 
 static int
 dissect_ulp_UlpMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 21 "ulp.cnf"
+#line 24 "ulp.cnf"
 
 guint32 UlpMessage;
 
@@ -2124,8 +2094,7 @@ static const per_sequence_t ULP_PDU_sequence[] = {
 
 static int
 dissect_ulp_ULP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 10 "ulp.cnf"
-
+#line 15 "ulp.cnf"
        proto_tree_add_item(tree, proto_ulp, tvb, 0, -1, FALSE);
 
        if (check_col(actx->pinfo->cinfo, COL_PROTOCOL)) 
@@ -2133,12 +2102,9 @@ dissect_ulp_ULP_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
        if (check_col(actx->pinfo->cinfo, COL_INFO))
                col_clear(actx->pinfo->cinfo, COL_INFO);
 
-    offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+  offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
                                    ett_ulp_ULP_PDU, ULP_PDU_sequence);
 
-
-
-
   return offset;
 }
 
@@ -2152,7 +2118,7 @@ static void dissect_ULP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto
 
 
 /*--- End of included file: packet-ulp-fn.c ---*/
-#line 81 "packet-ulp-template.c"
+#line 78 "packet-ulp-template.c"
 
 
 static guint
@@ -2246,149 +2212,401 @@ void proto_register_ulp(void) {
       { "msSUPLAUTHRESP", "ulp.msSUPLAUTHRESP",
         FT_NONE, BASE_NONE, NULL, 0,
         "ulp.SUPLAUTHRESP", HFILL }},
-    { &hf_ulp_maj,
-      { "maj", "ulp.maj",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_255", HFILL }},
-    { &hf_ulp_min,
-      { "min", "ulp.min",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_255", HFILL }},
-    { &hf_ulp_servind,
-      { "servind", "ulp.servind",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_255", HFILL }},
-    { &hf_ulp_setSessionID,
-      { "setSessionID", "ulp.setSessionID",
+    { &hf_ulp_posMethod,
+      { "posMethod", "ulp.posMethod",
+        FT_UINT32, BASE_DEC, VALS(ulp_PosMethod_vals), 0,
+        "ulp.PosMethod", HFILL }},
+    { &hf_ulp_notification,
+      { "notification", "ulp.notification",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.SetSessionID", HFILL }},
-    { &hf_ulp_slpSessionID,
-      { "slpSessionID", "ulp.slpSessionID",
+        "ulp.Notification", HFILL }},
+    { &hf_ulp_sLPAddress,
+      { "sLPAddress", "ulp.sLPAddress",
+        FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
+        "ulp.SLPAddress", HFILL }},
+    { &hf_ulp_qoP,
+      { "qoP", "ulp.qoP",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.SlpSessionID", HFILL }},
-    { &hf_ulp_sessionId,
-      { "sessionId", "ulp.sessionId",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_65535", HFILL }},
-    { &hf_ulp_setId,
-      { "setId", "ulp.setId",
-        FT_UINT32, BASE_DEC, VALS(ulp_SETId_vals), 0,
-        "ulp.SETId", HFILL }},
-    { &hf_ulp_msisdn,
-      { "msisdn", "ulp.msisdn",
+        "ulp.QoP", HFILL }},
+    { &hf_ulp_sLPMode,
+      { "sLPMode", "ulp.sLPMode",
+        FT_UINT32, BASE_DEC, VALS(ulp_SLPMode_vals), 0,
+        "ulp.SLPMode", HFILL }},
+    { &hf_ulp_mAC,
+      { "mAC", "ulp.mAC",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.OCTET_STRING_SIZE_8", HFILL }},
-    { &hf_ulp_mdn,
-      { "mdn", "ulp.mdn",
+        "ulp.MAC", HFILL }},
+    { &hf_ulp_keyIdentity,
+      { "keyIdentity", "ulp.keyIdentity",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.OCTET_STRING_SIZE_8", HFILL }},
-    { &hf_ulp_min1,
-      { "min", "ulp.min",
+        "ulp.KeyIdentity", HFILL }},
+    { &hf_ulp_notificationType,
+      { "notificationType", "ulp.notificationType",
+        FT_UINT32, BASE_DEC, VALS(ulp_NotificationType_vals), 0,
+        "ulp.NotificationType", HFILL }},
+    { &hf_ulp_encodingType,
+      { "encodingType", "ulp.encodingType",
+        FT_UINT32, BASE_DEC, VALS(ulp_EncodingType_vals), 0,
+        "ulp.EncodingType", HFILL }},
+    { &hf_ulp_requestorId,
+      { "requestorId", "ulp.requestorId",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_34", HFILL }},
-    { &hf_ulp_imsi,
-      { "imsi", "ulp.imsi",
+        "ulp.OCTET_STRING_SIZE_1_maxReqLength", HFILL }},
+    { &hf_ulp_requestorIdType,
+      { "requestorIdType", "ulp.requestorIdType",
+        FT_UINT32, BASE_DEC, VALS(ulp_FormatIndicator_vals), 0,
+        "ulp.FormatIndicator", HFILL }},
+    { &hf_ulp_clientName,
+      { "clientName", "ulp.clientName",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.OCTET_STRING_SIZE_8", HFILL }},
-    { &hf_ulp_nai,
-      { "nai", "ulp.nai",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "ulp.IA5String_SIZE_1_1000", HFILL }},
-    { &hf_ulp_iPAddress,
-      { "iPAddress", "ulp.iPAddress",
-        FT_UINT32, BASE_DEC, VALS(ulp_IPAddress_vals), 0,
-        "ulp.IPAddress", HFILL }},
-    { &hf_ulp_sessionID1,
-      { "sessionID", "ulp.sessionID",
+        "ulp.OCTET_STRING_SIZE_1_maxClientLength", HFILL }},
+    { &hf_ulp_clientNameType,
+      { "clientNameType", "ulp.clientNameType",
+        FT_UINT32, BASE_DEC, VALS(ulp_FormatIndicator_vals), 0,
+        "ulp.FormatIndicator", HFILL }},
+    { &hf_ulp_sETCapabilities,
+      { "sETCapabilities", "ulp.sETCapabilities",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.SETCapabilities", HFILL }},
+    { &hf_ulp_locationId,
+      { "locationId", "ulp.locationId",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.LocationId", HFILL }},
+    { &hf_ulp_posTechnology,
+      { "posTechnology", "ulp.posTechnology",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.PosTechnology", HFILL }},
+    { &hf_ulp_prefMethod,
+      { "prefMethod", "ulp.prefMethod",
+        FT_UINT32, BASE_DEC, VALS(ulp_PrefMethod_vals), 0,
+        "ulp.PrefMethod", HFILL }},
+    { &hf_ulp_posProtocol,
+      { "posProtocol", "ulp.posProtocol",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.PosProtocol", HFILL }},
+    { &hf_ulp_agpsSETassisted,
+      { "agpsSETassisted", "ulp.agpsSETassisted",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_agpsSETBased,
+      { "agpsSETBased", "ulp.agpsSETBased",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_autonomousGPS,
+      { "autonomousGPS", "ulp.autonomousGPS",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_aFLT,
+      { "aFLT", "ulp.aFLT",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_eCID,
+      { "eCID", "ulp.eCID",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_eOTD,
+      { "eOTD", "ulp.eOTD",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_oTDOA,
+      { "oTDOA", "ulp.oTDOA",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_tia801,
+      { "tia801", "ulp.tia801",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_rrlp,
+      { "rrlp", "ulp.rrlp",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_rrc,
+      { "rrc", "ulp.rrc",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_sETAuthKey,
+      { "sETAuthKey", "ulp.sETAuthKey",
+        FT_UINT32, BASE_DEC, VALS(ulp_SETAuthKey_vals), 0,
+        "ulp.SETAuthKey", HFILL }},
+    { &hf_ulp_keyIdentity4,
+      { "keyIdentity4", "ulp.keyIdentity4",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.OCTET_STRING_SIZE_4", HFILL }},
-    { &hf_ulp_slpId,
-      { "slpId", "ulp.slpId",
-        FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
-        "ulp.SLPAddress", HFILL }},
-    { &hf_ulp_ipv4Address,
-      { "ipv4Address", "ulp.ipv4Address",
+        "ulp.KeyIdentity4", HFILL }},
+    { &hf_ulp_shortKey,
+      { "shortKey", "ulp.shortKey",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.IPv4Address", HFILL }},
-    { &hf_ulp_ipv6Address,
-      { "ipv6Address", "ulp.ipv6Address",
+        "ulp.BIT_STRING_SIZE_128", HFILL }},
+    { &hf_ulp_longKey,
+      { "longKey", "ulp.longKey",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.IPv6Address", HFILL }},
-    { &hf_ulp_fQDN,
-      { "fQDN", "ulp.fQDN",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "ulp.FQDN", HFILL }},
-    { &hf_ulp_cellInfo,
-      { "cellInfo", "ulp.cellInfo",
-        FT_UINT32, BASE_DEC, VALS(ulp_CellInfo_vals), 0,
-        "ulp.CellInfo", HFILL }},
-    { &hf_ulp_status,
-      { "status", "ulp.status",
-        FT_UINT32, BASE_DEC, VALS(ulp_Status_vals), 0,
-        "ulp.Status", HFILL }},
-    { &hf_ulp_gsmCell,
-      { "gsmCell", "ulp.gsmCell",
+        "ulp.BIT_STRING_SIZE_256", HFILL }},
+    { &hf_ulp_requestedAssistData,
+      { "requestedAssistData", "ulp.requestedAssistData",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.GsmCellInformation", HFILL }},
-    { &hf_ulp_wcdmaCell,
-      { "wcdmaCell", "ulp.wcdmaCell",
+        "ulp.RequestedAssistData", HFILL }},
+    { &hf_ulp_position,
+      { "position", "ulp.position",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.WcdmaCellInformation", HFILL }},
-    { &hf_ulp_cdmaCell,
-      { "cdmaCell", "ulp.cdmaCell",
+        "ulp.Position", HFILL }},
+    { &hf_ulp_sUPLPOS,
+      { "sUPLPOS", "ulp.sUPLPOS",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.CdmaCellInformation", HFILL }},
-    { &hf_ulp_timestamp,
-      { "timestamp", "ulp.timestamp",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "ulp.UTCTime", HFILL }},
-    { &hf_ulp_positionEstimate,
-      { "positionEstimate", "ulp.positionEstimate",
+        "ulp.SUPLPOS", HFILL }},
+    { &hf_ulp_ver,
+      { "ver", "ulp.ver",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.Ver", HFILL }},
+    { &hf_ulp_almanacRequested,
+      { "almanacRequested", "ulp.almanacRequested",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_utcModelRequested,
+      { "utcModelRequested", "ulp.utcModelRequested",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_ionosphericModelRequested,
+      { "ionosphericModelRequested", "ulp.ionosphericModelRequested",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_dgpsCorrectionsRequested,
+      { "dgpsCorrectionsRequested", "ulp.dgpsCorrectionsRequested",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_referenceLocationRequested,
+      { "referenceLocationRequested", "ulp.referenceLocationRequested",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_referenceTimeRequested,
+      { "referenceTimeRequested", "ulp.referenceTimeRequested",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_acquisitionAssistanceRequested,
+      { "acquisitionAssistanceRequested", "ulp.acquisitionAssistanceRequested",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_realTimeIntegrityRequested,
+      { "realTimeIntegrityRequested", "ulp.realTimeIntegrityRequested",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_navigationModelRequested,
+      { "navigationModelRequested", "ulp.navigationModelRequested",
+        FT_BOOLEAN, 8, NULL, 0,
+        "ulp.BOOLEAN", HFILL }},
+    { &hf_ulp_navigationModelData,
+      { "navigationModelData", "ulp.navigationModelData",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.PositionEstimate", HFILL }},
-    { &hf_ulp_velocity,
-      { "velocity", "ulp.velocity",
-        FT_UINT32, BASE_DEC, VALS(ulp_Velocity_vals), 0,
-        "ulp.Velocity", HFILL }},
-    { &hf_ulp_latitudeSign,
-      { "latitudeSign", "ulp.latitudeSign",
-        FT_UINT32, BASE_DEC, VALS(ulp_T_latitudeSign_vals), 0,
-        "ulp.T_latitudeSign", HFILL }},
-    { &hf_ulp_latitude,
-      { "latitude", "ulp.latitude",
+        "ulp.NavigationModel", HFILL }},
+    { &hf_ulp_gpsWeek,
+      { "gpsWeek", "ulp.gpsWeek",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_8388607", HFILL }},
-    { &hf_ulp_longitude,
-      { "longitude", "ulp.longitude",
-        FT_INT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_M8388608_8388607", HFILL }},
-    { &hf_ulp_uncertainty,
-      { "uncertainty", "ulp.uncertainty",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.T_uncertainty", HFILL }},
-    { &hf_ulp_uncertaintySemiMajor,
-      { "uncertaintySemiMajor", "ulp.uncertaintySemiMajor",
+        "ulp.INTEGER_0_1023", HFILL }},
+    { &hf_ulp_gpsToe,
+      { "gpsToe", "ulp.gpsToe",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_127", HFILL }},
-    { &hf_ulp_uncertaintySemiMinor,
-      { "uncertaintySemiMinor", "ulp.uncertaintySemiMinor",
+        "ulp.INTEGER_0_167", HFILL }},
+    { &hf_ulp_nSAT,
+      { "nSAT", "ulp.nSAT",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_127", HFILL }},
-    { &hf_ulp_orientationMajorAxis,
-      { "orientationMajorAxis", "ulp.orientationMajorAxis",
+        "ulp.INTEGER_0_31", HFILL }},
+    { &hf_ulp_toeLimit,
+      { "toeLimit", "ulp.toeLimit",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_180", HFILL }},
-    { &hf_ulp_confidence,
-      { "confidence", "ulp.confidence",
+        "ulp.INTEGER_0_10", HFILL }},
+    { &hf_ulp_satInfo,
+      { "satInfo", "ulp.satInfo",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_100", HFILL }},
-    { &hf_ulp_altitudeInfo,
-      { "altitudeInfo", "ulp.altitudeInfo",
+        "ulp.SatelliteInfo", HFILL }},
+    { &hf_ulp_SatelliteInfo_item,
+      { "Item", "ulp.SatelliteInfo_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.AltitudeInfo", HFILL }},
-    { &hf_ulp_altitudeDirection,
-      { "altitudeDirection", "ulp.altitudeDirection",
-        FT_UINT32, BASE_DEC, VALS(ulp_T_altitudeDirection_vals), 0,
+        "ulp.SatelliteInfoElement", HFILL }},
+    { &hf_ulp_satId,
+      { "satId", "ulp.satId",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_63", HFILL }},
+    { &hf_ulp_iODE,
+      { "iODE", "ulp.iODE",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_255", HFILL }},
+    { &hf_ulp_posPayLoad,
+      { "posPayLoad", "ulp.posPayLoad",
+        FT_UINT32, BASE_DEC, VALS(ulp_PosPayLoad_vals), 0,
+        "ulp.PosPayLoad", HFILL }},
+    { &hf_ulp_velocity,
+      { "velocity", "ulp.velocity",
+        FT_UINT32, BASE_DEC, VALS(ulp_Velocity_vals), 0,
+        "ulp.Velocity", HFILL }},
+    { &hf_ulp_tia801payload,
+      { "tia801payload", "ulp.tia801payload",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.OCTET_STRING_SIZE_1_8192", HFILL }},
+    { &hf_ulp_rrcPayload,
+      { "rrcPayload", "ulp.rrcPayload",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.OCTET_STRING_SIZE_1_8192", HFILL }},
+    { &hf_ulp_rrlpPayload,
+      { "rrlpPayload", "ulp.rrlpPayload",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.OCTET_STRING_SIZE_1_8192", HFILL }},
+    { &hf_ulp_statusCode,
+      { "statusCode", "ulp.statusCode",
+        FT_UINT32, BASE_DEC, VALS(ulp_StatusCode_vals), 0,
+        "ulp.StatusCode", HFILL }},
+    { &hf_ulp_sETNonce,
+      { "sETNonce", "ulp.sETNonce",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.SETNonce", HFILL }},
+    { &hf_ulp_keyIdentity2,
+      { "keyIdentity2", "ulp.keyIdentity2",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.KeyIdentity2", HFILL }},
+    { &hf_ulp_sPCAuthKey,
+      { "sPCAuthKey", "ulp.sPCAuthKey",
+        FT_UINT32, BASE_DEC, VALS(ulp_SPCAuthKey_vals), 0,
+        "ulp.SPCAuthKey", HFILL }},
+    { &hf_ulp_keyIdentity3,
+      { "keyIdentity3", "ulp.keyIdentity3",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.KeyIdentity3", HFILL }},
+    { &hf_ulp_maj,
+      { "maj", "ulp.maj",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_255", HFILL }},
+    { &hf_ulp_min,
+      { "min", "ulp.min",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_255", HFILL }},
+    { &hf_ulp_servind,
+      { "servind", "ulp.servind",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_255", HFILL }},
+    { &hf_ulp_setSessionID,
+      { "setSessionID", "ulp.setSessionID",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.SetSessionID", HFILL }},
+    { &hf_ulp_slpSessionID,
+      { "slpSessionID", "ulp.slpSessionID",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.SlpSessionID", HFILL }},
+    { &hf_ulp_sessionId,
+      { "sessionId", "ulp.sessionId",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_65535", HFILL }},
+    { &hf_ulp_setId,
+      { "setId", "ulp.setId",
+        FT_UINT32, BASE_DEC, VALS(ulp_SETId_vals), 0,
+        "ulp.SETId", HFILL }},
+    { &hf_ulp_msisdn,
+      { "msisdn", "ulp.msisdn",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.OCTET_STRING_SIZE_8", HFILL }},
+    { &hf_ulp_mdn,
+      { "mdn", "ulp.mdn",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.OCTET_STRING_SIZE_8", HFILL }},
+    { &hf_ulp_min1,
+      { "min", "ulp.min",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.BIT_STRING_SIZE_34", HFILL }},
+    { &hf_ulp_imsi,
+      { "imsi", "ulp.imsi",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.OCTET_STRING_SIZE_8", HFILL }},
+    { &hf_ulp_nai,
+      { "nai", "ulp.nai",
+        FT_STRING, BASE_NONE, NULL, 0,
+        "ulp.IA5String_SIZE_1_1000", HFILL }},
+    { &hf_ulp_iPAddress,
+      { "iPAddress", "ulp.iPAddress",
+        FT_UINT32, BASE_DEC, VALS(ulp_IPAddress_vals), 0,
+        "ulp.IPAddress", HFILL }},
+    { &hf_ulp_sessionID1,
+      { "sessionID", "ulp.sessionID",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.OCTET_STRING_SIZE_4", HFILL }},
+    { &hf_ulp_slpId,
+      { "slpId", "ulp.slpId",
+        FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
+        "ulp.SLPAddress", HFILL }},
+    { &hf_ulp_ipv4Address,
+      { "ipv4Address", "ulp.ipv4Address",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.OCTET_STRING_SIZE_4", HFILL }},
+    { &hf_ulp_ipv6Address,
+      { "ipv6Address", "ulp.ipv6Address",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.OCTET_STRING_SIZE_16", HFILL }},
+    { &hf_ulp_fQDN,
+      { "fQDN", "ulp.fQDN",
+        FT_STRING, BASE_NONE, NULL, 0,
+        "ulp.FQDN", HFILL }},
+    { &hf_ulp_cellInfo,
+      { "cellInfo", "ulp.cellInfo",
+        FT_UINT32, BASE_DEC, VALS(ulp_CellInfo_vals), 0,
+        "ulp.CellInfo", HFILL }},
+    { &hf_ulp_status,
+      { "status", "ulp.status",
+        FT_UINT32, BASE_DEC, VALS(ulp_Status_vals), 0,
+        "ulp.Status", HFILL }},
+    { &hf_ulp_gsmCell,
+      { "gsmCell", "ulp.gsmCell",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.GsmCellInformation", HFILL }},
+    { &hf_ulp_wcdmaCell,
+      { "wcdmaCell", "ulp.wcdmaCell",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.WcdmaCellInformation", HFILL }},
+    { &hf_ulp_cdmaCell,
+      { "cdmaCell", "ulp.cdmaCell",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.CdmaCellInformation", HFILL }},
+    { &hf_ulp_timestamp,
+      { "timestamp", "ulp.timestamp",
+        FT_STRING, BASE_NONE, NULL, 0,
+        "ulp.UTCTime", HFILL }},
+    { &hf_ulp_positionEstimate,
+      { "positionEstimate", "ulp.positionEstimate",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.PositionEstimate", HFILL }},
+    { &hf_ulp_latitudeSign,
+      { "latitudeSign", "ulp.latitudeSign",
+        FT_UINT32, BASE_DEC, VALS(ulp_T_latitudeSign_vals), 0,
+        "ulp.T_latitudeSign", HFILL }},
+    { &hf_ulp_latitude,
+      { "latitude", "ulp.latitude",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_8388607", HFILL }},
+    { &hf_ulp_longitude,
+      { "longitude", "ulp.longitude",
+        FT_INT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_M8388608_8388607", HFILL }},
+    { &hf_ulp_uncertainty,
+      { "uncertainty", "ulp.uncertainty",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.T_uncertainty", HFILL }},
+    { &hf_ulp_uncertaintySemiMajor,
+      { "uncertaintySemiMajor", "ulp.uncertaintySemiMajor",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_127", HFILL }},
+    { &hf_ulp_uncertaintySemiMinor,
+      { "uncertaintySemiMinor", "ulp.uncertaintySemiMinor",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_127", HFILL }},
+    { &hf_ulp_orientationMajorAxis,
+      { "orientationMajorAxis", "ulp.orientationMajorAxis",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_180", HFILL }},
+    { &hf_ulp_confidence,
+      { "confidence", "ulp.confidence",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_100", HFILL }},
+    { &hf_ulp_altitudeInfo,
+      { "altitudeInfo", "ulp.altitudeInfo",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.AltitudeInfo", HFILL }},
+    { &hf_ulp_altitudeDirection,
+      { "altitudeDirection", "ulp.altitudeDirection",
+        FT_UINT32, BASE_DEC, VALS(ulp_T_altitudeDirection_vals), 0,
         "ulp.T_altitudeDirection", HFILL }},
     { &hf_ulp_altitude,
       { "altitude", "ulp.altitude",
@@ -2492,407 +2710,155 @@ void proto_register_ulp(void) {
         "ulp.UARFCN", HFILL }},
     { &hf_ulp_uarfcn_Nt,
       { "uarfcn-Nt", "ulp.uarfcn_Nt",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.UARFCN", HFILL }},
-    { &hf_ulp_NMR_item,
-      { "Item", "ulp.NMR_item",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.NMRelement", HFILL }},
-    { &hf_ulp_aRFCN,
-      { "aRFCN", "ulp.aRFCN",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_1023", HFILL }},
-    { &hf_ulp_bSIC,
-      { "bSIC", "ulp.bSIC",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_63", HFILL }},
-    { &hf_ulp_rxLev,
-      { "rxLev", "ulp.rxLev",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_63", HFILL }},
-    { &hf_ulp_MeasuredResultsList_item,
-      { "Item", "ulp.MeasuredResultsList_item",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.MeasuredResults", HFILL }},
-    { &hf_ulp_utra_CarrierRSSI,
-      { "utra-CarrierRSSI", "ulp.utra_CarrierRSSI",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.UTRA_CarrierRSSI", HFILL }},
-    { &hf_ulp_cellMeasuredResultsList,
-      { "cellMeasuredResultsList", "ulp.cellMeasuredResultsList",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.CellMeasuredResultsList", HFILL }},
-    { &hf_ulp_CellMeasuredResultsList_item,
-      { "Item", "ulp.CellMeasuredResultsList_item",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.CellMeasuredResults", HFILL }},
-    { &hf_ulp_cellIdentity,
-      { "cellIdentity", "ulp.cellIdentity",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_268435455", HFILL }},
-    { &hf_ulp_modeSpecificInfo1,
-      { "modeSpecificInfo", "ulp.modeSpecificInfo",
-        FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo1_vals), 0,
-        "ulp.T_modeSpecificInfo1", HFILL }},
-    { &hf_ulp_fdd1,
-      { "fdd", "ulp.fdd",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.T_fdd", HFILL }},
-    { &hf_ulp_primaryCPICH_Info,
-      { "primaryCPICH-Info", "ulp.primaryCPICH_Info",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.PrimaryCPICH_Info", HFILL }},
-    { &hf_ulp_cpich_Ec_N0,
-      { "cpich-Ec-N0", "ulp.cpich_Ec_N0",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.CPICH_Ec_N0", HFILL }},
-    { &hf_ulp_cpich_RSCP,
-      { "cpich-RSCP", "ulp.cpich_RSCP",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.CPICH_RSCP", HFILL }},
-    { &hf_ulp_pathloss,
-      { "pathloss", "ulp.pathloss",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.Pathloss", HFILL }},
-    { &hf_ulp_tdd1,
-      { "tdd", "ulp.tdd",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.T_tdd", HFILL }},
-    { &hf_ulp_cellParametersID,
-      { "cellParametersID", "ulp.cellParametersID",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.CellParametersID", HFILL }},
-    { &hf_ulp_proposedTGSN,
-      { "proposedTGSN", "ulp.proposedTGSN",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.TGSN", HFILL }},
-    { &hf_ulp_primaryCCPCH_RSCP,
-      { "primaryCCPCH-RSCP", "ulp.primaryCCPCH_RSCP",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.PrimaryCCPCH_RSCP", HFILL }},
-    { &hf_ulp_timeslotISCP_List,
-      { "timeslotISCP-List", "ulp.timeslotISCP_List",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.TimeslotISCP_List", HFILL }},
-    { &hf_ulp_TimeslotISCP_List_item,
-      { "Item", "ulp.TimeslotISCP_List_item",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.TimeslotISCP", HFILL }},
-    { &hf_ulp_horacc,
-      { "horacc", "ulp.horacc",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_127", HFILL }},
-    { &hf_ulp_veracc,
-      { "veracc", "ulp.veracc",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_127", HFILL }},
-    { &hf_ulp_maxLocAge,
-      { "maxLocAge", "ulp.maxLocAge",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_65535", HFILL }},
-    { &hf_ulp_delay,
-      { "delay", "ulp.delay",
-        FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_7", HFILL }},
-    { &hf_ulp_horvel,
-      { "horvel", "ulp.horvel",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.Horvel", HFILL }},
-    { &hf_ulp_horandvervel,
-      { "horandvervel", "ulp.horandvervel",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.Horandvervel", HFILL }},
-    { &hf_ulp_horveluncert,
-      { "horveluncert", "ulp.horveluncert",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.Horveluncert", HFILL }},
-    { &hf_ulp_horandveruncert,
-      { "horandveruncert", "ulp.horandveruncert",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.Horandveruncert", HFILL }},
-    { &hf_ulp_bearing,
-      { "bearing", "ulp.bearing",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_9", HFILL }},
-    { &hf_ulp_horspeed,
-      { "horspeed", "ulp.horspeed",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_16", HFILL }},
-    { &hf_ulp_verdirect,
-      { "verdirect", "ulp.verdirect",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_1", HFILL }},
-    { &hf_ulp_verspeed,
-      { "verspeed", "ulp.verspeed",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_8", HFILL }},
-    { &hf_ulp_uncertspeed,
-      { "uncertspeed", "ulp.uncertspeed",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_8", HFILL }},
-    { &hf_ulp_horuncertspeed,
-      { "horuncertspeed", "ulp.horuncertspeed",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_8", HFILL }},
-    { &hf_ulp_veruncertspeed,
-      { "veruncertspeed", "ulp.veruncertspeed",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_8", HFILL }},
-    { &hf_ulp_sETNonce,
-      { "sETNonce", "ulp.sETNonce",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.SETNonce", HFILL }},
-    { &hf_ulp_keyIdentity2,
-      { "keyIdentity2", "ulp.keyIdentity2",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.KeyIdentity2", HFILL }},
-    { &hf_ulp_sPCAuthKey,
-      { "sPCAuthKey", "ulp.sPCAuthKey",
-        FT_UINT32, BASE_DEC, VALS(ulp_SPCAuthKey_vals), 0,
-        "ulp.SPCAuthKey", HFILL }},
-    { &hf_ulp_keyIdentity3,
-      { "keyIdentity3", "ulp.keyIdentity3",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.KeyIdentity3", HFILL }},
-    { &hf_ulp_statusCode,
-      { "statusCode", "ulp.statusCode",
-        FT_UINT32, BASE_DEC, VALS(ulp_StatusCode_vals), 0,
-        "ulp.StatusCode", HFILL }},
-    { &hf_ulp_shortKey,
-      { "shortKey", "ulp.shortKey",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_128", HFILL }},
-    { &hf_ulp_longKey,
-      { "longKey", "ulp.longKey",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.BIT_STRING_SIZE_256", HFILL }},
-    { &hf_ulp_position,
-      { "position", "ulp.position",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.Position", HFILL }},
-    { &hf_ulp_ver,
-      { "ver", "ulp.ver",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.Ver", HFILL }},
-    { &hf_ulp_posMethod,
-      { "posMethod", "ulp.posMethod",
-        FT_UINT32, BASE_DEC, VALS(ulp_PosMethod_vals), 0,
-        "ulp.PosMethod", HFILL }},
-    { &hf_ulp_notification,
-      { "notification", "ulp.notification",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.Notification", HFILL }},
-    { &hf_ulp_sLPAddress,
-      { "sLPAddress", "ulp.sLPAddress",
-        FT_UINT32, BASE_DEC, VALS(ulp_SLPAddress_vals), 0,
-        "ulp.SLPAddress", HFILL }},
-    { &hf_ulp_qoP,
-      { "qoP", "ulp.qoP",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.QoP", HFILL }},
-    { &hf_ulp_sLPMode,
-      { "sLPMode", "ulp.sLPMode",
-        FT_UINT32, BASE_DEC, VALS(ulp_SLPMode_vals), 0,
-        "ulp.SLPMode", HFILL }},
-    { &hf_ulp_mAC,
-      { "mAC", "ulp.mAC",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.MAC", HFILL }},
-    { &hf_ulp_keyIdentity,
-      { "keyIdentity", "ulp.keyIdentity",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.KeyIdentity", HFILL }},
-    { &hf_ulp_notificationType,
-      { "notificationType", "ulp.notificationType",
-        FT_UINT32, BASE_DEC, VALS(ulp_NotificationType_vals), 0,
-        "ulp.NotificationType", HFILL }},
-    { &hf_ulp_encodingType,
-      { "encodingType", "ulp.encodingType",
-        FT_UINT32, BASE_DEC, VALS(ulp_EncodingType_vals), 0,
-        "ulp.EncodingType", HFILL }},
-    { &hf_ulp_requestorId,
-      { "requestorId", "ulp.requestorId",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.OCTET_STRING_SIZE_1_maxReqLength", HFILL }},
-    { &hf_ulp_requestorIdType,
-      { "requestorIdType", "ulp.requestorIdType",
-        FT_UINT32, BASE_DEC, VALS(ulp_FormatIndicator_vals), 0,
-        "ulp.FormatIndicator", HFILL }},
-    { &hf_ulp_clientName,
-      { "clientName", "ulp.clientName",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.OCTET_STRING_SIZE_1_maxClientLength", HFILL }},
-    { &hf_ulp_clientNameType,
-      { "clientNameType", "ulp.clientNameType",
-        FT_UINT32, BASE_DEC, VALS(ulp_FormatIndicator_vals), 0,
-        "ulp.FormatIndicator", HFILL }},
-    { &hf_ulp_posPayLoad,
-      { "posPayLoad", "ulp.posPayLoad",
-        FT_UINT32, BASE_DEC, VALS(ulp_PosPayLoad_vals), 0,
-        "ulp.PosPayLoad", HFILL }},
-    { &hf_ulp_tia801payload,
-      { "tia801payload", "ulp.tia801payload",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.OCTET_STRING_SIZE_1_8192", HFILL }},
-    { &hf_ulp_rrcPayload,
-      { "rrcPayload", "ulp.rrcPayload",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.OCTET_STRING_SIZE_1_8192", HFILL }},
-    { &hf_ulp_rrlpPayload,
-      { "rrlpPayload", "ulp.rrlpPayload",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.RRLPPayload", HFILL }},
-    { &hf_ulp_sETCapabilities,
-      { "sETCapabilities", "ulp.sETCapabilities",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.SETCapabilities", HFILL }},
-    { &hf_ulp_requestedAssistData,
-      { "requestedAssistData", "ulp.requestedAssistData",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.RequestedAssistData", HFILL }},
-    { &hf_ulp_locationId,
-      { "locationId", "ulp.locationId",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.LocationId", HFILL }},
-    { &hf_ulp_sUPLPOS,
-      { "sUPLPOS", "ulp.sUPLPOS",
-        FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.SUPLPOS", HFILL }},
-    { &hf_ulp_almanacRequested,
-      { "almanacRequested", "ulp.almanacRequested",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_utcModelRequested,
-      { "utcModelRequested", "ulp.utcModelRequested",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_ionosphericModelRequested,
-      { "ionosphericModelRequested", "ulp.ionosphericModelRequested",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_dgpsCorrectionsRequested,
-      { "dgpsCorrectionsRequested", "ulp.dgpsCorrectionsRequested",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_referenceLocationRequested,
-      { "referenceLocationRequested", "ulp.referenceLocationRequested",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_referenceTimeRequested,
-      { "referenceTimeRequested", "ulp.referenceTimeRequested",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_acquisitionAssistanceRequested,
-      { "acquisitionAssistanceRequested", "ulp.acquisitionAssistanceRequested",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_realTimeIntegrityRequested,
-      { "realTimeIntegrityRequested", "ulp.realTimeIntegrityRequested",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_navigationModelRequested,
-      { "navigationModelRequested", "ulp.navigationModelRequested",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_navigationModelData,
-      { "navigationModelData", "ulp.navigationModelData",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.UARFCN", HFILL }},
+    { &hf_ulp_NMR_item,
+      { "Item", "ulp.NMR_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.NavigationModel", HFILL }},
-    { &hf_ulp_gpsWeek,
-      { "gpsWeek", "ulp.gpsWeek",
+        "ulp.NMRelement", HFILL }},
+    { &hf_ulp_aRFCN,
+      { "aRFCN", "ulp.aRFCN",
         FT_UINT32, BASE_DEC, NULL, 0,
         "ulp.INTEGER_0_1023", HFILL }},
-    { &hf_ulp_gpsToe,
-      { "gpsToe", "ulp.gpsToe",
+    { &hf_ulp_bSIC,
+      { "bSIC", "ulp.bSIC",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_167", HFILL }},
-    { &hf_ulp_nSAT,
-      { "nSAT", "ulp.nSAT",
+        "ulp.INTEGER_0_63", HFILL }},
+    { &hf_ulp_rxLev,
+      { "rxLev", "ulp.rxLev",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_31", HFILL }},
-    { &hf_ulp_toeLimit,
-      { "toeLimit", "ulp.toeLimit",
+        "ulp.INTEGER_0_63", HFILL }},
+    { &hf_ulp_MeasuredResultsList_item,
+      { "Item", "ulp.MeasuredResultsList_item",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.MeasuredResults", HFILL }},
+    { &hf_ulp_utra_CarrierRSSI,
+      { "utra-CarrierRSSI", "ulp.utra_CarrierRSSI",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_10", HFILL }},
-    { &hf_ulp_satInfo,
-      { "satInfo", "ulp.satInfo",
+        "ulp.UTRA_CarrierRSSI", HFILL }},
+    { &hf_ulp_cellMeasuredResultsList,
+      { "cellMeasuredResultsList", "ulp.cellMeasuredResultsList",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.SatelliteInfo", HFILL }},
-    { &hf_ulp_SatelliteInfo_item,
-      { "Item", "ulp.SatelliteInfo_item",
+        "ulp.CellMeasuredResultsList", HFILL }},
+    { &hf_ulp_CellMeasuredResultsList_item,
+      { "Item", "ulp.CellMeasuredResultsList_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.SatelliteInfoElement", HFILL }},
-    { &hf_ulp_satId,
-      { "satId", "ulp.satId",
+        "ulp.CellMeasuredResults", HFILL }},
+    { &hf_ulp_cellIdentity,
+      { "cellIdentity", "ulp.cellIdentity",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_63", HFILL }},
-    { &hf_ulp_iODE,
-      { "iODE", "ulp.iODE",
+        "ulp.INTEGER_0_268435455", HFILL }},
+    { &hf_ulp_modeSpecificInfo1,
+      { "modeSpecificInfo", "ulp.modeSpecificInfo",
+        FT_UINT32, BASE_DEC, VALS(ulp_T_modeSpecificInfo1_vals), 0,
+        "ulp.T_modeSpecificInfo1", HFILL }},
+    { &hf_ulp_fdd1,
+      { "fdd", "ulp.fdd",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.T_fdd", HFILL }},
+    { &hf_ulp_primaryCPICH_Info,
+      { "primaryCPICH-Info", "ulp.primaryCPICH_Info",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.PrimaryCPICH_Info", HFILL }},
+    { &hf_ulp_cpich_Ec_N0,
+      { "cpich-Ec-N0", "ulp.cpich_Ec_N0",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ulp.INTEGER_0_255", HFILL }},
-    { &hf_ulp_sETAuthKey,
-      { "sETAuthKey", "ulp.sETAuthKey",
-        FT_UINT32, BASE_DEC, VALS(ulp_SETAuthKey_vals), 0,
-        "ulp.SETAuthKey", HFILL }},
-    { &hf_ulp_keyIdentity4,
-      { "keyIdentity4", "ulp.keyIdentity4",
-        FT_BYTES, BASE_HEX, NULL, 0,
-        "ulp.KeyIdentity4", HFILL }},
-    { &hf_ulp_posTechnology,
-      { "posTechnology", "ulp.posTechnology",
+        "ulp.CPICH_Ec_N0", HFILL }},
+    { &hf_ulp_cpich_RSCP,
+      { "cpich-RSCP", "ulp.cpich_RSCP",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.CPICH_RSCP", HFILL }},
+    { &hf_ulp_pathloss,
+      { "pathloss", "ulp.pathloss",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.Pathloss", HFILL }},
+    { &hf_ulp_tdd1,
+      { "tdd", "ulp.tdd",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.PosTechnology", HFILL }},
-    { &hf_ulp_prefMethod,
-      { "prefMethod", "ulp.prefMethod",
-        FT_UINT32, BASE_DEC, VALS(ulp_PrefMethod_vals), 0,
-        "ulp.PrefMethod", HFILL }},
-    { &hf_ulp_posProtocol,
-      { "posProtocol", "ulp.posProtocol",
+        "ulp.T_tdd", HFILL }},
+    { &hf_ulp_cellParametersID,
+      { "cellParametersID", "ulp.cellParametersID",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.CellParametersID", HFILL }},
+    { &hf_ulp_proposedTGSN,
+      { "proposedTGSN", "ulp.proposedTGSN",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.TGSN", HFILL }},
+    { &hf_ulp_primaryCCPCH_RSCP,
+      { "primaryCCPCH-RSCP", "ulp.primaryCCPCH_RSCP",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.PrimaryCCPCH_RSCP", HFILL }},
+    { &hf_ulp_timeslotISCP_List,
+      { "timeslotISCP-List", "ulp.timeslotISCP_List",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.TimeslotISCP_List", HFILL }},
+    { &hf_ulp_TimeslotISCP_List_item,
+      { "Item", "ulp.TimeslotISCP_List_item",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.TimeslotISCP", HFILL }},
+    { &hf_ulp_horacc,
+      { "horacc", "ulp.horacc",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_127", HFILL }},
+    { &hf_ulp_veracc,
+      { "veracc", "ulp.veracc",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_127", HFILL }},
+    { &hf_ulp_maxLocAge,
+      { "maxLocAge", "ulp.maxLocAge",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_65535", HFILL }},
+    { &hf_ulp_delay,
+      { "delay", "ulp.delay",
+        FT_UINT32, BASE_DEC, NULL, 0,
+        "ulp.INTEGER_0_7", HFILL }},
+    { &hf_ulp_horvel,
+      { "horvel", "ulp.horvel",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ulp.PosProtocol", HFILL }},
-    { &hf_ulp_agpsSETassisted,
-      { "agpsSETassisted", "ulp.agpsSETassisted",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_agpsSETBased,
-      { "agpsSETBased", "ulp.agpsSETBased",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_autonomousGPS,
-      { "autonomousGPS", "ulp.autonomousGPS",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_aFLT,
-      { "aFLT", "ulp.aFLT",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_eCID,
-      { "eCID", "ulp.eCID",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_eOTD,
-      { "eOTD", "ulp.eOTD",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_oTDOA,
-      { "oTDOA", "ulp.oTDOA",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_tia801,
-      { "tia801", "ulp.tia801",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_rrlp,
-      { "rrlp", "ulp.rrlp",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
-    { &hf_ulp_rrc,
-      { "rrc", "ulp.rrc",
-        FT_BOOLEAN, 8, NULL, 0,
-        "ulp.BOOLEAN", HFILL }},
+        "ulp.Horvel", HFILL }},
+    { &hf_ulp_horandvervel,
+      { "horandvervel", "ulp.horandvervel",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.Horandvervel", HFILL }},
+    { &hf_ulp_horveluncert,
+      { "horveluncert", "ulp.horveluncert",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.Horveluncert", HFILL }},
+    { &hf_ulp_horandveruncert,
+      { "horandveruncert", "ulp.horandveruncert",
+        FT_NONE, BASE_NONE, NULL, 0,
+        "ulp.Horandveruncert", HFILL }},
+    { &hf_ulp_bearing,
+      { "bearing", "ulp.bearing",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.BIT_STRING_SIZE_9", HFILL }},
+    { &hf_ulp_horspeed,
+      { "horspeed", "ulp.horspeed",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.BIT_STRING_SIZE_16", HFILL }},
+    { &hf_ulp_verdirect,
+      { "verdirect", "ulp.verdirect",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.BIT_STRING_SIZE_1", HFILL }},
+    { &hf_ulp_verspeed,
+      { "verspeed", "ulp.verspeed",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.BIT_STRING_SIZE_8", HFILL }},
+    { &hf_ulp_uncertspeed,
+      { "uncertspeed", "ulp.uncertspeed",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.BIT_STRING_SIZE_8", HFILL }},
+    { &hf_ulp_horuncertspeed,
+      { "horuncertspeed", "ulp.horuncertspeed",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.BIT_STRING_SIZE_8", HFILL }},
+    { &hf_ulp_veruncertspeed,
+      { "veruncertspeed", "ulp.veruncertspeed",
+        FT_BYTES, BASE_HEX, NULL, 0,
+        "ulp.BIT_STRING_SIZE_8", HFILL }},
 
 /*--- End of included file: packet-ulp-hfarr.c ---*/
-#line 120 "packet-ulp-template.c"
+#line 117 "packet-ulp-template.c"
   };
 
   /* List of subtrees */
@@ -2903,6 +2869,25 @@ void proto_register_ulp(void) {
 #line 1 "packet-ulp-ettarr.c"
     &ett_ulp_ULP_PDU,
     &ett_ulp_UlpMessage,
+    &ett_ulp_SUPLINIT,
+    &ett_ulp_Notification,
+    &ett_ulp_SUPLSTART,
+    &ett_ulp_SETCapabilities,
+    &ett_ulp_PosTechnology,
+    &ett_ulp_PosProtocol,
+    &ett_ulp_SUPLRESPONSE,
+    &ett_ulp_SETAuthKey,
+    &ett_ulp_SUPLPOSINIT,
+    &ett_ulp_RequestedAssistData,
+    &ett_ulp_NavigationModel,
+    &ett_ulp_SatelliteInfo,
+    &ett_ulp_SatelliteInfoElement,
+    &ett_ulp_SUPLPOS,
+    &ett_ulp_PosPayLoad,
+    &ett_ulp_SUPLEND,
+    &ett_ulp_SUPLAUTHREQ,
+    &ett_ulp_SUPLAUTHRESP,
+    &ett_ulp_SPCAuthKey,
     &ett_ulp_Version,
     &ett_ulp_SessionID,
     &ett_ulp_SetSessionID,
@@ -2940,28 +2925,9 @@ void proto_register_ulp(void) {
     &ett_ulp_Horandvervel,
     &ett_ulp_Horveluncert,
     &ett_ulp_Horandveruncert,
-    &ett_ulp_SUPLAUTHREQ,
-    &ett_ulp_SUPLAUTHRESP,
-    &ett_ulp_SPCAuthKey,
-    &ett_ulp_SUPLEND,
-    &ett_ulp_SUPLINIT,
-    &ett_ulp_Notification,
-    &ett_ulp_SUPLPOS,
-    &ett_ulp_PosPayLoad,
-    &ett_ulp_SUPLPOSINIT,
-    &ett_ulp_RequestedAssistData,
-    &ett_ulp_NavigationModel,
-    &ett_ulp_SatelliteInfo,
-    &ett_ulp_SatelliteInfoElement,
-    &ett_ulp_SUPLRESPONSE,
-    &ett_ulp_SETAuthKey,
-    &ett_ulp_SUPLSTART,
-    &ett_ulp_SETCapabilities,
-    &ett_ulp_PosTechnology,
-    &ett_ulp_PosProtocol,
 
 /*--- End of included file: packet-ulp-ettarr.c ---*/
-#line 126 "packet-ulp-template.c"
+#line 123 "packet-ulp-template.c"
   };
 
   module_t *ulp_module;
@@ -2991,5 +2957,3 @@ void proto_register_ulp(void) {
 }
 
 
-
-
diff --git a/epan/dissectors/packet-ulp.h b/epan/dissectors/packet-ulp.h
deleted file mode 100644 (file)
index 86f0f2a..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Do not modify this file.                                                   */
-/* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
-/* .\packet-ulp.h                                                             */
-/* ../../tools/asn2wrs.py -u -e -p ulp -c ulp.cnf -s packet-ulp-template ULP.asn */
-
-/* Input file: packet-ulp-template.h */
-
-#line 1 "packet-ulp-template.h"
-/* packet-ulp.h
- * Routines for OMA UserPlane Location Protocol packet dissection
- * Copyright 2006, Anders Broman <anders.broman@ericsson.com>
- *
- * $Id$
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-#ifndef PACKET_ULP_H
-#define PACKET_ULP_H
-
-
-
-/* #include "packet-ulp-exp.h" */
-
-#endif  /* PACKET_UPL_H */
-
-