diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2016-01-10 21:01:26 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2016-01-10 21:07:53 +0000 |
commit | 20f1100312ae7520ae7876c428d975e6acf81fd4 (patch) | |
tree | 93d906560cbfc4e9ca08fe2fad2a05b32c0f5deb /asn1 | |
parent | 9e4c79c15366e7e3f44dc3d03dfc4ea23929ecfe (diff) |
LPP: upgrade dissector to v13.0.0
Change-Id: I0b01e48eae8be010175fb7f3aa1208957b871f06
Reviewed-on: https://code.wireshark.org/review/13174
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/lpp/LPP.asn | 336 | ||||
-rw-r--r-- | asn1/lpp/lpp.cnf | 180 | ||||
-rw-r--r-- | asn1/lpp/packet-lpp-template.c | 12 | ||||
-rw-r--r-- | asn1/lpp/packet-lpp-template.h | 4 |
4 files changed, 510 insertions, 22 deletions
diff --git a/asn1/lpp/LPP.asn b/asn1/lpp/LPP.asn index 67bdbbb602..52467aec50 100644 --- a/asn1/lpp/LPP.asn +++ b/asn1/lpp/LPP.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.355 V12.4.0 (2015-03) +-- 3GPP TS 36.355 V13.0.0 (2015-12) -- LPP-PDU-Definitions { @@ -74,7 +74,13 @@ RequestCapabilities-r9-IEs ::= SEQUENCE { otdoa-RequestCapabilities OTDOA-RequestCapabilities OPTIONAL, -- Need ON ecid-RequestCapabilities ECID-RequestCapabilities OPTIONAL, -- Need ON epdu-RequestCapabilities EPDU-Sequence OPTIONAL, -- Need ON - ... + ..., + [[ sensor-RequestCapabilities-r13 Sensor-RequestCapabilities-r13 OPTIONAL, -- Need ON + tbs-RequestCapabilities-r13 TBS-RequestCapabilities-r13 OPTIONAL, -- Need ON + wlan-RequestCapabilities-r13 WLAN-RequestCapabilities-r13 OPTIONAL, -- Need ON + bt-RequestCapabilities-r13 BT-RequestCapabilities-r13 OPTIONAL -- Need ON + ]] + } @@ -94,7 +100,12 @@ ProvideCapabilities-r9-IEs ::= SEQUENCE { otdoa-ProvideCapabilities OTDOA-ProvideCapabilities OPTIONAL, ecid-ProvideCapabilities ECID-ProvideCapabilities OPTIONAL, epdu-ProvideCapabilities EPDU-Sequence OPTIONAL, - ... + ..., + [[ sensor-ProvideCapabilities-r13 Sensor-ProvideCapabilities-r13 OPTIONAL, + tbs-ProvideCapabilities-r13 TBS-ProvideCapabilities-r13 OPTIONAL, + wlan-ProvideCapabilities-r13 WLAN-ProvideCapabilities-r13 OPTIONAL, + bt-ProvideCapabilities-r13 BT-ProvideCapabilities-r13 OPTIONAL + ]] } @@ -153,7 +164,16 @@ RequestLocationInformation-r9-IEs ::= SEQUENCE { otdoa-RequestLocationInformation OTDOA-RequestLocationInformation OPTIONAL, -- Need ON ecid-RequestLocationInformation ECID-RequestLocationInformation OPTIONAL, -- Need ON epdu-RequestLocationInformation EPDU-Sequence OPTIONAL, -- Need ON - ... + ..., + [[ + sensor-RequestLocationInformation-r13 + Sensor-RequestLocationInformation-r13 + OPTIONAL, -- Need ON + tbs-RequestLocationInformation-r13 TBS-RequestLocationInformation-r13 OPTIONAL, -- Need ON + wlan-RequestLocationInformation-r13 WLAN-RequestLocationInformation-r13 OPTIONAL, -- Need ON + bt-RequestLocationInformation-r13 BT-RequestLocationInformation-r13 OPTIONAL -- Need ON + ]] + } @@ -174,7 +194,16 @@ ProvideLocationInformation-r9-IEs ::= SEQUENCE { otdoa-ProvideLocationInformation OTDOA-ProvideLocationInformation OPTIONAL, ecid-ProvideLocationInformation ECID-ProvideLocationInformation OPTIONAL, epdu-ProvideLocationInformation EPDU-Sequence OPTIONAL, - ... + ..., + [[ + sensor-ProvideLocationInformation-r13 + Sensor-ProvideLocationInformation-r13 + OPTIONAL, + tbs-ProvideLocationInformation-r13 TBS-ProvideLocationInformation-r13 OPTIONAL, + wlan-ProvideLocationInformation-r13 WLAN-ProvideLocationInformation-r13 OPTIONAL, + bt-ProvideLocationInformation-r13 BT-ProvideLocationInformation-r13 OPTIONAL + ]] + } @@ -520,6 +549,9 @@ CommonIEsProvideLocationInformation ::= SEQUENCE { locationError LocationError OPTIONAL, ..., [[ earlyFixReport-r12 EarlyFixReport-r12 OPTIONAL + ]], + [[ locationSource-r13 LocationSource-r13 OPTIONAL, + locationTimestamp-r13 UTCTime OPTIONAL ]] } @@ -562,6 +594,12 @@ EarlyFixReport-r12 ::= ENUMERATED { moreMessagesOnTheWay } +LocationSource-r13 ::= BIT STRING { a-gnss (0), + wlan (1), + bt (2), + tbs (3), + sensor (4) } (SIZE(1..16)) + CommonIEsAbort ::= SEQUENCE { abortCause ENUMERATED { @@ -1411,7 +1449,7 @@ AlmanacECEF-SBAS-AlmanacSet ::= SEQUENCE { AlmanacBDS-AlmanacSet-r12 ::= SEQUENCE { svID SV-ID, - bdsAlmToa-r12 INTEGER (0..255) OPTIONAL, -- Cond NotSameForAllSV + bdsAlmToa-r12 INTEGER (0..255) OPTIONAL, -- Cond NotSameForAllSV bdsAlmSqrtA-r12 INTEGER (0..16777215), bdsAlmE-r12 INTEGER (0..131071), bdsAlmW-r12 INTEGER (-8388608..8388607), @@ -1421,7 +1459,7 @@ AlmanacBDS-AlmanacSet-r12 ::= SEQUENCE { bdsAlmDeltaI-r12 INTEGER (-32768..32767), bdsAlmA0-r12 INTEGER (-1024..1023), bdsAlmA1-r12 INTEGER (-1024..1023), - bdsSvHealth-r12 BIT STRING (SIZE(9)) OPTIONAL, -- Cond SV-ID + bdsSvHealth-r12 BIT STRING (SIZE(9)) OPTIONAL, -- Cond SV-ID ... } @@ -1608,9 +1646,9 @@ GNSS-GenericAssistDataReqElement ::= SEQUENCE { GNSS-ReferenceTimeReq ::= SEQUENCE { - gnss-TimeReqPrefList SEQUENCE (SIZE (1..8)) OF GNSS-ID, - gps-TOW-assistReq BOOLEAN OPTIONAL, -- Cond gps - notOfLeapSecReq BOOLEAN OPTIONAL, -- Cond glonass + gnss-TimeReqPrefList SEQUENCE (SIZE (1..8)) OF GNSS-ID, + gps-TOW-assistReq BOOLEAN OPTIONAL, -- Cond gps + notOfLeapSecReq BOOLEAN OPTIONAL, -- Cond glonass ... } @@ -1667,15 +1705,15 @@ SatListRelatedDataList ::= SEQUENCE (SIZE (1..64)) OF SatListRelatedDataElement SatListRelatedDataElement ::= SEQUENCE { svID SV-ID, - iod BIT STRING (SIZE(11)), - clockModelID INTEGER (1..8) OPTIONAL, - orbitModelID INTEGER (1..8) OPTIONAL, - ... + iod BIT STRING (SIZE(11)), + clockModelID INTEGER (1..8) OPTIONAL, +orbitModelID INTEGER (1..8) OPTIONAL, + ... } ReqNavListInfo ::= SEQUENCE { svReqList BIT STRING (SIZE (64)), - clockModelID-PrefList SEQUENCE (SIZE (1..8)) OF INTEGER (1..8) OPTIONAL, + clockModelID-PrefList SEQUENCE (SIZE (1..8)) OF INTEGER (1..8) OPTIONAL, orbitModelID-PrefList SEQUENCE (SIZE (1..8)) OF INTEGER (1..8) OPTIONAL, addNavparamReq BOOLEAN OPTIONAL, -- Cond orbitModelID-2 ... @@ -1882,7 +1920,7 @@ GNSS-SupportElement ::= SEQUENCE { } AssistanceDataSupportList ::= SEQUENCE { - gnss-CommonAssistanceDataSupport GNSS-CommonAssistanceDataSupport, + gnss-CommonAssistanceDataSupport GNSS-CommonAssistanceDataSupport, gnss-GenericAssistanceDataSupport GNSS-GenericAssistanceDataSupport, ... } @@ -1931,7 +1969,7 @@ GNSS-GenericAssistanceDataSupport ::= GNSS-GenericAssistDataSupportElement ::= SEQUENCE { gnss-ID GNSS-ID, - sbas-ID SBAS-ID OPTIONAL, -- Cond GNSSIDSBAS + sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS-ID-SBAS gnss-TimeModelsSupport GNSS-TimeModelListSupport OPTIONAL, -- Cond TimeModSup gnss-DifferentialCorrectionsSupport GNSS-DifferentialCorrectionsSupport @@ -2214,4 +2252,268 @@ ECID-TargetDeviceErrorCauses ::= SEQUENCE { } +TBS-ProvideLocationInformation-r13 ::= SEQUENCE { + tbs-MeasurementList-r13 TBS-MeasurementList-r13 OPTIONAL, + tbs-Error-r13 TBS-Error-r13 OPTIONAL, + ... +} + + +TBS-MeasurementList-r13 ::= SEQUENCE { + measurementReferenceTime-r13 UTCTime OPTIONAL, + mbs-SgnMeasList-r13 MBS-BeaconMeasList-r13 OPTIONAL, -- Cond MBS + ... +} + + +MBS-BeaconMeasList-r13 ::= SEQUENCE (SIZE(1..64)) OF MBS-BeaconMeasElement-r13 + +MBS-BeaconMeasElement-r13 ::= SEQUENCE { + transmitterID-r13 INTEGER (0..32767), + codePhase-r13 INTEGER (0..2097151), + codePhaseRMSError-r13 INTEGER (0..63), + ... +} + + +TBS-RequestLocationInformation-r13 ::= SEQUENCE { + mbsSgnMeasListReq BOOLEAN, + ... +} + + +TBS-ProvideCapabilities-r13 ::= SEQUENCE { + tbs-Modes-r13 BIT STRING { standalone (0), + ue-assisted (2) } (SIZE (1..8)), +... +} + + +TBS-RequestCapabilities-r13 ::= SEQUENCE { + ... +} + +TBS-Error-r13 ::= CHOICE { + locationServerErrorCauses-r13 TBS-LocationServerErrorCauses-r13, + targetDeviceErrorCauses-r13 TBS-TargetDeviceErrorCauses-r13, + ... +} + + +TBS-LocationServerErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED { undefined, + ... + }, + ... +} + + +TBS-TargetDeviceErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED { undefined, + thereWereNotEnoughMBSBeaconsReceived, + ... + }, + ... +} + + +Sensor-ProvideLocationInformation-r13 ::= SEQUENCE { + sensor-MeasurementList-r13 Sensor-MeasurementList-r13 OPTIONAL, + sensor-Error-r13 Sensor-Error-r13 OPTIONAL, + ... +} + + +Sensor-MeasurementList-r13 ::= SEQUENCE { + measurementReferenceTime-r13 UTCTime OPTIONAL, + uncompensatedBarometricPressure-r13 INTEGER (30000..115000) OPTIONAL, -- Cond Barometer + ... +} + + +Sensor-RequestLocationInformation-r13 ::= SEQUENCE { + uncompensatedBarometricPressureReq BOOLEAN, + ... +} + + +Sensor-ProvideCapabilities-r13 ::= SEQUENCE { + sensor-Modes-r13 BIT STRING { standalone (0), + ue-assisted (2) } (SIZE (1..8)), + ... +} + + +Sensor-RequestCapabilities-r13 ::= SEQUENCE { + ... +} + +Sensor-Error-r13 ::= CHOICE { + targetServerErrorCauses-r13 Sensor-LocationServerErrorCauses-r13, + targetDeviceErrorCauses-r13 Sensor-TargetDeviceErrorCauses-r13, + ... +} + + +Sensor-LocationServerErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED { undefined, + ...}, +... +} + + +Sensor-TargetDeviceErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED { undefined, + ...}, +... +} + + +WLAN-ProvideLocationInformation-r13 ::= SEQUENCE { + wlan-MeasurementList-r13 WLAN-MeasurementList-r13 OPTIONAL, + measurementReferenceTime-r13 UTCTime OPTIONAL, + wlan-Error-r13 WLAN-Error-r13 OPTIONAL, + ... +} + + +WLAN-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxWLANAPSize-r13)) OF WLAN-MeasurementElement-r13 + +WLAN-MeasurementElement-r13 ::= SEQUENCE { + wlan-AP-Identifier-r13 WLAN-AP-Identifier-r13, + rssi-r13 INTEGER(-127..128) OPTIONAL, + rtt-r13 WLAN-RTT-r13 OPTIONAL, + apChannelFrequency INTEGER(0..256) OPTIONAL, + servingFlag BOOLEAN OPTIONAL, + ... +} + +WLAN-AP-Identifier-r13 ::= SEQUENCE { + bssid-r13 OCTET STRING (SIZE (6)), + ssid-r13 OCTET STRING (SIZE (1..32)) OPTIONAL, + ... +} + +WLAN-RTT-r13 ::= SEQUENCE { + rttValue-r13 INTEGER(0..16777215), + rttUnits-r13 ENUMERATED { microseconds, + hundredsofnanoseconds, + tensofnanoseconds, + nanoseconds, + tenthsofnanoseconds, + ... }, + rttAccuracy-r13 INTEGER(0..255) OPTIONAL, + ... +} + +maxWLANAPSize-r13 INTEGER ::= 64 + +WLAN-RequestLocationInformation-r13 ::= SEQUENCE { + requestedMeasurements-r13 BIT STRING { + rssi (0), + rtt (1)} (SIZE(1..8)), + ... +} + + +WLAN-ProvideCapabilities-r13 ::= SEQUENCE { + wlan-Modes-r13 BIT STRING { standalone (0), + ue-assisted (2)} (SIZE (1..8)), + wlan-MeasSupported-r13 BIT STRING { + rssi-r13 (0), + rtt-r13 (1)} (SIZE(1..8)), + ... +} + + +WLAN-RequestCapabilities-r13 ::= SEQUENCE { + ... +} + + +WLAN-Error-r13 ::= CHOICE { + locationServerErrorCauses-r13 WLAN-LocationServerErrorCauses-r13, + targetDeviceErrorCauses-r13 WLAN-TargetDeviceErrorCauses-r13, + ... +} + + +WLAN-LocationServerErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED {undefined, ...} +} + + +WLAN-TargetDeviceErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED {undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + wlan-AP-RSSI-MeasurementNotPossible-r13 NULL OPTIONAL, + wlan-AP-RTT-MeasurementNotPossible-r13 NULL OPTIONAL, + ... +} + + +BT-ProvideLocationInformation-r13 ::= SEQUENCE { + bt-MeasurementList-r13 BT-MeasurementList-r13 OPTIONAL, + measurementReferenceTime-r13 UTCTime OPTIONAL, + bt-Error-r13 BT-Error-r13 OPTIONAL, + ... +} + + +BT-MeasurementList-r13 ::= SEQUENCE (SIZE(1.. maxBTBeaconSize-r13)) OF BT-MeasurementElement-r13 + + +BT-MeasurementElement-r13 ::= SEQUENCE { + btAddr-r13 BIT STRING (SIZE (48)), + rssi-r13 INTEGER(-128..127) OPTIONAL, + ... +} + +maxBTBeaconSize-r13 INTEGER ::= 32 + +BT-RequestLocationInformation-r13 ::= SEQUENCE { + requestedMeasurements-r13 BIT STRING { + rssi (0)} (SIZE(1..8)), + ... +} + + +BT-ProvideCapabilities-r13 ::= SEQUENCE { + bt-Modes-r13 BIT STRING { standalone (0), + ue-assisted (2)} (SIZE (1..8)), + ... +} + + +BT-RequestCapabilities-r13 ::= SEQUENCE { + ... +} + + +BT-Error-r13 ::= CHOICE { + locationServerErrorCauses-r13 BT-LocationServerErrorCauses-r13, + targetDeviceErrorCauses-r13 BT-TargetDeviceErrorCauses-r13, + ... +} + + +BT-LocationServerErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED {undefined, ...} +} + + +BT-TargetDeviceErrorCauses-r13 ::= SEQUENCE { + cause-r13 ENUMERATED {undefined, + requestedMeasurementsNotAvailable, + notAllrequestedMeasurementsPossible, + ... + }, + bt-Beacon-rssiMeasurementNotPossible-r13 NULL OPTIONAL, +... +} + + END diff --git a/asn1/lpp/lpp.cnf b/asn1/lpp/lpp.cnf index 37068fc415..0f3cb1995d 100644 --- a/asn1/lpp/lpp.cnf +++ b/asn1/lpp/lpp.cnf @@ -1,6 +1,6 @@ # lpp.cnf # lpp conformation file -# Copyright 2011-2015 Pascal Quantin +# Copyright 2011-2016 Pascal Quantin #.OPT PER @@ -302,6 +302,32 @@ VerticalAccuracy/confidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_f #.FN_FTR ResponseTime/eag_1/responseTimeEarlyFix-r12 proto_item_append_text(actx->created_item, " s"); +#.FN_BODY LocationSource-r13 VAL_PTR = &locSource_tvb LEN_PTR = &len + tvbuff_t *locSource_tvb = NULL; + int len; + +%(DEFAULT_BODY)s + if(locSource_tvb){ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap); + if (len >= 1) { + proto_tree_add_item(subtree, hf_lpp_LocationSource_r13_a_gnss, locSource_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 2) { + proto_tree_add_item(subtree, hf_lpp_LocationSource_r13_wlan, locSource_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 3) { + proto_tree_add_item(subtree, hf_lpp_LocationSource_r13_bt, locSource_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 4) { + proto_tree_add_item(subtree, hf_lpp_LocationSource_r13_tbs, locSource_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 5) { + proto_tree_add_item(subtree, hf_lpp_LocationSource_r13_sensor, locSource_tvb, 0, 1, ENC_BIG_ENDIAN); + } + } + #.TYPE_ATTR OTDOA-NeighbourCellInfoElement/expectedRSTD DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_expectedRSTD_fmt) @@ -1629,3 +1655,155 @@ MeasuredResultsElement/ue-RxTxTimeDiff DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_u proto_tree_add_item(subtree, hf_lpp_T_ecid_MeasSupported_ueRxTxSup, ecid_MeasSupported_tvb, 0, 1, ENC_BIG_ENDIAN); } } + +#.TYPE_ATTR +MBS-BeaconMeasElement-r13/codePhase-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_mbs_beaconMeasElt_codePhase_fmt) + +#.TYPE_ATTR +MBS-BeaconMeasElement-r13/codePhaseRMSError-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_codePhaseRMSError_fmt) + +#.FN_BODY TBS-ProvideCapabilities-r13/tbs-Modes-r13 VAL_PTR = &tbs_Modes_tvb LEN_PTR = &len + tvbuff_t *tbs_Modes_tvb = NULL; + int len; + +%(DEFAULT_BODY)s + if(tbs_Modes_tvb){ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap); + if (len >= 1) { + proto_tree_add_item(subtree, hf_lpp_T_tbs_Modes_r13_standalone, tbs_Modes_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 3) { + proto_tree_add_item(subtree, hf_lpp_T_tbs_Modes_r13_ue_assisted, tbs_Modes_tvb, 0, 1, ENC_BIG_ENDIAN); + } + } + +#.FN_FTR Sensor-MeasurementList-r13/uncompensatedBarometricPressure-r13 + proto_item_append_text(actx->created_item, " Pa"); + +#.FN_BODY Sensor-ProvideCapabilities-r13/sensor-Modes-r13 VAL_PTR = &sensor_Modes_tvb LEN_PTR = &len + tvbuff_t *sensor_Modes_tvb = NULL; + int len; + +%(DEFAULT_BODY)s + if(sensor_Modes_tvb){ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap); + if (len >= 1) { + proto_tree_add_item(subtree, hf_lpp_T_sensor_Modes_r13_standalone, sensor_Modes_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 3) { + proto_tree_add_item(subtree, hf_lpp_T_sensor_Modes_r13_ue_assisted, sensor_Modes_tvb, 0, 1, ENC_BIG_ENDIAN); + } + } + +#.FN_FTR WLAN-MeasurementElement-r13/rssi-r13 + proto_item_append_text(actx->created_item, " dBm"); + +#.TYPE_ATTR +WLAN-AP-Identifier-r13/bssid-r13 TYPE=FT_ETHER + +#.TYPE_ATTR +WLAN-AP-Identifier-r13/ssid-r13 TYPE=FT_STRING DISPLAY=STR_ASCII + +#.FN_BODY WLAN-AP-Identifier-r13/ssid-r13 VAL_PTR=&ssid_tvb HF_INDEX=-1 + tvbuff_t *ssid_tvb = NULL; + +%(DEFAULT_BODY)s + actx->created_item = proto_tree_add_item(tree, hf_index, ssid_tvb, 0, -1, ENC_ASCII|ENC_NA); + +#.FN_BODY WLAN-RequestLocationInformation-r13/requestedMeasurements-r13 VAL_PTR = &requestedMeasurements_tvb LEN_PTR = &len + tvbuff_t *requestedMeasurements_tvb = NULL; + int len; + +%(DEFAULT_BODY)s + if(requestedMeasurements_tvb){ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap); + if (len >= 1) { + proto_tree_add_item(subtree, hf_lpp_T_requestedMeasurements_r13_rssi, requestedMeasurements_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 2) { + proto_tree_add_item(subtree, hf_lpp_T_requestedMeasurements_r13_rtt, requestedMeasurements_tvb, 0, 1, ENC_BIG_ENDIAN); + } + } + +#.FN_BODY WLAN-ProvideCapabilities-r13/wlan-Modes-r13 VAL_PTR = &wlan_Modes_tvb LEN_PTR = &len + tvbuff_t *wlan_Modes_tvb = NULL; + int len; + +%(DEFAULT_BODY)s + if(wlan_Modes_tvb){ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap); + if (len >= 1) { + proto_tree_add_item(subtree, hf_lpp_T_wlan_Modes_r13_standalone, wlan_Modes_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 3) { + proto_tree_add_item(subtree, hf_lpp_T_wlan_Modes_r13_ue_assisted, wlan_Modes_tvb, 0, 1, ENC_BIG_ENDIAN); + } + } + +#.FN_BODY WLAN-ProvideCapabilities-r13/wlan-MeasSupported-r13 VAL_PTR = &wlan_MeasSupported_tvb LEN_PTR = &len + tvbuff_t *wlan_MeasSupported_tvb = NULL; + int len; + +%(DEFAULT_BODY)s + if(wlan_MeasSupported_tvb){ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap); + if (len >= 1) { + proto_tree_add_item(subtree, hf_lpp_T_wlan_MeasSupported_r13_rssi_r13, wlan_MeasSupported_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 2) { + proto_tree_add_item(subtree, hf_lpp_T_wlan_MeasSupported_r13_rtt_r13, wlan_MeasSupported_tvb, 0, 1, ENC_BIG_ENDIAN); + } + } + +#.TYPE_ATTR +BT-MeasurementElement-r13/btAddr-r13 TYPE=FT_ETHER DISPLAY=BASE_NONE + +#.FN_BODY BT-MeasurementElement-r13/btAddr-r13 VAL_PTR=&btAddr_tvb HF_INDEX=-1 + tvbuff_t *btAddr_tvb = NULL; + +%(DEFAULT_BODY)s + actx->created_item = proto_tree_add_item(tree, hf_index, btAddr_tvb, 0, 6, ENC_NA); + +#.FN_FTR BT-MeasurementElement-r13/rssi-r13 + proto_item_append_text(actx->created_item, " dBm"); + +#.FN_BODY BT-RequestLocationInformation-r13/requestedMeasurements-r13 VAL_PTR = &requestedMeasurements_tvb LEN_PTR = &len + tvbuff_t *requestedMeasurements_tvb = NULL; + int len; + +%(DEFAULT_BODY)s + if(requestedMeasurements_tvb){ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap); + if (len >= 1) { + proto_tree_add_item(subtree, hf_lpp_T_requestedMeasurements_r13_01_rssi, requestedMeasurements_tvb, 0, 1, ENC_BIG_ENDIAN); + } + } + +#.FN_BODY BT-ProvideCapabilities-r13/bt-Modes-r13 VAL_PTR = &bt_Modes_tvb LEN_PTR = &len + tvbuff_t *bt_Modes_tvb = NULL; + int len; + +%(DEFAULT_BODY)s + if(bt_Modes_tvb){ + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bitmap); + if (len >= 1) { + proto_tree_add_item(subtree, hf_lpp_T_bt_Modes_r13_standalone, bt_Modes_tvb, 0, 1, ENC_BIG_ENDIAN); + } + if (len >= 3) { + proto_tree_add_item(subtree, hf_lpp_T_bt_Modes_r13_ue_assisted, bt_Modes_tvb, 0, 1, ENC_BIG_ENDIAN); + } + } diff --git a/asn1/lpp/packet-lpp-template.c b/asn1/lpp/packet-lpp-template.c index 67738576bd..ba31d56c14 100644 --- a/asn1/lpp/packet-lpp-template.c +++ b/asn1/lpp/packet-lpp-template.c @@ -1,6 +1,6 @@ /* packet-lpp.c * Routines for 3GPP LTE Positioning Protocol (LPP) packet dissection - * Copyright 2011-2015 Pascal Quantin <pascal.quantin@gmail.com> + * Copyright 2011-2016 Pascal Quantin <pascal.quantin@gmail.com> * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> @@ -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 3GPP TS 36.355 version 12.4.0 Release 12 + * Ref 3GPP TS 36.355 version 13.0.0 Release 13 * http://www.3gpp.org */ @@ -1626,6 +1626,14 @@ lpp_ue_RxTxTimeDiff_fmt(gchar *s, guint32 v) } } +static void +lpp_mbs_beaconMeasElt_codePhase_fmt(gchar *s, guint32 v) +{ + double codePhase = (double)v*pow(2, -21); + + g_snprintf(s, ITEM_LABEL_LENGTH, "%g ms (%u)", codePhase, v); +} + #include "packet-lpp-fn.c" static int dissect_lpp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { diff --git a/asn1/lpp/packet-lpp-template.h b/asn1/lpp/packet-lpp-template.h index 5eb18148a2..1928d3bfd2 100644 --- a/asn1/lpp/packet-lpp-template.h +++ b/asn1/lpp/packet-lpp-template.h @@ -1,6 +1,6 @@ /* packet-lpp.h * Routines for 3GPP LTE Positioning Protocol (LPP) packet dissection - * Copyright 2011-2015 Pascal Quantin <pascal.quantin@gmail.com> + * Copyright 2011-2016 Pascal Quantin <pascal.quantin@gmail.com> * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> @@ -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 3GPP TS 36.355 version 12.4.0 Release 12 + * Ref 3GPP TS 36.355 version 13.0.0 Release 13 * http://www.3gpp.org */ |