diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2012-07-09 20:55:09 +0000 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2012-07-09 20:55:09 +0000 |
commit | 309e6646f783faafa655125d8821317bf3618b06 (patch) | |
tree | 3c2a5202d23b8f56114043079e6e69006df5d375 /asn1/lpp | |
parent | 188d7d0f4a9bf094eb17f6588ef215236e31ef71 (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.asn | 16 | ||||
-rw-r--r-- | asn1/lpp/Makefile.common | 3 | ||||
-rw-r--r-- | asn1/lpp/lpp.cnf | 37 | ||||
-rw-r--r-- | asn1/lpp/packet-lpp-template.c | 12 | ||||
-rw-r--r-- | asn1/lpp/packet-lpp-template.h | 2 |
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 */ |