summaryrefslogtreecommitdiff
path: root/asn1/inap
diff options
context:
space:
mode:
authorAndersBroman <anders.broman@ericsson.com>2015-02-04 14:04:27 +0100
committerAnders Broman <a.broman58@gmail.com>2015-02-04 13:07:03 +0000
commitd9e82b71438e5e70cda8f1537afc3d8238487635 (patch)
treeb59ec92c8f69b04049878dfd3df8a5d943a7c29e /asn1/inap
parent0a6d1f9821b0d5c0de789f5d70bc58a8ead1cd9a (diff)
downloadwireshark-d9e82b71438e5e70cda8f1537afc3d8238487635.tar.gz
[INAP] Add dissection of Cause
Ping-Bug:10910 Change-Id: I131d81b0d6332cc72e7b32dc81cb7fec4ca3d407 Reviewed-on: https://code.wireshark.org/review/6947 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'asn1/inap')
-rw-r--r--asn1/inap/inap.cnf17
-rw-r--r--asn1/inap/packet-inap-template.c9
2 files changed, 26 insertions, 0 deletions
diff --git a/asn1/inap/inap.cnf b/asn1/inap/inap.cnf
index a9aa68cd3c..141d67df99 100644
--- a/asn1/inap/inap.cnf
+++ b/asn1/inap/inap.cnf
@@ -298,6 +298,23 @@ dissect_isup_called_party_number_parameter(parameter_tvb, tree, NULL);
subtree = proto_item_add_subtree(actx->created_item, ett_inap_HighLayerCompatibility);
dissect_q931_high_layer_compat_ie(parameter_tvb, 0, tvb_length_remaining(parameter_tvb,0), subtree);
+ #.FN_BODY Cause VAL_PTR = &parameter_tvb
+ /*
+ * -- Indicates the cause for interface related information. Refer to the Q.763 Cause parameter for encoding
+ * -- For the use of cause and location values refer to Q.850.
+ */
+tvbuff_t *parameter_tvb;
+guint8 Cause_value;
+proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_inap_cause);
+
+ dissect_q931_cause_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), subtree, hf_inap_cause_indicator, &Cause_value, isup_parameter_type_value);
+
#.TYPE_ATTR
CallingPartysCategory TYPE = FT_UINT16 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = &isup_calling_partys_category_value_ext
diff --git a/asn1/inap/packet-inap-template.c b/asn1/inap/packet-inap-template.c
index d4adb13069..050f4350f3 100644
--- a/asn1/inap/packet-inap-template.c
+++ b/asn1/inap/packet-inap-template.c
@@ -74,11 +74,15 @@ static int inap_opcode_type;
#define INAP_OPCODE_RETURN_ERROR 3
#define INAP_OPCODE_REJECT 4
+static int hf_inap_cause_indicator = -1;
+
/* Initialize the subtree pointers */
static gint ett_inap = -1;
static gint ett_inapisup_parameter = -1;
static gint ett_inap_HighLayerCompatibility = -1;
static gint ett_inap_extention_data = -1;
+static gint ett_inap_cause = -1;
+
#include "packet-inap-ett.c"
static expert_field ei_inap_unknown_invokeData = EI_INIT;
@@ -200,6 +204,10 @@ void proto_register_inap(void) {
static hf_register_info hf[] = {
+ { &hf_inap_cause_indicator, /* Currently not enabled */
+ { "Cause indicator", "inap.cause_indicator",
+ FT_UINT8, BASE_DEC | BASE_EXT_STRING, &q850_cause_code_vals_ext, 0x7f,
+ NULL, HFILL } },
#include "packet-inap-hfarr.c"
};
@@ -215,6 +223,7 @@ void proto_register_inap(void) {
&ett_inapisup_parameter,
&ett_inap_HighLayerCompatibility,
&ett_inap_extention_data,
+ &ett_inap_cause,
#include "packet-inap-ettarr.c"
};