aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-camel.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2011-04-06 06:20:32 +0000
committerAnders Broman <anders.broman@ericsson.com>2011-04-06 06:20:32 +0000
commitcb0e7f80da855fd806a755a9318a6af050766526 (patch)
tree6b1a3569372a9eb06cec689aeca5b53c2952b639 /epan/dissectors/packet-camel.c
parent9121c18590c1c3a20dea0d04ce3082e46fb25631 (diff)
Missing decoding for CalledPartyBCD number in CAMEL
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5788 svn path=/trunk/; revision=36488
Diffstat (limited to 'epan/dissectors/packet-camel.c')
-rw-r--r--epan/dissectors/packet-camel.c33
1 files changed, 23 insertions, 10 deletions
diff --git a/epan/dissectors/packet-camel.c b/epan/dissectors/packet-camel.c
index fbca77baf0..3535eeac79 100644
--- a/epan/dissectors/packet-camel.c
+++ b/epan/dissectors/packet-camel.c
@@ -61,6 +61,7 @@
#include "packet-e164.h"
#include "packet-isup.h"
#include "packet-gsm_map.h"
+#include "packet-gsm_a_common.h"
#include "packet-inap.h"
#include "packet-tcap.h"
#include <epan/camel-persistentdata.h>
@@ -590,7 +591,7 @@ static int hf_camel_present = -1; /* INTEGER */
static int hf_camel_InvokeId_present = -1; /* InvokeId_present */
/*--- End of included file: packet-camel-hf.c ---*/
-#line 110 "packet-camel-template.c"
+#line 111 "packet-camel-template.c"
static struct camelsrt_info_t * gp_camelsrt_info;
@@ -613,6 +614,7 @@ static gint ett_camel_pdptypenumber = -1;
static gint ett_camel_cause = -1;
static gint ett_camel_RPcause = -1;
static gint ett_camel_stat = -1;
+static guint ett_camel_calledpartybcdnumber = -1;
/*--- Included file: packet-camel-ett.c ---*/
@@ -805,7 +807,7 @@ static gint ett_camel_T_problem = -1;
static gint ett_camel_InvokeId = -1;
/*--- End of included file: packet-camel-ett.c ---*/
-#line 134 "packet-camel-template.c"
+#line 136 "packet-camel-template.c"
/* Preference settings default */
@@ -1124,7 +1126,7 @@ static const value_string camel_ectTreatmentIndicator_values[] = {
#define noInvokeId NULL
/*--- End of included file: packet-camel-val.h ---*/
-#line 268 "packet-camel-template.c"
+#line 270 "packet-camel-template.c"
/*--- Included file: packet-camel-table.c ---*/
@@ -1214,7 +1216,7 @@ static const value_string camel_err_code_string_vals[] = {
/*--- End of included file: packet-camel-table.c ---*/
-#line 270 "packet-camel-template.c"
+#line 272 "packet-camel-template.c"
static char camel_number_to_char(int number)
{
@@ -1977,8 +1979,18 @@ dissect_camel_BearerCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_camel_CalledPartyBCDNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ tvbuff_t *parameter_tvb;
+ proto_tree *subtree;
+
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
- NULL);
+ &parameter_tvb);
+
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_camel_calledpartybcdnumber);
+ de_cld_party_bcd_num(parameter_tvb, subtree, actx->pinfo, 0, tvb_length(parameter_tvb), NULL, 0);
+
return offset;
}
@@ -6780,7 +6792,7 @@ static void dissect_CAP_U_ABORT_REASON_PDU(tvbuff_t *tvb _U_, packet_info *pinfo
/*--- End of included file: packet-camel-fn.c ---*/
-#line 315 "packet-camel-template.c"
+#line 317 "packet-camel-template.c"
/*--- Included file: packet-camel-table2.c ---*/
@@ -6991,7 +7003,7 @@ static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset,a
/*--- End of included file: packet-camel-table2.c ---*/
-#line 317 "packet-camel-template.c"
+#line 319 "packet-camel-template.c"
static guint8 camel_pdu_type = 0;
@@ -7114,7 +7126,7 @@ void proto_reg_handoff_camel(void) {
/*--- End of included file: packet-camel-dis-tab.c ---*/
-#line 432 "packet-camel-template.c"
+#line 434 "packet-camel-template.c"
} else {
range_foreach(ssn_range, range_delete_callback);
g_free(ssn_range);
@@ -9176,7 +9188,7 @@ void proto_register_camel(void) {
"InvokeId_present", HFILL }},
/*--- End of included file: packet-camel-hfarr.c ---*/
-#line 605 "packet-camel-template.c"
+#line 607 "packet-camel-template.c"
};
/* List of subtrees */
@@ -9188,6 +9200,7 @@ void proto_register_camel(void) {
&ett_camel_cause,
&ett_camel_RPcause,
&ett_camel_stat,
+ &ett_camel_calledpartybcdnumber,
/*--- Included file: packet-camel-ettarr.c ---*/
@@ -9380,7 +9393,7 @@ void proto_register_camel(void) {
&ett_camel_InvokeId,
/*--- End of included file: packet-camel-ettarr.c ---*/
-#line 618 "packet-camel-template.c"
+#line 621 "packet-camel-template.c"
};
/* Register protocol */
proto_camel = proto_register_protocol(PNAME, PSNAME, PFNAME);