aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-02-03 21:57:42 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-02-03 21:57:42 +0000
commit915e63ae1839dd1c26bdb39a98a880c83014730a (patch)
tree2bf66757520fbcbc52bc795d74319784853c1d4d /epan
parent2b80bfc282c820445de9274f0dc60aea38dd5cdb (diff)
Add dissection of some more packages.
svn path=/trunk/; revision=13265
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-h248.c132
-rw-r--r--epan/dissectors/packet-h248.h78
2 files changed, 168 insertions, 42 deletions
diff --git a/epan/dissectors/packet-h248.c b/epan/dissectors/packet-h248.c
index 7d4a20f715..e5b857e7dd 100644
--- a/epan/dissectors/packet-h248.c
+++ b/epan/dissectors/packet-h248.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-h248.c */
+/* .\packet-h248.c */
/* ../../tools/asn2eth.py -X -b -e -p h248 -c h248.cnf -s packet-h248-template MEGACO.asn */
/* Input file: packet-h248-template.c */
@@ -62,10 +62,18 @@ static int hf_h248_package_name = -1;
static int hf_h248_event_name = -1;
static int hf_h248_signal_name = -1;
static int hf_h248_package_bcp_BNCChar_PDU = -1;
+static int hf_h248_package_annex_C_ACodec = -1;
static int hf_h248_package_annex_C_TMR = -1;
+static int hf_h248_package_annex_C_Mediatx = -1;
static int hf_h248_package_annex_C_USI = -1;
static int hf_h248_package_annex_C_NSAP = -1;
static int hf_h248_package_annex_C_BIR = -1;
+static int hf_h248_package_3GUP_Mode = -1;
+static int hf_h248_package_3GUP_UPversions = -1;
+static int hf_h248_package_3GUP_delerrsdu = -1;
+static int hf_h248_package_3GUP_interface = -1;
+static int hf_h248_package_3GUP_initdir = -1;
+
/*--- Included file: packet-h248-hf.c ---*/
@@ -661,6 +669,14 @@ static const value_string signal_name_vals[] = {
{0, NULL}
};
+static const value_string h248_package_annex_C_Mediatx_vals[] = {
+ { 0x0000, "TDM Circuit" },
+ { 0x0001, "ATM" },
+ { 0x0002, "FR" },
+ { 0x0003, "Ipv4" },
+ { 0x0004, "Ipv6" },
+ {0, NULL}
+};
static void
dissect_h248_annex_C_PDU(gboolean implicit_tag, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint16 name_minor) {
int offset = 0;
@@ -670,6 +686,12 @@ dissect_h248_annex_C_PDU(gboolean implicit_tag, tvbuff_t *tvb, packet_info *pinf
case 0x1001: /* Media */
proto_tree_add_text(tree, tvb, offset, -1,"Media");
break;
+ case 0x1006: /* ACodec Ref.: ITU-T Rec. Q.765.5 */
+ offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_h248_package_annex_C_ACodec, &new_tvb);
+ break;
+ case 0x3001: /* Mediatx */
+ offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_h248_package_annex_C_Mediatx, NULL);
+ break;
case 0x3002: /* BIR */
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_h248_package_annex_C_BIR, &new_tvb);
break;
@@ -689,6 +711,79 @@ dissect_h248_annex_C_PDU(gboolean implicit_tag, tvbuff_t *tvb, packet_info *pinf
break;
}
}
+
+static const value_string h248_3GUP_Mode_vals[] = {
+ { 0x00000001, "Transparent mode" },
+ { 0x00000002, "Support mode for predefined SDU sizes" },
+ {0, NULL}
+};
+
+static const value_string h248_3GUP_upversions_vals[] = {
+ { 0x01, "Version 1" },
+ { 0x02, "Version 2" },
+ { 0x03, "Version 3" },
+ { 0x04, "Version 4" },
+ { 0x05, "Version 5" },
+ { 0x06, "Version 6" },
+ { 0x07, "Version 7" },
+ { 0x08, "Version 8" },
+ { 0x09, "Version 9" },
+ { 0x0A, "Version 10" },
+ { 0x0B, "Version 11" },
+ { 0x0C, "Version 12" },
+ { 0x0D, "Version 13" },
+ { 0x0E, "Version 14" },
+ { 0x0F, "Version 15" },
+ { 0x10, "Version 16" },
+ {0, NULL}
+};
+
+static const value_string h248_3GUP_delerrsdu_vals[] = {
+ { 0x0001, "Yes" },
+ { 0x0002, "No" },
+ { 0x0003, "Not Applicable" },
+ {0, NULL}
+};
+
+static const value_string h248_3GUP_interface_vals[] = {
+ { 0x0001, "RAN (Iu interface)" },
+ { 0x0002, "CN (Nb interfac)" },
+ {0, NULL}
+};
+
+static const value_string h248_3GUP_initdir_vals[] = {
+ { 0x0001, "Incoming" },
+ { 0x0002, "Outgoing" },
+ {0, NULL}
+};
+
+static void
+dissect_3G_User_Plane_PDU(gboolean implicit_tag, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint16 name_minor){
+ int offset = 0;
+
+ switch ( name_minor ){
+ case 0x0001:
+ offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_h248_package_3GUP_Mode, NULL);
+ break;
+ case 0x0002:
+ offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_h248_package_3GUP_UPversions, NULL);
+ break;
+ case 0x0003:
+ offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_h248_package_3GUP_delerrsdu, NULL);
+ break;
+ case 0x0004:
+ offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_h248_package_3GUP_interface, NULL);
+ break;
+ case 0x0005:
+ offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_h248_package_3GUP_initdir, NULL);
+ break;
+ default:
+ proto_tree_add_text(tree, tvb, offset, -1,"PropertyID not decoded(yet) 0x%x",name_minor);
+ break;
+ }
+
+
+}
static const value_string BNCChar_vals[] = {
{ 1, "aal1" },
{ 2, "aal2" },
@@ -715,6 +810,9 @@ guint offset=0;
case 0x0021: /* Generic Bearer Connection Q.1950 Annex A */
proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset), "H.248: Dissector for Package/ID:0x%04x not implemented (yet).", name_major);
break;
+ case 0x002f: /* 3G User Plane TS 29.232 */
+ dissect_3G_User_Plane_PDU(implicit_tag, tvb, pinfo, tree, name_minor);
+ break;
default:
proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset), "H.248: Dissector for Package/ID:0x%04x not implemented (yet).", name_major);
break;
@@ -4093,10 +4191,18 @@ void proto_register_h248(void) {
{ "BNCChar", "h248.package_bcp.BNCChar",
FT_UINT32, BASE_DEC, VALS(BNCChar_vals), 0,
"BNCChar", HFILL }},
+ { &hf_h248_package_annex_C_ACodec,
+ { "ACodec", "h248.package_annex_C.ACodec",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "ACodec", HFILL }},
{ &hf_h248_package_annex_C_TMR,
{ "TMR", "h248.package_annex_C.TMR",
FT_UINT32, BASE_DEC, VALS(isup_transmission_medium_requirement_value), 0,
"BNCChar", HFILL }},
+ { &hf_h248_package_annex_C_Mediatx,
+ { "Mediatx", "h248.package_annex_C.Mediatx",
+ FT_UINT32, BASE_DEC, VALS(h248_package_annex_C_Mediatx_vals), 0,
+ "Mediatx", HFILL }},
{ &hf_h248_package_annex_C_USI,
{ "USI", "h248.package_annex_C.USI",
FT_BYTES, BASE_HEX, NULL, 0,
@@ -4109,6 +4215,26 @@ void proto_register_h248(void) {
{ "NSAP", "h248.package_annex_C.NSAP",
FT_BYTES, BASE_HEX, NULL, 0,
"NSAP", HFILL }},
+ { &hf_h248_package_3GUP_Mode,
+ { "Mode", "h248.package_3GUP.Mode",
+ FT_UINT32, BASE_DEC, VALS(h248_3GUP_Mode_vals), 0,
+ "Mode", HFILL }},
+ { &hf_h248_package_3GUP_UPversions,
+ { "UPversions", "h248.package_3GUP.upversions",
+ FT_UINT32, BASE_DEC, VALS(h248_3GUP_upversions_vals), 0,
+ "UPversions", HFILL }},
+ { &hf_h248_package_3GUP_delerrsdu,
+ { "Delivery of erroneous SDUs", "h248.package_3GUP.delerrsdu",
+ FT_UINT32, BASE_DEC, VALS(h248_3GUP_delerrsdu_vals), 0,
+ "Delivery of erroneous SDUs", HFILL }},
+ { &hf_h248_package_3GUP_interface,
+ { "Interface", "h248.package_3GUP.interface",
+ FT_UINT32, BASE_DEC, VALS(h248_3GUP_interface_vals), 0,
+ "Interface", HFILL }},
+ { &hf_h248_package_3GUP_initdir,
+ { "Initialisation Direction", "h248.package_3GUP.initdir",
+ FT_UINT32, BASE_DEC, VALS(h248_3GUP_initdir_vals), 0,
+ "Initialisation Direction", HFILL }},
/*--- Included file: packet-h248-hfarr.c ---*/
@@ -4187,11 +4313,11 @@ void proto_register_h248(void) {
"", HFILL }},
{ &hf_h248_iP4Address,
{ "address", "h248.address",
- FT_BYTES, BASE_HEX, NULL, 0,
+ FT_IPv4, BASE_NONE, NULL, 0,
"IP4Address/address", HFILL }},
{ &hf_h248_iP6Address,
{ "address", "h248.address",
- FT_BYTES, BASE_HEX, NULL, 0,
+ FT_IPv6, BASE_NONE, NULL, 0,
"IP6Address/address", HFILL }},
{ &hf_h248_transactionRequest,
{ "transactionRequest", "h248.transactionRequest",
diff --git a/epan/dissectors/packet-h248.h b/epan/dissectors/packet-h248.h
index 84099c67df..e3abab06c1 100644
--- a/epan/dissectors/packet-h248.h
+++ b/epan/dissectors/packet-h248.h
@@ -1,39 +1,39 @@
-/* Do not modify this file. */
-/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-h248.h */
-/* ../../tools/asn2eth.py -X -b -e -p h248 -c h248.cnf -s packet-h248-template MEGACO.asn */
-
-/* Input file: packet-h248-template.h */
-
-/* packet-h248.h
- * Routines for H.248/MEGACO packet dissection
- * Ronnie Sahlberg 2004
- *
- * $Id: packet-h248-template.h 12203 2004-10-05 09:18:55Z guy $
- *
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@ethereal.com>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef PACKET_H248_H
-#define PACKET_H248_H
-
-/*#include "packet-h248-exp.h"*/
-
-#endif /* PACKET_H248_H */
-
+/* Do not modify this file. */
+/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
+/* .\packet-h248.h */
+/* ../../tools/asn2eth.py -X -b -e -p h248 -c h248.cnf -s packet-h248-template MEGACO.asn */
+
+/* Input file: packet-h248-template.h */
+
+/* packet-h248.h
+ * Routines for H.248/MEGACO packet dissection
+ * Ronnie Sahlberg 2004
+ *
+ * $Id$
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@ethereal.com>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef PACKET_H248_H
+#define PACKET_H248_H
+
+/*#include "packet-h248-exp.h"*/
+
+#endif /* PACKET_H248_H */
+