From Vasil Velichkov:

Fix dissection of Location and Generic Number in CAMEL
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2494

svn path=/trunk/; revision=25149
This commit is contained in:
Anders Broman 2008-04-23 05:16:53 +00:00
parent 1d5cb5ff64
commit 1638e46df2
4 changed files with 48 additions and 4 deletions

View File

@ -275,6 +275,30 @@ dissect_isup_calling_party_number_parameter(parameter_tvb, tree, NULL);
dissect_isup_called_party_number_parameter(parameter_tvb, tree, NULL);
#.END
#----------------------------------------------------------------------------------------
#.FN_BODY LocationNumber VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
dissect_isup_location_number_parameter(parameter_tvb, tree, NULL);
#.END
#----------------------------------------------------------------------------------------
#.FN_BODY GenericNumber VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb;
%(DEFAULT_BODY)s
if (!parameter_tvb)
return offset;
dissect_isup_generic_number_parameter(parameter_tvb, tree, NULL);
#.END
#----------------------------------------------------------------------------------------
#.FN_BODY Cause VAL_PTR = &parameter_tvb

View File

@ -2652,8 +2652,16 @@ dissect_camel_ChargeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int
static int
dissect_camel_LocationNumber(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;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
&parameter_tvb);
if (!parameter_tvb)
return offset;
dissect_isup_location_number_parameter(parameter_tvb, tree, NULL);
return offset;
}
@ -4240,8 +4248,16 @@ dissect_camel_GapTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int off
static int
dissect_camel_GenericNumber(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;
offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
NULL);
&parameter_tvb);
if (!parameter_tvb)
return offset;
dissect_isup_generic_number_parameter(parameter_tvb, tree, NULL);
return offset;
}

View File

@ -4614,7 +4614,7 @@ dissect_isup_transmission_medium_requirement_prime_parameter(tvbuff_t *parameter
/* ------------------------------------------------------------------
Dissector Parameter location number
*/
static void
void
dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
proto_item *address_digits_item;
@ -5050,7 +5050,7 @@ dissect_isup_collect_call_request_parameter(tvbuff_t *parameter_tvb, proto_tree
/* ------------------------------------------------------------------
Dissector Parameter Generic number
*/
static void
void
dissect_isup_generic_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
proto_item *address_digits_item;

View File

@ -174,6 +174,10 @@ void dissect_isup_redirection_information_parameter(tvbuff_t *parameter_tvb, pro
void dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
void dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
void dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
void dissect_isup_generic_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
extern int dissect_codec_mode(proto_tree *tree, tvbuff_t *tvb, int offset, int len);
#endif /* PACKET_ISUP_H */