diff options
author | AndersBroman <anders.broman@ericsson.com> | 2015-02-04 13:24:57 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2015-02-04 12:30:48 +0000 |
commit | 987518153bfdce82b314c1d931104c5e8a24850c (patch) | |
tree | 8b7c745b725e90f7c45cb1993922558bd7da2490 /epan/dissectors/packet-camel.c | |
parent | 94011c1d937d40be94ec3c5f3814f90d883ab338 (diff) |
[CAMEL] Dissect additionalCallingPartyNumber.
Ping-Bug: 10914
Change-Id: I28eb9d7b5192a02f82fe604d20e57aedd706f528
Reviewed-on: https://code.wireshark.org/review/6946
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-camel.c')
-rw-r--r-- | epan/dissectors/packet-camel.c | 45 |
1 files changed, 36 insertions, 9 deletions
diff --git a/epan/dissectors/packet-camel.c b/epan/dissectors/packet-camel.c index 21442f257f..74f917ddf8 100644 --- a/epan/dissectors/packet-camel.c +++ b/epan/dissectors/packet-camel.c @@ -634,6 +634,7 @@ static gint ett_camel_stat = -1; static gint ett_camel_calledpartybcdnumber = -1; static gint ett_camel_callingpartynumber = -1; static gint ett_camel_locationnumber = -1; +static gint ett_camel_additionalcallingpartynumber = -1; /*--- Included file: packet-camel-ett.c ---*/ @@ -834,7 +835,7 @@ static gint ett_camel_T_problem = -1; static gint ett_camel_InvokeId = -1; /*--- End of included file: packet-camel-ett.c ---*/ -#line 142 "../../asn1/camel/packet-camel-template.c" +#line 143 "../../asn1/camel/packet-camel-template.c" static expert_field ei_camel_unknown_invokeData = EI_INIT; static expert_field ei_camel_unknown_returnResultData = EI_INIT; @@ -1179,7 +1180,7 @@ static const value_string camel_ectTreatmentIndicator_values[] = { #define noInvokeId NULL /*--- End of included file: packet-camel-val.h ---*/ -#line 302 "../../asn1/camel/packet-camel-template.c" +#line 303 "../../asn1/camel/packet-camel-template.c" /*--- Included file: packet-camel-table.c ---*/ @@ -1269,7 +1270,7 @@ static const value_string camel_err_code_string_vals[] = { /*--- End of included file: packet-camel-table.c ---*/ -#line 304 "../../asn1/camel/packet-camel-template.c" +#line 305 "../../asn1/camel/packet-camel-template.c" /* * DEBUG fonctions @@ -1429,7 +1430,32 @@ dissect_camel_Digits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U static int dissect_camel_AdditionalCallingPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_camel_Digits(implicit_tag, tvb, offset, actx, tree, hf_index); +/* +* Digits {PARAMETERS-BOUND : bound} ::= OCTET STRING (SIZE( +* bound.&minDigitsLength .. bound.&maxDigitsLength)) +*-- Indicates the address signalling digits. +*-- Refer to ETSI EN 300 356 1 [23] Generic Number & Generic Digits parameters for encoding. +*-- The coding of the subfields 'NumberQualifier' in Generic Number and 'TypeOfDigits' in +*-- Generic Digits are irrelevant to the CAP; +*-- the ASN.1 tags are sufficient to identify the parameter. +*-- The ISUP format does not allow to exclude these subfields, +*-- therefore the value is network operator specific. +*-- +*-- The following parameters shall use Generic Number: +*-- - AdditionalCallingPartyNumber for InitialDP +* +*/ + tvbuff_t *parameter_tvb; + proto_tree *subtree; + + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_camel_additionalcallingpartynumber); + dissect_isup_generic_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL); + return offset; } @@ -7045,7 +7071,7 @@ static int dissect_CAP_U_ABORT_REASON_PDU(tvbuff_t *tvb _U_, packet_info *pinfo /*--- End of included file: packet-camel-fn.c ---*/ -#line 373 "../../asn1/camel/packet-camel-template.c" +#line 374 "../../asn1/camel/packet-camel-template.c" /*--- Included file: packet-camel-table2.c ---*/ @@ -7252,7 +7278,7 @@ static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset,a /*--- End of included file: packet-camel-table2.c ---*/ -#line 375 "../../asn1/camel/packet-camel-template.c" +#line 376 "../../asn1/camel/packet-camel-template.c" /* * Functions needed for Hash-Table @@ -8104,7 +8130,7 @@ void proto_reg_handoff_camel(void) { /*--- End of included file: packet-camel-dis-tab.c ---*/ -#line 1219 "../../asn1/camel/packet-camel-template.c" +#line 1220 "../../asn1/camel/packet-camel-template.c" } else { range_foreach(ssn_range, range_delete_callback); g_free(ssn_range); @@ -10218,7 +10244,7 @@ void proto_register_camel(void) { "InvokeId_present", HFILL }}, /*--- End of included file: packet-camel-hfarr.c ---*/ -#line 1392 "../../asn1/camel/packet-camel-template.c" +#line 1393 "../../asn1/camel/packet-camel-template.c" }; /* List of subtrees */ @@ -10233,6 +10259,7 @@ void proto_register_camel(void) { &ett_camel_calledpartybcdnumber, &ett_camel_callingpartynumber, &ett_camel_locationnumber, + &ett_camel_additionalcallingpartynumber, /*--- Included file: packet-camel-ettarr.c ---*/ @@ -10433,7 +10460,7 @@ void proto_register_camel(void) { &ett_camel_InvokeId, /*--- End of included file: packet-camel-ettarr.c ---*/ -#line 1408 "../../asn1/camel/packet-camel-template.c" +#line 1410 "../../asn1/camel/packet-camel-template.c" }; static ei_register_info ei[] = { |