aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ranap.c
diff options
context:
space:
mode:
authorLuis Ontanon <luis.ontanon@gmail.com>2007-03-21 00:48:46 +0000
committerLuis Ontanon <luis.ontanon@gmail.com>2007-03-21 00:48:46 +0000
commit5fa8e751492a3d47d7d9d60586ad20a7006d8e5c (patch)
tree2fd7e9f13537d9a62869a04150e5031ca0a6c4bc /epan/dissectors/packet-ranap.c
parent1b2cddf0b3b38627882c25eb9e282d4910feb551 (diff)
packet_info.c and packet.c
add sccp_info to struct _packet_info (Sorry but the way private_data works and the fact that TCAP uses it and BSSAP/RANAP can be tunnelled on GSMMAP over TCAP makes it impossible to avoid) SCCP - Have SCCP to have a TAP, - Fix associations so that every message belongs to the association. - Export message type values so that they can be used by a tap listener RANAP - Have RANAP information attached to the sccp_info BSSAP + GSM_A - Have DTAP, BSSMAP and BSSAP info attached to the sccp_info svn path=/trunk/; revision=21076
Diffstat (limited to 'epan/dissectors/packet-ranap.c')
-rw-r--r--epan/dissectors/packet-ranap.c30
1 files changed, 24 insertions, 6 deletions
diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c
index 732437d24e..23ad3c9385 100644
--- a/epan/dissectors/packet-ranap.c
+++ b/epan/dissectors/packet-ranap.c
@@ -1,6 +1,6 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
-/* .\packet-ranap.c */
+/* ./packet-ranap.c */
/* ../../tools/asn2wrs.py -e -F -p ranap -c ranap.cnf -s packet-ranap-template ranap.asn */
/* Input file: packet-ranap-template.c */
@@ -40,6 +40,7 @@
#include <epan/prefs.h>
#include <epan/conversation.h>
#include <epan/tap.h>
+#include <epan/emem.h>
#include <stdio.h>
#include <string.h>
@@ -48,6 +49,7 @@
#include "packet-per.h"
#include "packet-ranap.h"
#include "packet-e212.h"
+#include "packet-sccp.h"
#define SCCP_SSN_RANAP 0x8E
@@ -592,7 +594,7 @@ static int hf_ranap_private_id = -1; /* PrivateIE_ID */
static int hf_ranap_private_value = -1; /* RANAP_PRIVATE_IES_Value */
/*--- End of included file: packet-ranap-hf.c ---*/
-#line 67 "packet-ranap-template.c"
+#line 69 "packet-ranap-template.c"
/* Initialize the subtree pointers */
static int ett_ranap = -1;
@@ -859,7 +861,7 @@ static gint ett_ranap_PrivateIE_Container = -1;
static gint ett_ranap_PrivateIE_Field = -1;
/*--- End of included file: packet-ranap-ett.c ---*/
-#line 72 "packet-ranap-template.c"
+#line 74 "packet-ranap-template.c"
/* Global variables */
@@ -868,6 +870,7 @@ static guint type_of_message;
static guint32 ProcedureCode;
static guint32 ProtocolIE_ID;
+
static int dissect_ranap_ies(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree);
static int dissect_ranap_FirstValue_ies(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree);
static int dissect_ranap_SecondValue_ies(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree);
@@ -9755,7 +9758,7 @@ static int dissect_RANAP_PDU_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
/*--- End of included file: packet-ranap-fn.c ---*/
-#line 85 "packet-ranap-template.c"
+#line 88 "packet-ranap-template.c"
@@ -10230,6 +10233,7 @@ static int dissect_ranap_ies(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_
break;
}
+
return offset;
}
@@ -10743,6 +10747,7 @@ dissect_ranap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* make entry in the Protocol column on summary display */
if (check_col(pinfo->cinfo, COL_PROTOCOL))
col_set_str(pinfo->cinfo, COL_PROTOCOL, "RANAP");
+
/* create the ranap protocol tree */
ranap_item = proto_tree_add_item(tree, proto_ranap, tvb, 0, -1, FALSE);
@@ -10750,6 +10755,18 @@ dissect_ranap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
offset = dissect_RANAP_PDU_PDU(tvb, pinfo, ranap_tree);
+ if (pinfo->sccp_info) {
+ sccp_msg_info_t* sccp_msg = pinfo->sccp_info;
+ const gchar* str = val_to_str(ProcedureCode, ranap_ProcedureCode_vals,"Unknown RANAP");
+
+ if (sccp_msg->assoc)
+ sccp_msg->assoc->proto = SCCP_PLOAD_RANAP;
+
+ if (! sccp_msg->label) {
+ sccp_msg->label = se_strdup(str);
+ }
+ }
+
}
static gboolean
@@ -10787,6 +10804,7 @@ dissect_sccp_ranap_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
dissect_ranap(tvb, pinfo, tree);
+
return TRUE;
}
@@ -12889,7 +12907,7 @@ void proto_register_ranap(void) {
"ranap.RANAP_PRIVATE_IES_Value", HFILL }},
/*--- End of included file: packet-ranap-hfarr.c ---*/
-#line 1150 "packet-ranap-template.c"
+#line 1168 "packet-ranap-template.c"
};
/* List of subtrees */
@@ -13158,7 +13176,7 @@ void proto_register_ranap(void) {
&ett_ranap_PrivateIE_Field,
/*--- End of included file: packet-ranap-ettarr.c ---*/
-#line 1157 "packet-ranap-template.c"
+#line 1175 "packet-ranap-template.c"
};
/* Register protocol */