aboutsummaryrefslogtreecommitdiffstats
path: root/packet-sccp.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2003-10-22 20:12:02 +0000
committerGuy Harris <guy@alum.mit.edu>2003-10-22 20:12:02 +0000
commit0d2ca9cd2b03bc424002d3ec320691df6728cf60 (patch)
treefad7efc17e850f2caff65ba3fa4e5d5f13b16e0b /packet-sccp.c
parent17ec0f5d1915848ed64f51f7a9565bc0d53ef71c (diff)
From Michael Lum: add new SSN values for RANAP, IOS, and BSSAP/BSAP, and
add a heuristic subdissector list. svn path=/trunk/; revision=8750
Diffstat (limited to 'packet-sccp.c')
-rw-r--r--packet-sccp.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/packet-sccp.c b/packet-sccp.c
index de4982f9df..f1573f4ca5 100644
--- a/packet-sccp.c
+++ b/packet-sccp.c
@@ -8,7 +8,7 @@
*
* Copyright 2002, Jeff Morriss <jeff.morriss[AT]ulticom.com>
*
- * $Id: packet-sccp.c,v 1.14 2003/09/06 00:04:45 guy Exp $
+ * $Id: packet-sccp.c,v 1.15 2003/10/22 20:12:02 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -266,6 +266,9 @@ static const value_string sccp_ssn_values[] = {
{ 0x0c, "Reserved for international use (ITU only)" },
{ 0x0d, "Broadband ISDN edge-to-edge applications (ITU only)" },
{ 0x0e, "TC test responder (ITU only)" },
+ { 0x8e, "RANAP" },
+ { 0xfc, "IOS" },
+ { 0xfe, "BSSAP/BSAP" },
{ 0, NULL } };
@@ -659,6 +662,8 @@ static guint8 calling_ssn = INVALID_SSN;
static dissector_handle_t data_handle;
static dissector_table_t sccp_ssn_dissector_table;
+static heur_dissector_list_t heur_subdissector_list;
+
static void
dissect_sccp_unknown_message(tvbuff_t *message_tvb, proto_tree *sccp_tree)
{
@@ -1191,6 +1196,12 @@ dissect_sccp_data_param(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
tree)))
return;
+ /* try heuristic subdissector list to see if there are any takers */
+ if (dissector_try_heuristic(heur_subdissector_list, tvb, pinfo, tree))
+ {
+ return;
+ }
+
/* No sub-dissection occured, treat it as raw data */
call_dissector(data_handle, tvb, pinfo, tree);
}
@@ -2274,6 +2285,7 @@ proto_register_sccp(void)
sccp_ssn_dissector_table = register_dissector_table("sccp.ssn", "SCCP SSN", FT_UINT8, BASE_DEC);
+ register_heur_dissector_list("sccp", &heur_subdissector_list);
}
void