diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2014-03-17 17:14:39 +0100 |
---|---|---|
committer | Evan Huus <eapache@gmail.com> | 2014-03-17 17:25:43 +0000 |
commit | d416783bc647fc3fb4bdc8515e53e7faf144f19a (patch) | |
tree | 492516e3bd5c0efde1bc6a606fbdc34828f5b443 | |
parent | 1db0fc5c982e7d4c2fc4ff2397744bbc7a06778e (diff) | |
download | wireshark-d416783bc647fc3fb4bdc8515e53e7faf144f19a.tar.gz wireshark-d416783bc647fc3fb4bdc8515e53e7faf144f19a.tar.bz2 wireshark-d416783bc647fc3fb4bdc8515e53e7faf144f19a.zip |
ULP: upgrade dissector to approved version 2.0.1
Change-Id: I9d7b16c450cb99aa1d66b0a180241c36f8869637
Reviewed-on: https://code.wireshark.org/review/716
Reviewed-by: Evan Huus <eapache@gmail.com>
-rw-r--r-- | asn1/ulp/SUPL.asn | 31 | ||||
-rw-r--r-- | asn1/ulp/ULP-Components.asn | 28 | ||||
-rw-r--r-- | asn1/ulp/ULP.asn | 2 | ||||
-rw-r--r-- | asn1/ulp/packet-ulp-template.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-ulp.c | 14 |
5 files changed, 42 insertions, 35 deletions
diff --git a/asn1/ulp/SUPL.asn b/asn1/ulp/SUPL.asn index 66713983c4..b4a12d03b0 100644 --- a/asn1/ulp/SUPL.asn +++ b/asn1/ulp/SUPL.asn @@ -1,6 +1,6 @@ -- SUPL.asn --- From OMA UserPlane Location Protocol Candidate Version 2.0 06 Aug 2010 --- OMA-TS-ULP-V2_0-20100806-D +-- From OMA UserPlane Location Protocol Approved Version 2.0.1 - 05 Dec 2012 +-- OMA-TS-ULP-V2_0_1-20121205-A.zip -- -- 11.2 Message Specific Part -- @@ -483,11 +483,8 @@ GSMAreaId ::= SEQUENCE { refCI INTEGER(0..65535) OPTIONAL, -- Cell Id ...} --- if only CI is present, MCC, MNC and LAC are assumed to be identical to the current serving or camped on network values --- if only CI + LAC are present, MCC and MNC are assumed to be identical to the current serving or camped on network values --- if only CI + LAC + MNC are present, MCC is assumed to be identical to the current serving or camped on network values --- if only LAC is present, MCC and MNC are assumed to be identical to the current serving or camped on network values --- if only MNC is present, MCC is assumed to be identical to the current serving or camped on network value +-- only one of the following four combinations are allowed: (1) refMCC, (2) +-- refMCC+refMNC, (3) refMCC+refMNC+refLAC or (4) refMCC+refMNC+refLAC+refCI WCDMAAreaId ::= SEQUENCE { refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code @@ -496,9 +493,8 @@ refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code refUC INTEGER(0..268435455) OPTIONAL, -- Cell identity ...} --- if only UC is present, MCC and MNC are assumed to be identical to the current serving or camped on network values --- if only LAC is present, MCC and MNC are assumed to be identical to the current serving or camped on network values --- if only MNC is present, MCC is assumed to be identical to the current serving or camped on network value +-- only one of the following four combinations are allowed: (1) refMCC, (2) +-- refMCC+refMNC, (3) refMCC+refMNC+refLAC, or (4) refMCC+refMNC+refLAC+refUC CDMAAreaId::= SEQUENCE { refSID INTEGER(0..65535) OPTIONAL, -- System Id @@ -506,8 +502,8 @@ CDMAAreaId::= SEQUENCE { refBASEID INTEGER(0..65535) OPTIONAL, -- Base Station Id ...} --- if only BASEID is present, SID and NID are assumed to be identical to the current serving or camped on network values --- if only NID is present, SID is assumed to be identical to the current serving or camped on network value +-- only one of the following three combinations are allowed: (1) refSID, (2) +-- refSID+refNID, or (3) refSID+refNID+refBASEID HRPDAreaId::= SEQUENCE { refSECTORID BIT STRING(SIZE (128)), -- HRPD Sector Id @@ -519,19 +515,16 @@ UMBAreaId::= SEQUENCE { refSECTORID BIT STRING(SIZE (128)) OPTIONAL, -- UMB Sector Id ...} --- if only SECTORID is present, MCC and MNC are assumed to be identical to the current serving or camped on network values --- if only SECTORID + MNC are present, MCC is assumed to be identical to the current serving or camped on network values --- if only MNC is present, MCC is assumed to be identical to the current serving or camped on network value LTEAreaId::= SEQUENCE { refMCC INTEGER(0..999) OPTIONAL, -- Mobile Country Code refMNC INTEGER(0..999) OPTIONAL, -- Mobile Network Code -refCI BIT STRING(SIZE (29)) OPTIONAL, -- LTE Cell-Id including CSG bit +refCI BIT STRING(SIZE (29)) OPTIONAL, -- LTE Cell-Id ...} --- if only CI is present, MCC and MNC are assumed to be identical to the current serving or camped on network values --- if only CI + MNC are present, MCC is assumed to be identical to the current serving or camped on network values --- if only MNC is present, MCC is assumed to be identical to the current serving or camped on network value +-- only one of the following three combinations are allowed: (1) refMCC, (2) refMCC+refMNC, or (3) refMCC+refMNC+refCI +-- The LTE Cell-Id is encoded in the 28 Least Significant Bits of refCI - +-- The Most Significant Bit of refCI shall be ignored - WLANAreaId::= SEQUENCE { diff --git a/asn1/ulp/ULP-Components.asn b/asn1/ulp/ULP-Components.asn index 9532c457d6..b47a9c5e5a 100644 --- a/asn1/ulp/ULP-Components.asn +++ b/asn1/ulp/ULP-Components.asn @@ -1,6 +1,6 @@ -- ULP-Components.asn --- From OMA UserPlane Location Protocol Candidate Version 2.0 06 Aug 2010 --- OMA-TS-ULP-V2_0-20100806-D +-- From UserPlane Location Protocol Approved Version 2.0.1 - 05 Dec 2012 +-- OMA-TS-ULP-V2_0_1-20121205-A -- -- 11.5 Common elements (SUPL Version 1) -- @@ -223,7 +223,7 @@ CPICH-Ec-N0 ::= INTEGER(0..63) -- cpich-RSCP = 127 -117 = CPICH RSCP < -116 dBm -- cpich-RSCP = 0 -116 = CPICH RSCP < -115 dBm -- cpich-RSCP = 1 -115 = CPICH RSCP < -114 dBm --- ? ? ? +-- ... ... ... -- cpich-RSCP = 89 -27 = CPICH RSCP < -26 dBm -- cpich-RSCP = 90 -26 = CPICH RSCP < -25 dBm -- cpich-RSCP = 91 -25 = CPICH RSCP dBm @@ -246,7 +246,10 @@ StatusCode ::= ENUMERATED { 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), ..., ver2-incompatibleProtectionLevel(18), ver2-serviceNotSupported(19), ver2-insufficientInterval(20), ver2-noSUPLCoverage(21), ver2-sessionStopped(102)} + positioningNotPermitted(15), authNetFailure(16), authSuplinitFailure(17), + consentDeniedByUser(100), consentGrantedByUser(101), ..., ver2-incompatibleProtectionLevel(18), + ver2-serviceNotSupported(19), ver2-insufficientInterval(20), ver2-noSUPLCoverage(21), ver2-sessionStopped(102), + ver2-appIdDenied(103)} QoP ::= SEQUENCE { horacc INTEGER(0..127), @@ -312,10 +315,10 @@ MultipleLocationIds ::= SEQUENCE SIZE (1..maxLidSize) OF LocationIdData LocationIdData ::= SEQUENCE { locationId LocationId, relativetimestamp RelativeTime OPTIONAL, -- if relativetimestamp is present, then data represents historical measurement, if absent, data represents current measurements -servingFlag BOOLEAN, -- if "true?measurements represent serving cell +servingFlag BOOLEAN, -- if "true" measurements represent serving cell ...} -RelativeTime ::= INTEGER (0..65535) -- relative time to "current?Location Id in multiples of 0.01sec +RelativeTime ::= INTEGER (0..65535) -- relative time to "current" Location Id in multiples of 0.01sec maxLidSize INTEGER ::= 64 @@ -441,9 +444,11 @@ LteCellInformation ::= SEQUENCE { trackingAreaCode TrackingAreaCode, rsrpResult RSRP-Range OPTIONAL, rsrqResult RSRQ-Range OPTIONAL, - tA INTEGER(0..1282) OPTIONAL, -- Timing Advance as per 3GPP TS 36.321 + tA INTEGER(0..1282) OPTIONAL, -- Currently used Timing Advance value (N /16 as per [3GPP 36.213]) TA measResultListEUTRA MeasResultListEUTRA OPTIONAL, --Neighbour measurements - ...} + ..., + earfcn INTEGER(0..65535) OPTIONAL + } -- Measured results of neighbours cells per 3GPP TS 36.331 -- @@ -458,7 +463,8 @@ MeasResultEUTRA ::= SEQUENCE { measResult SEQUENCE { rsrpResult RSRP-Range OPTIONAL, -- Mapping to measured values rsrqResult RSRQ-Range OPTIONAL, -- in 3GPP TS 36.133 - ... + ..., + earfcn INTEGER(0..65535) OPTIONAL } } @@ -687,7 +693,7 @@ ThirdPartyID ::= CHOICE { emailaddr IA5String(SIZE (1..1000)), -- sip-uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~%#@?")) (SIZE (1..255)), -- ims-public-identity VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~%#@?")) (SIZE (1..255)), --- # asn2wrs does not handle '%' in the resticted string +-- # asn2wrs does not handle '%' in the restricted string sip-uri VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~#@?")) (SIZE (1..255)), ims-public-identity VisibleString(FROM ("a".."z" | "A".."Z" | "0".."9" | ":./-_~#@?")) (SIZE (1..255)), min BIT STRING(SIZE (34)), -- coded according to TIA-553 @@ -741,7 +747,7 @@ EllipticalArea ::= SEQUENCE { semiMinor INTEGER(1..1000000), -- units in meters semiMinor-min INTEGER(1..1000000) OPTIONAL, -- hysteresis minimum semiMinor semiMinor-max INTEGER(1..1500000) OPTIONAL, -- hysteresis maximum semiMinor - angle INTEGER(0.. 179)} -- units in degrees "the angle is defined as the angle between the semi-major axis and North, increasing in a clockwise direction. An angle of 0 represents an ellipse with the semi-major axis pointing North/South while an angle of 90 represents an ellipse with the semi-major axis pointing East/West. + angle INTEGER(0.. 179)} -- units in degrees the angle is defined as the angle between the semi-major axis and North, increasing in a clockwise direction. An angle of 0 represents an ellipse with the semi-major axis pointing North/South while an angle of 90 represents an ellipse with the semi-major axis pointing East/West. PolygonArea ::= SEQUENCE { polygonDescription PolygonDescription, diff --git a/asn1/ulp/ULP.asn b/asn1/ulp/ULP.asn index 2482d7a0eb..155fe4de14 100644 --- a/asn1/ulp/ULP.asn +++ b/asn1/ulp/ULP.asn @@ -1,7 +1,7 @@ -- ULP.asn -- -- Taken from OMA UserPlane Location Protocol --- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ULP-V2_0-20100816-C.zip +-- http://member.openmobilealliance.org/ftp/Public_documents/LOC/Permanent_documents/OMA-TS-ULP-V2_0_1-20121205-A.zip -- -- 11.1 Common Part -- diff --git a/asn1/ulp/packet-ulp-template.c b/asn1/ulp/packet-ulp-template.c index 56fb0b930a..9260faae73 100644 --- a/asn1/ulp/packet-ulp-template.c +++ b/asn1/ulp/packet-ulp-template.c @@ -20,7 +20,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * ref OMA-TS-ULP-V2_0-20100806-D + * ref OMA-TS-ULP-V2_0_1-20121205-A * http://www.openmobilealliance.org */ diff --git a/epan/dissectors/packet-ulp.c b/epan/dissectors/packet-ulp.c index 4ef45623ac..78fbde00dc 100644 --- a/epan/dissectors/packet-ulp.c +++ b/epan/dissectors/packet-ulp.c @@ -28,7 +28,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * ref OMA-TS-ULP-V2_0-20100806-D + * ref OMA-TS-ULP-V2_0_1-20121205-A * http://www.openmobilealliance.org */ @@ -538,6 +538,7 @@ static int hf_ulp_rsrpResult = -1; /* RSRP_Range */ static int hf_ulp_rsrqResult = -1; /* RSRQ_Range */ static int hf_ulp_tA_02 = -1; /* INTEGER_0_1282 */ static int hf_ulp_measResultListEUTRA = -1; /* MeasResultListEUTRA */ +static int hf_ulp_earfcn = -1; /* INTEGER_0_65535 */ static int hf_ulp_MeasResultListEUTRA_item = -1; /* MeasResultEUTRA */ static int hf_ulp_cgi_Info = -1; /* T_cgi_Info */ static int hf_ulp_cellGlobalId = -1; /* CellGlobalIdEUTRA */ @@ -3021,6 +3022,7 @@ dissect_ulp_T_cgi_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static const per_sequence_t T_measResult_sequence[] = { { &hf_ulp_rsrpResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRP_Range }, { &hf_ulp_rsrqResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRQ_Range }, + { &hf_ulp_earfcn , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; @@ -3071,6 +3073,7 @@ static const per_sequence_t LteCellInformation_sequence[] = { { &hf_ulp_rsrqResult , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_RSRQ_Range }, { &hf_ulp_tA_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_INTEGER_0_1282 }, { &hf_ulp_measResultListEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ulp_MeasResultListEUTRA }, + { &hf_ulp_earfcn , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_ulp_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; @@ -5142,15 +5145,16 @@ static const value_string ulp_StatusCode_vals[] = { { 20, "ver2-insufficientInterval" }, { 21, "ver2-noSUPLCoverage" }, { 102, "ver2-sessionStopped" }, + { 103, "ver2-appIdDenied" }, { 0, NULL } }; -static guint32 StatusCode_value_map[20+5] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 100, 101, 18, 19, 20, 21, 102}; +static guint32 StatusCode_value_map[20+6] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 100, 101, 18, 19, 20, 21, 102, 103}; static int dissect_ulp_StatusCode(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, - 20, NULL, TRUE, 5, StatusCode_value_map); + 20, NULL, TRUE, 6, StatusCode_value_map); return offset; } @@ -8179,6 +8183,10 @@ void proto_register_ulp(void) { { "measResultListEUTRA", "ulp.measResultListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_ulp_earfcn, + { "earfcn", "ulp.earfcn", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_65535", HFILL }}, { &hf_ulp_MeasResultListEUTRA_item, { "MeasResultEUTRA", "ulp.MeasResultEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, |