aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/lpp
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2012-07-09 20:55:09 +0000
committerPascal Quantin <pascal.quantin@gmail.com>2012-07-09 20:55:09 +0000
commit309e6646f783faafa655125d8821317bf3618b06 (patch)
tree3c2a5202d23b8f56114043079e6e69006df5d375 /asn1/lpp
parent188d7d0f4a9bf094eb17f6588ef215236e31ef71 (diff)
Add LTE Positioning Protocol Extensions dissector
Upgrade LTE Positioning Protocol to V10.5.0 svn path=/trunk/; revision=43628
Diffstat (limited to 'asn1/lpp')
-rw-r--r--asn1/lpp/LPP.asn16
-rw-r--r--asn1/lpp/Makefile.common3
-rw-r--r--asn1/lpp/lpp.cnf37
-rw-r--r--asn1/lpp/packet-lpp-template.c12
-rw-r--r--asn1/lpp/packet-lpp-template.h2
5 files changed, 59 insertions, 11 deletions
diff --git a/asn1/lpp/LPP.asn b/asn1/lpp/LPP.asn
index 9c233e0317..dbd2c0a7ea 100644
--- a/asn1/lpp/LPP.asn
+++ b/asn1/lpp/LPP.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.355 V9.7.0 (2011-10)
+-- 3GPP TS 36.355 V10.5.0 (2012-06)
-- $Id$
--
@@ -381,7 +381,7 @@ CommonIEsProvideCapabilities ::= SEQUENCE {
}
CommonIEsRequestAssistanceData ::= SEQUENCE {
- servingCellID ECGI OPTIONAL, -- Cond EUTRA
+ primaryCellID ECGI OPTIONAL, -- Cond EUTRA
...
}
@@ -572,7 +572,7 @@ OTDOA-NeighbourCellInfoElement ::= SEQUENCE {
OPTIONAL, -- Cond NotSameAsRef1
prsInfo PRS-Info OPTIONAL, -- Cond NotSameAsRef2
antennaPortConfig ENUMERATED {ports-1-or-2, ports-4, ...}
- OPTIONAL, -- Cond NotsameAsRef3
+ OPTIONAL, -- Cond NotsameAsRef3
slotNumberOffset INTEGER (0..19) OPTIONAL, -- Cond NotSameAsRef4
prs-SubframeOffset INTEGER (0..1279) OPTIONAL, -- Cond InterFreq
expectedRSTD INTEGER (0..16383),
@@ -827,8 +827,8 @@ GNSS-TimeModelElement ::= SEQUENCE {
tA0 INTEGER (-67108864..67108863),
tA1 INTEGER (-4096..4095) OPTIONAL, -- Need ON
tA2 INTEGER (-64..63) OPTIONAL, -- Need ON
- gnss-TO-ID INTEGER (1..15),
- weekNumber INTEGER (0..8191) OPTIONAL, -- Need ON
+ gnss-TO-ID INTEGER (1..15),
+ weekNumber INTEGER (0..8191) OPTIONAL, -- Need ON
deltaT INTEGER (-128..127) OPTIONAL, -- Need ON
...
}
@@ -871,7 +871,7 @@ GNSS-NavModelSatelliteList ::= SEQUENCE (SIZE(1..64)) OF GNSS-NavModelSatelliteE
GNSS-NavModelSatelliteElement ::= SEQUENCE {
svID SV-ID,
- svHealth BIT STRING (SIZE(8)),
+ svHealth BIT STRING (SIZE(8)),
iod BIT STRING (SIZE(11)),
gnss-ClockModel GNSS-ClockModel,
gnss-OrbitModel GNSS-OrbitModel,
@@ -1624,7 +1624,7 @@ GNSS-GenericAssistanceDataSupport ::=
GNSS-GenericAssistDataSupportElement ::= SEQUENCE {
gnss-ID GNSS-ID,
- sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS-ID-SBAS
+ sbas-ID SBAS-ID OPTIONAL, -- Cond GNSS ID SBAS
gnss-TimeModelsSupport GNSS-TimeModelListSupport
OPTIONAL, -- Cond TimeModSup
gnss-DifferentialCorrectionsSupport GNSS-DifferentialCorrectionsSupport
@@ -1789,7 +1789,7 @@ ECID-ProvideLocationInformation ::= SEQUENCE {
}
ECID-SignalMeasurementInformation ::= SEQUENCE {
- servingCellMeasuredResults MeasuredResultsElement OPTIONAL,
+ primaryCellMeasuredResults MeasuredResultsElement OPTIONAL,
measuredResultsList MeasuredResultsList,
...
}
diff --git a/asn1/lpp/Makefile.common b/asn1/lpp/Makefile.common
index 7ad9113819..9dace52e78 100644
--- a/asn1/lpp/Makefile.common
+++ b/asn1/lpp/Makefile.common
@@ -22,6 +22,9 @@
PROTOCOL_NAME = lpp
+EXPORT_FILES = \
+ $(PROTOCOL_NAME)-exp.cnf
+
EXT_ASN_FILE_LIST =
ASN_FILE_LIST = \
diff --git a/asn1/lpp/lpp.cnf b/asn1/lpp/lpp.cnf
index 9f5cb72f6d..e72c554144 100644
--- a/asn1/lpp/lpp.cnf
+++ b/asn1/lpp/lpp.cnf
@@ -12,6 +12,23 @@ UNALIGNED
Ellipsoid-Point_PDU
EllipsoidPointWithAltitude_PDU
HorizontalVelocity_PDU
+GNSS-ID
+GNSS-SignalID
+GNSS-SignalIDs
+GNSS-SystemTime
+SV-ID
+ECID-SignalMeasurementInformation
+CellGlobalIdGERAN
+CellGlobalIdEUTRA-AndUTRA
+OTDOA-ReferenceCellInfo
+OTDOA-NeighbourCellInfoElement
+ARFCN-ValueEUTRA
+Ellipsoid-Point
+EllipsoidPointWithAltitude
+EllipsoidPointWithAltitudeAndUncertaintyEllipsoid
+NetworkTime
+GNSS-ID-Bitmap
+ARFCN-ValueUTRA
#.END
#.PDU_NEW
@@ -67,3 +84,23 @@ HorizontalVelocity
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Error");
+#.FN_BODY EPDU-ID VAL_PTR = &lpp_epdu_id
+%(DEFAULT_BODY)s
+
+#.TYPE_ATTR
+EPDU-ID STRINGS=VALS(lpp_ePDU_ID_vals)
+
+#.FN_BODY EPDU-Body VAL_PTR=&lppe_tvb
+ tvbuff_t *lppe_tvb = NULL;
+%(DEFAULT_BODY)s
+ switch(lpp_epdu_id){
+ case 1:
+ if (lppe_tvb && lppe_handle) {
+ call_dissector(lppe_handle, lppe_tvb, actx->pinfo, tree);
+ }
+ break;
+ default:
+ break;
+ }
+ lpp_epdu_id = -1;
+
diff --git a/asn1/lpp/packet-lpp-template.c b/asn1/lpp/packet-lpp-template.c
index d78210f353..0880fcd74d 100644
--- a/asn1/lpp/packet-lpp-template.c
+++ b/asn1/lpp/packet-lpp-template.c
@@ -22,7 +22,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 9.7.0 Release 9
+ * Ref 3GPP TS 36.355 version 10.5.0 Release 10
* http://www.3gpp.org
*/
@@ -50,6 +50,10 @@ static int proto_lpp = -1;
#include "packet-lpp-hf.c"
+static dissector_handle_t lppe_handle = NULL;
+
+static guint32 lpp_epdu_id = -1;
+
/* Initialize the subtree pointers */
static gint ett_lpp = -1;
#include "packet-lpp-ett.c"
@@ -57,6 +61,10 @@ static gint ett_lpp = -1;
/* Include constants */
#include "packet-lpp-val.h"
+static const value_string lpp_ePDU_ID_vals[] = {
+ { 1, "OMA LPP extensions (LPPe)"},
+ { 0, NULL}
+};
#include "packet-lpp-fn.c"
@@ -93,7 +101,7 @@ void proto_register_lpp(void) {
void
proto_reg_handoff_lpp(void)
{
-
+ lppe_handle = find_dissector("lppe");
}
diff --git a/asn1/lpp/packet-lpp-template.h b/asn1/lpp/packet-lpp-template.h
index c83640a54f..a8bb987e9e 100644
--- a/asn1/lpp/packet-lpp-template.h
+++ b/asn1/lpp/packet-lpp-template.h
@@ -22,7 +22,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 9.7.0 Release 9
+ * Ref 3GPP TS 36.355 version 10.5.0 Release 10
* http://www.3gpp.org
*/