aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/column-utils.c9
-rw-r--r--epan/packet_info.h5
-rw-r--r--packet-isup.c24
3 files changed, 33 insertions, 5 deletions
diff --git a/epan/column-utils.c b/epan/column-utils.c
index 033dd0bb5d..57a907b212 100644
--- a/epan/column-utils.c
+++ b/epan/column-utils.c
@@ -1,7 +1,7 @@
/* column-utils.c
* Routines for column utilities.
*
- * $Id: column-utils.c,v 1.45 2004/02/05 23:57:15 obiot Exp $
+ * $Id: column-utils.c,v 1.46 2004/02/29 08:47:11 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -771,6 +771,13 @@ col_set_circuit_id(packet_info *pinfo, int col)
snprintf(pinfo->cinfo->col_buf[col], COL_MAX_LEN, "%u", pinfo->circuit_id);
break;
+ case CT_ISUP:
+ snprintf(pinfo->cinfo->col_buf[col], COL_MAX_LEN, "%u", pinfo->circuit_id);
+ strcpy(pinfo->cinfo->col_expr[col], "isup.cic");
+ snprintf(pinfo->cinfo->col_expr_val[col], COL_MAX_LEN, "%u", pinfo->circuit_id);
+ pinfo->cinfo->col_expr_val[col][COL_MAX_LEN - 1] = '\0';
+ break;
+
default:
break;
}
diff --git a/epan/packet_info.h b/epan/packet_info.h
index 90200bdc80..ee6d6e01ec 100644
--- a/epan/packet_info.h
+++ b/epan/packet_info.h
@@ -1,7 +1,7 @@
/* packet_info.h
* Definitions for packet info structures and routines
*
- * $Id: packet_info.h,v 1.38 2003/12/29 22:44:50 guy Exp $
+ * $Id: packet_info.h,v 1.39 2004/02/29 08:47:11 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -119,7 +119,8 @@ typedef enum {
CT_NONE, /* no port number */
CT_DLCI, /* Frame Relay DLCI */
CT_ISDN, /* ISDN channel number */
- CT_X25 /* X.25 logical channel number */
+ CT_X25, /* X.25 logical channel number */
+ CT_ISUP /* ISDN User Part CIC */
/* Could also have ATM VPI/VCI pairs */
} circuit_type;
diff --git a/packet-isup.c b/packet-isup.c
index 026b758d99..da84377f2b 100644
--- a/packet-isup.c
+++ b/packet-isup.c
@@ -9,7 +9,7 @@
* Modified 2004-01-10 by Anders Broman to add abillity to dissect
* Content type application/ISUP RFC 3204 used in SIP-T
*
- * $Id: packet-isup.c,v 1.50 2004/02/09 19:36:19 guy Exp $
+ * $Id: packet-isup.c,v 1.51 2004/02/29 08:47:10 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -45,6 +45,7 @@
#include <epan/packet.h>
#include <epan/ipv6-utils.h>
#include <tap.h>
+#include <prefs.h>
#include "packet-q931.h"
#include "packet-isup.h"
@@ -1181,6 +1182,10 @@ static const true_false_string isup_Sequence_ind_value = {
/* Initialize the protocol and registered fields */
static int proto_isup = -1;
static int proto_bicc = -1;
+static module_t *isup_module;
+
+static gboolean isup_show_cic_in_info = TRUE;
+
static int hf_isup_cic = -1;
static int hf_bicc_cic = -1;
@@ -5694,8 +5699,17 @@ dissect_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
recursive message dissector call */
cic = tvb_get_letohs(tvb, CIC_OFFSET) & 0x0FFF; /*since upper 4 bits spare */
+
+ pinfo->ctype = CT_ISUP;
+ pinfo->circuit_id = cic;
+
if (check_col(pinfo->cinfo, COL_INFO))
- col_add_fstr(pinfo->cinfo, COL_INFO, "%s(CIC %u)", val_to_str(message_type, isup_message_type_value_acro, "reserved"),cic);
+ {
+ if (isup_show_cic_in_info)
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s(CIC %u) ", val_to_str(message_type, isup_message_type_value_acro, "reserved"), cic);
+ else
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(message_type, isup_message_type_value_acro, "reserved"));
+ }
/* In the interest of speed, if "tree" is NULL, don't do any work not
necessary to generate protocol tree items. */
@@ -6484,6 +6498,12 @@ proto_register_isup(void)
proto_register_subtree_array(ett, array_length(ett));
isup_tap = register_tap("isup");
+
+ isup_module = prefs_register_protocol(proto_isup, NULL);
+
+ prefs_register_bool_preference(isup_module, "show_cic_in_info", "Show CIC in Info column",
+ "Show the CIC value (in addition to the message type) in the Info column",
+ (gint *)&isup_show_cic_in_info);
}