aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2016-01-10 21:01:26 +0100
committerPascal Quantin <pascal.quantin@gmail.com>2016-01-10 21:07:53 +0000
commit20f1100312ae7520ae7876c428d975e6acf81fd4 (patch)
tree93d906560cbfc4e9ca08fe2fad2a05b32c0f5deb /asn1
parent9e4c79c15366e7e3f44dc3d03dfc4ea23929ecfe (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.asn336
-rw-r--r--asn1/lpp/lpp.cnf180
-rw-r--r--asn1/lpp/packet-lpp-template.c12
-rw-r--r--asn1/lpp/packet-lpp-template.h4
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
*/