diff options
-rw-r--r-- | asn1/h248/packet-h248-template.h | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-h248.h | 8 | ||||
-rw-r--r-- | epan/dissectors/packet-h248_3gpp.c | 50 |
3 files changed, 58 insertions, 8 deletions
diff --git a/asn1/h248/packet-h248-template.h b/asn1/h248/packet-h248-template.h index 1ce51341d9..c87ed51ab9 100644 --- a/asn1/h248/packet-h248-template.h +++ b/asn1/h248/packet-h248-template.h @@ -81,10 +81,10 @@ typedef struct _h248_pkg_stat_t { } h248_pkg_stat_t; typedef struct _h248_package_t { - guint32 id; - int* hfid; - gint* ett; - const value_string* param_names; + guint32 id; /**< Package ID */ + int* hfid; /**< hfid that will display the package name */ + gint* ett; /**< The ett for this item */ + const value_string* param_names; /**< The parameter names, Value 00000 should be the package name */ const value_string* signal_names; const value_string* event_names; const value_string* stats_names; diff --git a/epan/dissectors/packet-h248.h b/epan/dissectors/packet-h248.h index 5204170d57..4bc3a80a80 100644 --- a/epan/dissectors/packet-h248.h +++ b/epan/dissectors/packet-h248.h @@ -89,10 +89,10 @@ typedef struct _h248_pkg_stat_t { } h248_pkg_stat_t; typedef struct _h248_package_t { - guint32 id; - int* hfid; - gint* ett; - const value_string* param_names; + guint32 id; /**< Package ID */ + int* hfid; /**< hfid that will display the package name */ + gint* ett; /**< The ett for this item */ + const value_string* param_names; /**< The parameter names, Value 00000 should be the package name */ const value_string* signal_names; const value_string* event_names; const value_string* stats_names; diff --git a/epan/dissectors/packet-h248_3gpp.c b/epan/dissectors/packet-h248_3gpp.c index dab77da32c..285c67dfe0 100644 --- a/epan/dissectors/packet-h248_3gpp.c +++ b/epan/dissectors/packet-h248_3gpp.c @@ -458,7 +458,47 @@ static h248_package_t h248_package_3GTFO = { * ASCI Group call package * 3GPP TS 29.232 -- 15.2.10 */ +/* + * 3G Interface Type package + * 3GPP TS 29.232 -- 15.2.11 + */ +static int hf_h248_package_threegint = -1; +static int hf_h248_package_threegint_ipint = -1; + +static int ett_h248_package_threegint = -1; + +static const value_string h248_threegint_properties_vals[] = { + {0000, "3G Interface Type"}, + {0001, "IP Interface Type"}, + {0, NULL} +}; +static const value_string h248_threegint_ipint_vals[] = { + {1, "NboIP (Nb over IP with SIP-I based Nc,)"}, + {2, "AoIP (A interface over IP)"}, + {3, "MboIP (Mb interface)"}, + {4, "ExtSIPI (External SIP-I based network)"}, + {0, NULL} +}; + +static const h248_pkg_param_t h248_package_threegint_properties[] = { + { 0x0001, &hf_h248_package_threegint_ipint, h248_param_ber_integer, &implicit }, + { 0x0000, NULL, NULL, NULL } +}; + +static h248_package_t h248_package_threegint = { + 0x00e3, /* Package ID = threegint */ + &hf_h248_package_threegint, /* hf_id */ + &ett_h248_package_threegint, + h248_threegint_properties_vals, + NULL, /* signal_names */ + NULL, /* event_names */ + NULL, /* stats_names */ + h248_package_threegint_properties, /* h248_pkg_param_t */ + NULL, + NULL, + NULL +}; void proto_register_h248_3gpp(void) { static hf_register_info hf[] = { @@ -566,6 +606,15 @@ void proto_register_h248_3gpp(void) { { "TFO Status", "h248.package_3GTFO.status.tfostatus", FT_BOOLEAN, BASE_NONE, NULL, 0x0, "reports whether TFO has been established or broken", HFILL }}, + { &hf_h248_package_threegint, + { "3G Interface Type", "h248.package_threegint", + FT_BYTES, BASE_NONE, NULL, 0, + "This package contains a property to specify the used interface type for IP terminations", HFILL }}, + { &hf_h248_package_threegint_ipint, + { "IP Interface Type", "h248.package_threegint.ipint", + FT_UINT32, BASE_DEC, VALS(h248_threegint_ipint_vals), 0, + NULL, HFILL }}, + }; static gint *ett[] = { @@ -591,5 +640,6 @@ void proto_register_h248_3gpp(void) { h248_register_package(&h248_package_3GUP,REPLACE_PKG); h248_register_package(&h248_package_3GCSD, REPLACE_PKG); h248_register_package(&h248_package_3GTFO, REPLACE_PKG); + h248_register_package(&h248_package_threegint, REPLACE_PKG); } |