diff options
author | Anders Broman <anders.broman@ericsson.com> | 2011-04-06 06:20:32 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2011-04-06 06:20:32 +0000 |
commit | cb0e7f80da855fd806a755a9318a6af050766526 (patch) | |
tree | 6b1a3569372a9eb06cec689aeca5b53c2952b639 /epan/dissectors/packet-camel.c | |
parent | 9121c18590c1c3a20dea0d04ce3082e46fb25631 (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.c | 33 |
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); + ¶meter_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); |