aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7>2012-08-23 17:11:36 +0000
committerwmeier <wmeier@f5534014-38df-0310-8fa8-9805f1628bb7>2012-08-23 17:11:36 +0000
commitc519695f10c60bc00da6b3b4d83c1a05e49e1243 (patch)
tree0a4ce8bd7cac4b8d89e6cb29f841bdd1da3598c1
parent20dfc4664a2c22fef78bdf6a411631cbdc25277d (diff)
Cleanup: Whitespace and long lines;
Also: remove a few boilerplate comments. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@44637 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r--epan/dissectors/packet-isup.c2102
1 files changed, 1156 insertions, 946 deletions
diff --git a/epan/dissectors/packet-isup.c b/epan/dissectors/packet-isup.c
index d5b86f1c2b..0075149ab6 100644
--- a/epan/dissectors/packet-isup.c
+++ b/epan/dissectors/packet-isup.c
@@ -144,8 +144,8 @@ static const value_string isup_message_type_value[] = {
{ MESSAGE_TYPE_FORW_TRANS, "Forward transfer"},
{ MESSAGE_TYPE_ANSWER, "Answer"},
- { 0x0a, "Reserved (used in 1984 version)"},
- { 0x0b, "Reserved (used in 1984 version)"},
+ { 10, "Reserved (used in 1984 version)"},
+ { 11, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_RELEASE, "Release"},
{ MESSAGE_TYPE_SUSPEND, "Suspend"},
@@ -166,22 +166,22 @@ static const value_string isup_message_type_value[] = {
{ MESSAGE_TYPE_CIRC_GRP_BL_ACK, "Circuit group blocking acknowledgement"},
{ MESSAGE_TYPE_CIRC_GRP_UNBL_ACK, "Circuit group unblocking acknowledgement"},
- { 28, "Reserved (used in 1988 version)"},
- { 29, "Reserved (used in 1988 version)"},
- { 30, "Reserved (used in 1988 version)"},
+ { 28, "Reserved (used in 1988 version)"},
+ { 29, "Reserved (used in 1988 version)"},
+ { 30, "Reserved (used in 1988 version)"},
{ MESSAGE_TYPE_FACILITY_REQ, "Facility request"},
{ MESSAGE_TYPE_FACILITY_ACC, "Facility accepted"},
{ MESSAGE_TYPE_FACILITY_REJ, "Facility reject"},
- { 34, "Reserved (used in 1984 version)"},
- { 35, "Reserved (used in 1984 version)"},
+ { 34, "Reserved (used in 1984 version)"},
+ { 35, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_LOOP_BACK_ACK, "Loop back acknowledgement (national use)"},
- { 37, "Reserved (used in 1984 version)"},
- { 38, "Reserved (used in 1984 version)"},
- { 39, "Reserved (used in 1984 version)"},
+ { 37, "Reserved (used in 1984 version)"},
+ { 38, "Reserved (used in 1984 version)"},
+ { 39, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_PASS_ALONG, "Pass-along (national use)"},
{ MESSAGE_TYPE_CIRC_GRP_RST_ACK, "Circuit group reset acknowledgement"},
@@ -230,8 +230,8 @@ static const value_string french_isup_message_type_value[] = {
{ MESSAGE_TYPE_FORW_TRANS, "Forward transfer"},
{ MESSAGE_TYPE_ANSWER, "Answer"},
- { 0x0a, "Reserved (used in 1984 version)"},
- { 0x0b, "Reserved (used in 1984 version)"},
+ { 10, "Reserved (used in 1984 version)"},
+ { 11, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_RELEASE, "Release"},
{ MESSAGE_TYPE_SUSPEND, "Suspend"},
@@ -252,22 +252,22 @@ static const value_string french_isup_message_type_value[] = {
{ MESSAGE_TYPE_CIRC_GRP_BL_ACK, "Circuit group blocking acknowledgement"},
{ MESSAGE_TYPE_CIRC_GRP_UNBL_ACK, "Circuit group unblocking acknowledgement"},
- { 28, "Reserved (used in 1988 version)"},
- { 29, "Reserved (used in 1988 version)"},
- { 30, "Reserved (used in 1988 version)"},
+ { 28, "Reserved (used in 1988 version)"},
+ { 29, "Reserved (used in 1988 version)"},
+ { 30, "Reserved (used in 1988 version)"},
{ MESSAGE_TYPE_FACILITY_REQ, "Facility request"},
{ MESSAGE_TYPE_FACILITY_ACC, "Facility accepted"},
{ MESSAGE_TYPE_FACILITY_REJ, "Facility reject"},
- { 34, "Reserved (used in 1984 version)"},
- { 35, "Reserved (used in 1984 version)"},
+ { 34, "Reserved (used in 1984 version)"},
+ { 35, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_LOOP_BACK_ACK, "Loop back acknowledgement (national use)"},
- { 37, "Reserved (used in 1984 version)"},
- { 38, "Reserved (used in 1984 version)"},
- { 39, "Reserved (used in 1984 version)"},
+ { 37, "Reserved (used in 1984 version)"},
+ { 38, "Reserved (used in 1984 version)"},
+ { 39, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_PASS_ALONG, "Pass-along (national use)"},
{ MESSAGE_TYPE_CIRC_GRP_RST_ACK, "Circuit group reset acknowledgement"},
@@ -319,8 +319,8 @@ static const value_string israeli_isup_message_type_value[] = {
{ MESSAGE_TYPE_FORW_TRANS, "Forward transfer"},
{ MESSAGE_TYPE_ANSWER, "Answer"},
- { 0x0a, "Reserved (used in 1984 version)"},
- { 0x0b, "Reserved (used in 1984 version)"},
+ { 10, "Reserved (used in 1984 version)"},
+ { 11, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_RELEASE, "Release"},
{ MESSAGE_TYPE_SUSPEND, "Suspend"},
@@ -341,22 +341,22 @@ static const value_string israeli_isup_message_type_value[] = {
{ MESSAGE_TYPE_CIRC_GRP_BL_ACK, "Circuit group blocking acknowledgement"},
{ MESSAGE_TYPE_CIRC_GRP_UNBL_ACK, "Circuit group unblocking acknowledgement"},
- { 28, "Reserved (used in 1988 version)"},
- { 29, "Reserved (used in 1988 version)"},
- { 30, "Reserved (used in 1988 version)"},
+ { 28, "Reserved (used in 1988 version)"},
+ { 29, "Reserved (used in 1988 version)"},
+ { 30, "Reserved (used in 1988 version)"},
{ MESSAGE_TYPE_FACILITY_REQ, "Facility request"},
{ MESSAGE_TYPE_FACILITY_ACC, "Facility accepted"},
{ MESSAGE_TYPE_FACILITY_REJ, "Facility reject"},
- { 34, "Reserved (used in 1984 version)"},
- { 35, "Reserved (used in 1984 version)"},
+ { 34, "Reserved (used in 1984 version)"},
+ { 35, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_LOOP_BACK_ACK, "Loop back acknowledgement (national use)"},
- { 37, "Reserved (used in 1984 version)"},
- { 38, "Reserved (used in 1984 version)"},
- { 39, "Reserved (used in 1984 version)"},
+ { 37, "Reserved (used in 1984 version)"},
+ { 38, "Reserved (used in 1984 version)"},
+ { 39, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_PASS_ALONG, "Pass-along (national use)"},
{ MESSAGE_TYPE_CIRC_GRP_RST_ACK, "Circuit group reset acknowledgement"},
@@ -409,8 +409,8 @@ static const value_string russian_isup_message_type_value[] = {
{ MESSAGE_TYPE_FORW_TRANS, "Forward transfer"},
{ MESSAGE_TYPE_ANSWER, "Answer"},
- { 0x0a, "Reserved (used in 1984 version)"},
- { 0x0b, "Reserved (used in 1984 version)"},
+ { 10, "Reserved (used in 1984 version)"},
+ { 11, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_RELEASE, "Release"},
{ MESSAGE_TYPE_SUSPEND, "Suspend"},
@@ -431,22 +431,22 @@ static const value_string russian_isup_message_type_value[] = {
{ MESSAGE_TYPE_CIRC_GRP_BL_ACK, "Circuit group blocking acknowledgement"},
{ MESSAGE_TYPE_CIRC_GRP_UNBL_ACK, "Circuit group unblocking acknowledgement"},
- { 28, "Reserved (used in 1988 version)"},
- { 29, "Reserved (used in 1988 version)"},
- { 30, "Reserved (used in 1988 version)"},
+ { 28, "Reserved (used in 1988 version)"},
+ { 29, "Reserved (used in 1988 version)"},
+ { 30, "Reserved (used in 1988 version)"},
{ MESSAGE_TYPE_FACILITY_REQ, "Facility request"},
{ MESSAGE_TYPE_FACILITY_ACC, "Facility accepted"},
{ MESSAGE_TYPE_FACILITY_REJ, "Facility reject"},
- { 34, "Reserved (used in 1984 version)"},
- { 35, "Reserved (used in 1984 version)"},
+ { 34, "Reserved (used in 1984 version)"},
+ { 35, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_LOOP_BACK_ACK, "Loop back acknowledgement (national use)"},
- { 37, "Reserved (used in 1984 version)"},
- { 38, "Reserved (used in 1984 version)"},
- { 39, "Reserved (used in 1984 version)"},
+ { 37, "Reserved (used in 1984 version)"},
+ { 38, "Reserved (used in 1984 version)"},
+ { 39, "Reserved (used in 1984 version)"},
{ MESSAGE_TYPE_PASS_ALONG, "Pass-along (national use)"},
{ MESSAGE_TYPE_CIRC_GRP_RST_ACK, "Circuit group reset acknowledgement"},
@@ -555,8 +555,8 @@ static const value_string isup_message_type_value_acro[] = {
{ MESSAGE_TYPE_FORW_TRANS, "FOT"},
{ MESSAGE_TYPE_ANSWER, "ANM"},
- { 0x0a, "Reserved"},
- { 0x0b, "Reserved"},
+ { 10, "Reserved"},
+ { 11, "Reserved"},
{ MESSAGE_TYPE_RELEASE, "REL"},
{ MESSAGE_TYPE_SUSPEND, "SUS"},
@@ -577,22 +577,22 @@ static const value_string isup_message_type_value_acro[] = {
{ MESSAGE_TYPE_CIRC_GRP_BL_ACK, "CGBA"},
{ MESSAGE_TYPE_CIRC_GRP_UNBL_ACK, "CGUA"},
- { 28, "Reserved"},
- { 29, "Reserved"},
- { 30, "Reserved"},
+ { 28, "Reserved"},
+ { 29, "Reserved"},
+ { 30, "Reserved"},
{ MESSAGE_TYPE_FACILITY_REQ, "FAR"},
{ MESSAGE_TYPE_FACILITY_ACC, "FAA"},
{ MESSAGE_TYPE_FACILITY_REJ, "FRJ"},
- { 34, "Reserved"},
- { 35, "Reserved"},
+ { 34, "Reserved"},
+ { 35, "Reserved"},
{ MESSAGE_TYPE_LOOP_BACK_ACK, "LPA"},
- { 37, "Reserved"},
- { 38, "Reserved"},
- { 39, "Reserved"},
+ { 37, "Reserved"},
+ { 38, "Reserved"},
+ { 39, "Reserved"},
{ MESSAGE_TYPE_PASS_ALONG, "PAM"},
{ MESSAGE_TYPE_CIRC_GRP_RST_ACK, "GRA"},
@@ -639,8 +639,8 @@ static const value_string french_isup_message_type_value_acro[] = {
{ MESSAGE_TYPE_FORW_TRANS, "FOT"},
{ MESSAGE_TYPE_ANSWER, "ANM"},
- { 0x0a, "Reserved"},
- { 0x0b, "Reserved"},
+ { 10, "Reserved"},
+ { 11, "Reserved"},
{ MESSAGE_TYPE_RELEASE, "REL"},
{ MESSAGE_TYPE_SUSPEND, "SUS"},
@@ -661,22 +661,22 @@ static const value_string french_isup_message_type_value_acro[] = {
{ MESSAGE_TYPE_CIRC_GRP_BL_ACK, "CGBA"},
{ MESSAGE_TYPE_CIRC_GRP_UNBL_ACK, "CGUA"},
- { 28, "Reserved"},
- { 29, "Reserved"},
- { 30, "Reserved"},
+ { 28, "Reserved"},
+ { 29, "Reserved"},
+ { 30, "Reserved"},
{ MESSAGE_TYPE_FACILITY_REQ, "FAR"},
{ MESSAGE_TYPE_FACILITY_ACC, "FAA"},
{ MESSAGE_TYPE_FACILITY_REJ, "FRJ"},
- { 34, "Reserved"},
- { 35, "Reserved"},
+ { 34, "Reserved"},
+ { 35, "Reserved"},
{ MESSAGE_TYPE_LOOP_BACK_ACK, "LPA"},
- { 37, "Reserved"},
- { 38, "Reserved"},
- { 39, "Reserved"},
+ { 37, "Reserved"},
+ { 38, "Reserved"},
+ { 39, "Reserved"},
{ MESSAGE_TYPE_PASS_ALONG, "PAM"},
{ MESSAGE_TYPE_CIRC_GRP_RST_ACK, "GRA"},
@@ -725,8 +725,8 @@ static const value_string israeli_isup_message_type_value_acro[] = {
{ MESSAGE_TYPE_FORW_TRANS, "FOT"},
{ MESSAGE_TYPE_ANSWER, "ANM"},
- { 0x0a, "Reserved"},
- { 0x0b, "Reserved"},
+ { 10, "Reserved"},
+ { 11, "Reserved"},
{ MESSAGE_TYPE_RELEASE, "REL"},
{ MESSAGE_TYPE_SUSPEND, "SUS"},
@@ -747,22 +747,22 @@ static const value_string israeli_isup_message_type_value_acro[] = {
{ MESSAGE_TYPE_CIRC_GRP_BL_ACK, "CGBA"},
{ MESSAGE_TYPE_CIRC_GRP_UNBL_ACK, "CGUA"},
- { 28, "Reserved"},
- { 29, "Reserved"},
- { 30, "Reserved"},
+ { 28, "Reserved"},
+ { 29, "Reserved"},
+ { 30, "Reserved"},
{ MESSAGE_TYPE_FACILITY_REQ, "FAR"},
{ MESSAGE_TYPE_FACILITY_ACC, "FAA"},
{ MESSAGE_TYPE_FACILITY_REJ, "FRJ"},
- { 34, "Reserved"},
- { 35, "Reserved"},
+ { 34, "Reserved"},
+ { 35, "Reserved"},
{ MESSAGE_TYPE_LOOP_BACK_ACK, "LPA"},
- { 37, "Reserved"},
- { 38, "Reserved"},
- { 39, "Reserved"},
+ { 37, "Reserved"},
+ { 38, "Reserved"},
+ { 39, "Reserved"},
{ MESSAGE_TYPE_PASS_ALONG, "PAM"},
{ MESSAGE_TYPE_CIRC_GRP_RST_ACK, "GRA"},
@@ -813,8 +813,8 @@ static const value_string russian_isup_message_type_value_acro[] = {
{ MESSAGE_TYPE_FORW_TRANS, "FOT"},
{ MESSAGE_TYPE_ANSWER, "ANM"},
- { 0x0a, "Reserved"},
- { 0x0b, "Reserved"},
+ { 10, "Reserved"},
+ { 11, "Reserved"},
{ MESSAGE_TYPE_RELEASE, "REL"},
{ MESSAGE_TYPE_SUSPEND, "SUS"},
@@ -835,22 +835,22 @@ static const value_string russian_isup_message_type_value_acro[] = {
{ MESSAGE_TYPE_CIRC_GRP_BL_ACK, "CGBA"},
{ MESSAGE_TYPE_CIRC_GRP_UNBL_ACK, "CGUA"},
- { 28, "Reserved"},
- { 29, "Reserved"},
- { 30, "Reserved"},
+ { 28, "Reserved"},
+ { 29, "Reserved"},
+ { 30, "Reserved"},
{ MESSAGE_TYPE_FACILITY_REQ, "FAR"},
{ MESSAGE_TYPE_FACILITY_ACC, "FAA"},
{ MESSAGE_TYPE_FACILITY_REJ, "FRJ"},
- { 34, "Reserved"},
- { 35, "Reserved"},
+ { 34, "Reserved"},
+ { 35, "Reserved"},
{ MESSAGE_TYPE_LOOP_BACK_ACK, "LPA"},
- { 37, "Reserved"},
- { 38, "Reserved"},
- { 39, "Reserved"},
+ { 37, "Reserved"},
+ { 38, "Reserved"},
+ { 39, "Reserved"},
{ MESSAGE_TYPE_PASS_ALONG, "PAM"},
{ MESSAGE_TYPE_CIRC_GRP_RST_ACK, "GRA"},
@@ -1379,20 +1379,20 @@ static const value_string russian_isup_calling_partys_category_value[] = {
{ 16, "Mobile terminal located in the home PLMN"},
{ 17, "Mobile terminal located in a visited PLMN"},
- { 0xe0, "Reserved (Sub.Category 0)"},
- { 0xe1, "Hotel subscriber"},
- { 0xe2, "Charge free subscriber"},
- { 0xe3, "Subscriber with special service access"},
- { 0xe4, "Local subscriber"},
- { 0xe5, "Local coinbox"},
- { 0xf0, "Automatic call of category I"},
- { 0xf1, "Semiautomatic call of category I"},
- { 0xf2, "Automatic call of category II"},
- { 0xf3, "Semiautomatic call of category II"},
- { 0xf4, "Automatic call of category III"},
- { 0xf5, "Semiautomatic call of category III"},
- { 0xf6, "Automatic call of category IV"},
- { 0xf7, "Semiautomatic call of category IV"},
+ { 0xe0, "Reserved (Sub.Category 0)"},
+ { 0xe1, "Hotel subscriber"},
+ { 0xe2, "Charge free subscriber"},
+ { 0xe3, "Subscriber with special service access"},
+ { 0xe4, "Local subscriber"},
+ { 0xe5, "Local coinbox"},
+ { 0xf0, "Automatic call of category I"},
+ { 0xf1, "Semiautomatic call of category I"},
+ { 0xf2, "Automatic call of category II"},
+ { 0xf3, "Semiautomatic call of category II"},
+ { 0xf4, "Automatic call of category III"},
+ { 0xf5, "Semiautomatic call of category III"},
+ { 0xf6, "Automatic call of category IV"},
+ { 0xf7, "Semiautomatic call of category IV"},
{ 0, NULL}};
value_string_ext russian_isup_calling_partys_category_value_ext = VALUE_STRING_EXT_INIT(russian_isup_calling_partys_category_value);
@@ -2478,7 +2478,7 @@ isup_apm_defragment_init(void)
}
/* Info for the tap that must be passed between procedures */
-static gchar *tap_called_number = NULL;
+static gchar *tap_called_number = NULL;
static gchar *tap_calling_number = NULL;
static guint8 tap_cause_value = 0;
@@ -2542,9 +2542,12 @@ dissect_isup_nature_of_connection_indicators_parameter(tvbuff_t *parameter_tvb,
guint8 nature_of_connection_ind;
nature_of_connection_ind = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_item(parameter_tree, hf_isup_satellite_indicator, parameter_tvb, 0,NATURE_OF_CONNECTION_IND_LENGTH, ENC_BIG_ENDIAN);
- proto_tree_add_uint(parameter_tree, hf_isup_continuity_check_indicator, parameter_tvb, 0,NATURE_OF_CONNECTION_IND_LENGTH, nature_of_connection_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_echo_control_device_indicator, parameter_tvb, 0, NATURE_OF_CONNECTION_IND_LENGTH, nature_of_connection_ind);
+ proto_tree_add_item(parameter_tree, hf_isup_satellite_indicator,
+ parameter_tvb, 0,NATURE_OF_CONNECTION_IND_LENGTH, ENC_BIG_ENDIAN);
+ proto_tree_add_uint(parameter_tree, hf_isup_continuity_check_indicator,
+ parameter_tvb, 0,NATURE_OF_CONNECTION_IND_LENGTH, nature_of_connection_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_echo_control_device_indicator,
+ parameter_tvb, 0, NATURE_OF_CONNECTION_IND_LENGTH, nature_of_connection_ind);
proto_item_set_text(parameter_item, "Nature of Connection Indicators: 0x%x", nature_of_connection_ind);
}
@@ -2558,16 +2561,26 @@ dissect_isup_forward_call_indicators_parameter(tvbuff_t *parameter_tvb,proto_tre
guint16 forward_call_ind;
forward_call_ind = tvb_get_ntohs(parameter_tvb, 0);
- proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_natnl_inatnl_call_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
- proto_tree_add_uint(parameter_tree, hf_isup_forw_call_end_to_end_method_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_interworking_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_end_to_end_info_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_isdn_user_part_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
- proto_tree_add_uint(parameter_tree, hf_isup_forw_call_preferences_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_isdn_access_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
- proto_tree_add_uint(parameter_tree, hf_isup_forw_call_sccp_method_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_ported_num_trans_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_qor_attempt_indicator, parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_natnl_inatnl_call_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_uint(parameter_tree, hf_isup_forw_call_end_to_end_method_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_interworking_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_end_to_end_info_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_isdn_user_part_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_uint(parameter_tree, hf_isup_forw_call_preferences_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_isdn_access_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_uint(parameter_tree, hf_isup_forw_call_sccp_method_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_ported_num_trans_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_forw_call_qor_attempt_indicator,
+ parameter_tvb, 0, FORWARD_CALL_IND_LENGTH, forward_call_ind);
proto_item_set_text(parameter_item, "Forward Call Indicators: 0x%x", forward_call_ind);
}
@@ -2583,22 +2596,24 @@ dissect_isup_calling_partys_category_parameter(tvbuff_t *parameter_tvb,proto_tre
calling_partys_category = tvb_get_guint8(parameter_tvb, 0);
if(itu_isup_variant == ISUP_RUSSIAN_VARIANT){
- proto_tree_add_uint(parameter_tree, hf_russian_isup_calling_partys_category, parameter_tvb, 0, CALLING_PRTYS_CATEGORY_LENGTH, calling_partys_category);
+ proto_tree_add_uint(parameter_tree, hf_russian_isup_calling_partys_category,
+ parameter_tvb, 0, CALLING_PRTYS_CATEGORY_LENGTH, calling_partys_category);
- proto_item_set_text(parameter_item, "Calling Party's category: 0x%x (%s)",
- calling_partys_category,
- val_to_str_ext_const(calling_partys_category,
- &russian_isup_calling_partys_category_value_ext,
+ proto_item_set_text(parameter_item, "Calling Party's category: 0x%x (%s)",
+ calling_partys_category,
+ val_to_str_ext_const(calling_partys_category,
+ &russian_isup_calling_partys_category_value_ext,
"reserved/spare"));
}else{
- proto_tree_add_uint(parameter_tree, hf_isup_calling_partys_category, parameter_tvb, 0, CALLING_PRTYS_CATEGORY_LENGTH, calling_partys_category);
-
- proto_item_set_text(parameter_item, "Calling Party's category: 0x%x (%s)",
- calling_partys_category,
- val_to_str_ext_const(calling_partys_category,
- &isup_calling_partys_category_value_ext,
- "reserved/spare"));
+ proto_tree_add_uint(parameter_tree, hf_isup_calling_partys_category,
+ parameter_tvb, 0, CALLING_PRTYS_CATEGORY_LENGTH, calling_partys_category);
+
+ proto_item_set_text(parameter_item, "Calling Party's category: 0x%x (%s)",
+ calling_partys_category,
+ val_to_str_ext_const(calling_partys_category,
+ &isup_calling_partys_category_value_ext,
+ "reserved/spare"));
}
}
@@ -2612,9 +2627,11 @@ dissect_isup_transmission_medium_requirement_parameter(tvbuff_t *parameter_tvb,
guint8 transmission_medium_requirement;
transmission_medium_requirement = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_uint(parameter_tree, hf_isup_transmission_medium_requirement, parameter_tvb, 0, TRANSMISSION_MEDIUM_REQUIREMENT_LENGTH,transmission_medium_requirement);
+ proto_tree_add_uint(parameter_tree, hf_isup_transmission_medium_requirement,
+ parameter_tvb, 0, TRANSMISSION_MEDIUM_REQUIREMENT_LENGTH,transmission_medium_requirement);
- proto_item_set_text(parameter_item, "Transmission medium requirement: %u (%s)", transmission_medium_requirement, val_to_str_ext_const(transmission_medium_requirement, &isup_transmission_medium_requirement_value_ext, "spare"));
+ proto_item_set_text(parameter_item, "Transmission medium requirement: %u (%s)", transmission_medium_requirement,
+ val_to_str_ext_const(transmission_medium_requirement, &isup_transmission_medium_requirement_value_ext, "spare"));
}
/* ------------------------------------------------------------------
Dissector Parameter Called party number
@@ -2622,17 +2639,17 @@ dissect_isup_transmission_medium_requirement_parameter(tvbuff_t *parameter_tvb,
void
dissect_isup_called_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
- proto_item *address_digits_item;
- proto_tree *address_digits_tree;
- proto_item *hidden_item;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char called_number[MAXDIGITS + 1]="";
- e164_info_t e164_info;
- gint number_plan;
+ proto_item *address_digits_item;
+ proto_tree *address_digits_tree;
+ proto_item *hidden_item;
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char called_number[MAXDIGITS + 1] = "";
+ e164_info_t e164_info;
+ gint number_plan;
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -2655,12 +2672,14 @@ dissect_isup_called_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *
while((length = tvb_reported_length_remaining(parameter_tvb, offset)) > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
called_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -2668,7 +2687,8 @@ dissect_isup_called_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *
offset++;
}
if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid */
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -2700,12 +2720,12 @@ dissect_isup_subsequent_number_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char called_number[MAXDIGITS + 1]="";
+ guint8 indicators1;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char called_number[MAXDIGITS + 1] = "";
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -2718,12 +2738,14 @@ dissect_isup_subsequent_number_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
while((length = tvb_reported_length_remaining(parameter_tvb, offset)) > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
called_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -2731,11 +2753,13 @@ dissect_isup_subsequent_number_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
offset++;
}
- if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
- called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
- if (i > MAXDIGITS)
- THROW(ReportedBoundsError);
+ if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) {
+ /* Even Indicator set -> last even digit is valid & has be displayed */
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
+ called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
+ if (i > MAXDIGITS)
+ THROW(ReportedBoundsError);
}
called_number[i] = '\0';
@@ -2752,12 +2776,16 @@ dissect_isup_information_request_indicators_parameter(tvbuff_t *parameter_tvb, p
guint16 information_request_indicators;
information_request_indicators = tvb_get_ntohs(parameter_tvb, 0);
- proto_tree_add_boolean(parameter_tree, hf_isup_calling_party_address_request_indicator, parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
- proto_tree_add_boolean(parameter_tree, hf_isup_info_req_holding_indicator, parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
- proto_tree_add_boolean(parameter_tree, hf_isup_calling_partys_category_request_indicator, parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
- proto_tree_add_boolean(parameter_tree, hf_isup_charge_information_request_indicator, parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
- proto_tree_add_boolean(parameter_tree, hf_isup_malicious_call_identification_request_indicator, parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
-
+ proto_tree_add_boolean(parameter_tree, hf_isup_calling_party_address_request_indicator,
+ parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
+ proto_tree_add_boolean(parameter_tree, hf_isup_info_req_holding_indicator,
+ parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
+ proto_tree_add_boolean(parameter_tree, hf_isup_calling_partys_category_request_indicator,
+ parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
+ proto_tree_add_boolean(parameter_tree, hf_isup_charge_information_request_indicator,
+ parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
+ proto_tree_add_boolean(parameter_tree, hf_isup_malicious_call_identification_request_indicator,
+ parameter_tvb, 0, INFO_REQUEST_IND_LENGTH, information_request_indicators);
proto_item_set_text(parameter_item, "Information request indicators: 0x%x", information_request_indicators);
}
@@ -2770,11 +2798,15 @@ dissect_isup_information_indicators_parameter(tvbuff_t *parameter_tvb, proto_tre
guint16 information_indicators;
information_indicators = tvb_get_ntohs(parameter_tvb, 0);
- proto_tree_add_uint(parameter_tree, hf_isup_calling_party_address_response_indicator, parameter_tvb, 0, INFO_IND_LENGTH, information_indicators);
+ proto_tree_add_uint(parameter_tree, hf_isup_calling_party_address_response_indicator,
+ parameter_tvb, 0, INFO_IND_LENGTH, information_indicators);
proto_tree_add_boolean(parameter_tree, hf_isup_hold_provided_indicator, parameter_tvb, 0, INFO_IND_LENGTH, information_indicators);
- proto_tree_add_boolean(parameter_tree, hf_isup_calling_partys_category_response_indicator, parameter_tvb, 0, INFO_IND_LENGTH, information_indicators);
- proto_tree_add_boolean(parameter_tree, hf_isup_charge_information_response_indicator, parameter_tvb, 0, INFO_IND_LENGTH, information_indicators);
- proto_tree_add_boolean(parameter_tree, hf_isup_solicited_indicator, parameter_tvb, 0, INFO_IND_LENGTH, information_indicators);
+ proto_tree_add_boolean(parameter_tree, hf_isup_calling_partys_category_response_indicator,
+ parameter_tvb, 0, INFO_IND_LENGTH, information_indicators);
+ proto_tree_add_boolean(parameter_tree, hf_isup_charge_information_response_indicator,
+ parameter_tvb, 0, INFO_IND_LENGTH, information_indicators);
+ proto_tree_add_boolean(parameter_tree, hf_isup_solicited_indicator,
+ parameter_tvb, 0, INFO_IND_LENGTH, information_indicators);
proto_item_set_text(parameter_item, "Information indicators: 0x%x", information_indicators);
@@ -2803,17 +2835,28 @@ dissect_isup_backward_call_indicators_parameter(tvbuff_t *parameter_tvb,proto_tr
backward_call_ind = tvb_get_ntohs(parameter_tvb, 0);
- proto_tree_add_uint(parameter_tree, hf_isup_backw_call_charge_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_uint(parameter_tree, hf_isup_backw_call_called_partys_status_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_uint(parameter_tree, hf_isup_backw_call_called_partys_category_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_uint(parameter_tree, hf_isup_backw_call_end_to_end_method_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_interworking_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_end_to_end_info_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_isdn_user_part_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_holding_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_isdn_access_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_echo_control_device_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
- proto_tree_add_uint(parameter_tree, hf_isup_backw_call_sccp_method_ind, parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_uint(parameter_tree, hf_isup_backw_call_charge_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_uint(parameter_tree, hf_isup_backw_call_called_partys_status_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_uint(parameter_tree, hf_isup_backw_call_called_partys_category_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_uint(parameter_tree, hf_isup_backw_call_end_to_end_method_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_interworking_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_end_to_end_info_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_isdn_user_part_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_holding_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_isdn_access_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_boolean(parameter_tree, hf_isup_backw_call_echo_control_device_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
+ proto_tree_add_uint(parameter_tree, hf_isup_backw_call_sccp_method_ind,
+ parameter_tvb, 0, BACKWARD_CALL_IND_LENGTH, backward_call_ind);
proto_item_set_text(parameter_item, "Backward Call Indicators: 0x%x", backward_call_ind);
}
@@ -3133,10 +3176,11 @@ dissect_ansi_isup_cause_indicators_parameter(tvbuff_t *parameter_tvb, proto_tree
if (length == 0)
return;
proto_tree_add_item(parameter_tree, hf_isup_cause_indicator, parameter_tvb, offset, 1, ENC_BIG_ENDIAN);
- cause_value=tvb_get_guint8(parameter_tvb, offset)&0x7f;
+ cause_value = tvb_get_guint8(parameter_tvb, offset)&0x7f;
offset ++;
length--;
- proto_item_set_text(parameter_item, "Cause indicators: %s (%u)", val_to_str_ext_const(cause_value, &q850_cause_code_vals_ext, "spare"),cause_value);
+ proto_item_set_text(parameter_item, "Cause indicators: %s (%u)",
+ val_to_str_ext_const(cause_value, &q850_cause_code_vals_ext, "spare"),cause_value);
if (length == 0) {
return;
}
@@ -3154,7 +3198,7 @@ dissect_ansi_isup_cause_indicators_parameter(tvbuff_t *parameter_tvb, proto_tree
if (length == 0)
return;
proto_tree_add_item(parameter_tree, hf_ansi_isup_cause_indicator, parameter_tvb, offset, 1, ENC_BIG_ENDIAN);
- cause_value=tvb_get_guint8(parameter_tvb, offset)&0x7f;
+ cause_value = tvb_get_guint8(parameter_tvb, offset)&0x7f;
proto_item_set_text(parameter_item, "Cause indicators: %s (%u)",
val_to_str_ext_const(cause_value, &ansi_isup_cause_code_vals_ext, "spare"),
cause_value);
@@ -3218,7 +3262,8 @@ dissect_isup_circuit_group_supervision_message_type_parameter(tvbuff_t *paramete
cgs_message_type = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_uint(parameter_tree, hf_isup_cgs_message_type, parameter_tvb, 0, CIRC_GRP_SV_MSG_TYPE_LENGTH, cgs_message_type);
- proto_item_set_text(parameter_item, "Circuit group supervision message type: %s (%u)" ,val_to_str_const(cgs_message_type, isup_cgs_message_type_value,"unknown"), cgs_message_type);
+ proto_item_set_text(parameter_item, "Circuit group supervision message type: %s (%u)",
+ val_to_str_const(cgs_message_type, isup_cgs_message_type_value,"unknown"), cgs_message_type);
}
/* ------------------------------------------------------------------
Dissector Parameter Facility indicator parameter
@@ -3240,9 +3285,9 @@ dissect_isup_circuit_state_ind_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
{
proto_item *circuit_state_item;
proto_tree *circuit_state_tree;
- guint8 circuit_state;
- gint offset=0;
- gint i=0;
+ guint8 circuit_state;
+ gint offset = 0;
+ gint i = 0;
while(tvb_reported_length_remaining(parameter_tvb, offset) > 0) {
circuit_state_item = proto_tree_add_text(parameter_tree, parameter_tvb,
@@ -3252,7 +3297,8 @@ dissect_isup_circuit_state_ind_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
circuit_state = tvb_get_guint8(parameter_tvb, offset);
if ((circuit_state & DC_8BIT_MASK) == 0) {
proto_tree_add_uint(circuit_state_tree, hf_isup_mtc_blocking_state1, parameter_tvb, offset, 1, circuit_state);
- proto_item_set_text(circuit_state_item, "Circuit# CIC+%u state: %s", i++, val_to_str_const(circuit_state&BA_8BIT_MASK, isup_mtc_blocking_state_DC00_value, "unknown"));
+ proto_item_set_text(circuit_state_item, "Circuit# CIC+%u state: %s", i++,
+ val_to_str_const(circuit_state&BA_8BIT_MASK, isup_mtc_blocking_state_DC00_value, "unknown"));
}
else {
proto_tree_add_uint(circuit_state_tree, hf_isup_mtc_blocking_state2, parameter_tvb, offset, 1, circuit_state);
@@ -3273,7 +3319,10 @@ dissect_isup_event_information_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
guint8 indicators;
indicators = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_uint_format(parameter_tree, hf_isup_event_ind, parameter_tvb, 0, EVENT_INFO_LENGTH, indicators, "Event indicator: %s (%u)", val_to_str_const(indicators & GFEDCBA_8BIT_MASK, isup_event_ind_value, "spare"), indicators & GFEDCBA_8BIT_MASK);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_event_ind, parameter_tvb, 0, EVENT_INFO_LENGTH, indicators,
+ "Event indicator: %s (%u)",
+ val_to_str_const(indicators & GFEDCBA_8BIT_MASK, isup_event_ind_value, "spare"),
+ indicators & GFEDCBA_8BIT_MASK);
proto_tree_add_boolean(parameter_tree, hf_isup_event_presentation_restricted_ind, parameter_tvb, 0, EVENT_INFO_LENGTH, indicators);
proto_item_set_text(parameter_item,"Event information: %s (%u)", val_to_str_const(indicators & GFEDCBA_8BIT_MASK, isup_event_ind_value, "spare"),indicators);
@@ -3396,8 +3445,8 @@ value_string_ext x213_afi_value_ext = VALUE_STRING_EXT_INIT(x213_afi_value);
/*draft-gray-rfc1888bis-01 at */
/*http://www.ietf.org/internet-drafts/draft-gray-rfc1888bis-01.txt */
static const value_string iana_icp_values[] = {
- { 0x0, "IP Version 6 Address"},
- { 0x1, "IP Version 4 Address"},
+ { 0x0, "IP Version 6 Address"},
+ { 0x1, "IP Version 4 Address"},
{ 0, NULL }
};
@@ -3411,7 +3460,7 @@ dissect_nsap(tvbuff_t *parameter_tvb,gint offset,gint len, proto_tree *parameter
{
guint8 afi;
guint8 length = 0;
- guint icp, cc_offset;
+ guint icp, cc_offset;
afi = tvb_get_guint8(parameter_tvb, offset);
@@ -3910,9 +3959,12 @@ dissect_codec(tvbuff_t *parameter_tvb, proto_tree *bat_ase_element_tree, gint le
offset = offset + 1;
compatibility_info = tvb_get_guint8(parameter_tvb, offset);
proto_tree_add_uint(bat_ase_element_tree, hf_Instruction_ind_for_general_action , parameter_tvb, offset, 1, compatibility_info);
- proto_tree_add_boolean(bat_ase_element_tree, hf_Send_notification_ind_for_general_action , parameter_tvb, offset, 1, compatibility_info);
- proto_tree_add_uint(bat_ase_element_tree, hf_Instruction_ind_for_pass_on_not_possible , parameter_tvb, offset, 1, compatibility_info);
- proto_tree_add_boolean(bat_ase_element_tree, hf_Send_notification_ind_for_pass_on_not_possible , parameter_tvb, offset, 1, compatibility_info);
+ proto_tree_add_boolean(bat_ase_element_tree, hf_Send_notification_ind_for_general_action,
+ parameter_tvb, offset, 1, compatibility_info);
+ proto_tree_add_uint(bat_ase_element_tree, hf_Instruction_ind_for_pass_on_not_possible,
+ parameter_tvb, offset, 1, compatibility_info);
+ proto_tree_add_boolean(bat_ase_element_tree, hf_Send_notification_ind_for_pass_on_not_possible,
+ parameter_tvb, offset, 1, compatibility_info);
proto_tree_add_boolean(bat_ase_element_tree, hf_isup_extension_ind , parameter_tvb, offset, 1, compatibility_info);
offset = dissect_codec_mode(bat_ase_element_tree, parameter_tvb, offset+1,length_indicator-1);
@@ -3948,7 +4000,7 @@ dissect_bat_ase_Encapsulated_Application_Information(tvbuff_t *parameter_tvb, pa
guint content_len, length_indicator;
guint duration;
guint diagnostic;
- guint32 bncid, Local_BCU_ID;
+ guint32 bncid, Local_BCU_ID;
element_no = 0;
@@ -3980,7 +4032,8 @@ dissect_bat_ase_Encapsulated_Application_Information(tvbuff_t *parameter_tvb, pa
}
bat_ase_element_item = proto_tree_add_text(bat_ase_tree,parameter_tvb,
- (offset - length_ind_len),(length_indicator + 2),"BAT ASE Element %u, Identifier: %s",element_no,
+ (offset - length_ind_len), (length_indicator + 2),
+ "BAT ASE Element %u, Identifier: %s",element_no,
val_to_str_ext(identifier,&bat_ase_list_of_Identifiers_vals_ext,"unknown (%u)"));
bat_ase_element_tree = proto_item_add_subtree(bat_ase_element_item ,
ett_bat_ase_element);
@@ -4118,13 +4171,13 @@ dissect_bat_ase_Encapsulated_Application_Information(tvbuff_t *parameter_tvb, pa
} else {
next_tvb = tvb_new_subset(parameter_tvb, offset, sdp_length, sdp_length);
}
- if(BCTP_Indicator_field_2==0x20){
- /* IPBCP (text encoded) */
- call_dissector(sdp_handle, next_tvb, pinfo, bat_ase_element_tree);
- }else{
- proto_tree_add_text(bat_ase_element_tree, next_tvb, 0, -1, "Tunnelled Protocol Data");
- }
- offset = offset + sdp_length;
+ if(BCTP_Indicator_field_2==0x20){
+ /* IPBCP (text encoded) */
+ call_dissector(sdp_handle, next_tvb, pinfo, bat_ase_element_tree);
+ }else{
+ proto_tree_add_text(bat_ase_element_tree, next_tvb, 0, -1, "Tunnelled Protocol Data");
+ }
+ offset = offset + sdp_length;
break;
case BEARER_CONTROL_TUNNELLING :
@@ -4172,7 +4225,8 @@ dissect_bat_ase_Encapsulated_Application_Information(tvbuff_t *parameter_tvb, pa
} /* end if */
Local_BCU_ID = tvb_get_letohl(parameter_tvb, offset);
- proto_tree_add_uint_format(bat_ase_element_tree, hf_Local_BCU_ID , parameter_tvb, offset, 4, Local_BCU_ID , "Local BCU ID : 0x%08x", Local_BCU_ID);
+ proto_tree_add_uint_format(bat_ase_element_tree, hf_Local_BCU_ID , parameter_tvb, offset, 4,
+ Local_BCU_ID , "Local BCU ID : 0x%08x", Local_BCU_ID);
offset = offset + 4;
break;
case SIGNAL :
@@ -4203,7 +4257,8 @@ dissect_bat_ase_Encapsulated_Application_Information(tvbuff_t *parameter_tvb, pa
offset = offset + content_len;
break;
default :
- proto_tree_add_text(bat_ase_element_tree, parameter_tvb, offset,content_len , "Default ?, (%u byte%s length)", (content_len), plurality(content_len, "", "s"));
+ proto_tree_add_text(bat_ase_element_tree, parameter_tvb, offset, content_len ,
+ "Default ?, (%u byte%s length)", (content_len), plurality(content_len, "", "s"));
offset = offset + content_len;
}
}
@@ -4236,17 +4291,17 @@ static void
dissect_isup_application_transport_parameter(tvbuff_t *parameter_tvb, packet_info *pinfo, proto_tree *parameter_tree, proto_item *parameter_item)
{
- guint8 si_and_apm_seg_ind;
- guint8 apm_Segmentation_local_ref = 0;
- guint16 aci16;
- gint offset = 0;
- guint8 octet;
- guint length = tvb_reported_length(parameter_tvb);
-
+ guint8 si_and_apm_seg_ind;
+ guint8 apm_Segmentation_local_ref = 0;
+ guint16 aci16;
+ gint offset = 0;
+ guint8 octet;
+ guint length = tvb_reported_length(parameter_tvb);
gboolean more_frag;
- gboolean save_fragmented;
- tvbuff_t* new_tvb = NULL;
- tvbuff_t* next_tvb = NULL;
+ gboolean save_fragmented;
+
+ tvbuff_t *new_tvb = NULL;
+ tvbuff_t *next_tvb = NULL;
fragment_data *frag_msg = NULL;
proto_tree_add_text(parameter_tree, parameter_tvb, offset, -1, "Application transport parameter fields:");
@@ -4407,11 +4462,15 @@ dissect_isup_optional_forward_call_indicators_parameter(tvbuff_t *parameter_tvb,
indicators = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_uint(parameter_tree, hf_isup_cug_call_ind, parameter_tvb, 0, OPTIONAL_FORWARD_CALL_IND_LENGTH, indicators);
- proto_tree_add_boolean(parameter_tree, hf_isup_simple_segmentation_ind, parameter_tvb, 0, OPTIONAL_FORWARD_CALL_IND_LENGTH, indicators);
- proto_tree_add_boolean(parameter_tree, hf_isup_connected_line_identity_request_ind, parameter_tvb, 0, OPTIONAL_FORWARD_CALL_IND_LENGTH, indicators);
+ proto_tree_add_boolean(parameter_tree, hf_isup_simple_segmentation_ind,
+ parameter_tvb, 0, OPTIONAL_FORWARD_CALL_IND_LENGTH, indicators);
+ proto_tree_add_boolean(parameter_tree, hf_isup_connected_line_identity_request_ind,
+ parameter_tvb, 0, OPTIONAL_FORWARD_CALL_IND_LENGTH, indicators);
- proto_item_set_text(parameter_item,"Optional forward call indicators: %s (%u)", val_to_str_const(indicators & BA_8BIT_MASK, isup_CUG_call_ind_value, "spare"), indicators);
+ proto_item_set_text(parameter_item,"Optional forward call indicators: %s (%u)",
+ val_to_str_const(indicators & BA_8BIT_MASK, isup_CUG_call_ind_value, "spare"),
+ indicators);
}
/* ------------------------------------------------------------------
Dissector Parameter calling party number
@@ -4419,17 +4478,17 @@ dissect_isup_optional_forward_call_indicators_parameter(tvbuff_t *parameter_tvb,
void
dissect_isup_calling_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
- proto_item *address_digits_item;
- proto_tree *address_digits_tree;
- proto_item *hidden_item;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char calling_number[MAXDIGITS + 1]="";
- e164_info_t e164_info;
- gint number_plan;
+ proto_item *address_digits_item;
+ proto_tree *address_digits_tree;
+ proto_item *hidden_item;
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char calling_number[MAXDIGITS + 1] = "";
+ e164_info_t e164_info;
+ gint number_plan;
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -4456,12 +4515,14 @@ dissect_isup_calling_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -4470,8 +4531,10 @@ dissect_isup_calling_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree
length = tvb_length_remaining(parameter_tvb, offset);
}
- if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
+ if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) {
+ /* Even Indicator set -> last even digit is valid & has be displayed */
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -4503,12 +4566,12 @@ dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tre
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char calling_number[MAXDIGITS + 1]="";
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char calling_number[MAXDIGITS + 1] = "";
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -4534,12 +4597,14 @@ dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tre
length = tvb_length_remaining(parameter_tvb, offset);
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -4548,11 +4613,13 @@ dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tre
length = tvb_length_remaining(parameter_tvb, offset);
}
- if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
- calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
- if (i > MAXDIGITS)
- THROW(ReportedBoundsError);
+ if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) {
+ /* Even Indicator set -> last even digit is valid & has be displayed */
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
+ calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
+ if (i > MAXDIGITS)
+ THROW(ReportedBoundsError);
}
calling_number[i] = '\0';
@@ -4568,12 +4635,12 @@ dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, proto_tree *p
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char calling_number[MAXDIGITS + 1]="";
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char calling_number[MAXDIGITS + 1] = "";
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -4599,12 +4666,14 @@ dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, proto_tree *p
length = tvb_length_remaining(parameter_tvb, offset);
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -4613,11 +4682,13 @@ dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, proto_tree *p
length = tvb_length_remaining(parameter_tvb, offset);
}
- if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
- calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
- if (i > MAXDIGITS)
- THROW(ReportedBoundsError);
+ if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) {
+ /* Even Indicator set -> last even digit is valid & has be displayed */
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
+ calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
+ if (i > MAXDIGITS)
+ THROW(ReportedBoundsError);
}
calling_number[i] = '\0';
@@ -4633,12 +4704,12 @@ dissect_isup_redirection_number_parameter(tvbuff_t *parameter_tvb, proto_tree *p
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char called_number[MAXDIGITS + 1]="";
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char called_number[MAXDIGITS + 1] = "";
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -4656,12 +4727,14 @@ dissect_isup_redirection_number_parameter(tvbuff_t *parameter_tvb, proto_tree *p
length = tvb_length_remaining(parameter_tvb, offset);
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
called_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -4670,11 +4743,13 @@ dissect_isup_redirection_number_parameter(tvbuff_t *parameter_tvb, proto_tree *p
length = tvb_length_remaining(parameter_tvb, offset);
}
- if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
- called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
- if (i > MAXDIGITS)
- THROW(ReportedBoundsError);
+ if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) {
+ /* Even Indicator set -> last even digit is valid & has be displayed */
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
+ called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
+ if (i > MAXDIGITS)
+ THROW(ReportedBoundsError);
}
called_number[i] = '\0';
@@ -4689,7 +4764,7 @@ dissect_isup_connection_request_parameter(tvbuff_t *parameter_tvb, proto_tree *p
{
guint32 local_ref;
guint16 spc;
- guint8 protocol_class, credit, offset=0;
+ guint8 protocol_class, credit, offset = 0;
local_ref = tvb_get_ntoh24(parameter_tvb, 0);
proto_tree_add_text(parameter_tree, parameter_tvb, offset, LOCAL_REF_LENGTH, "Local Reference: %u", local_ref);
@@ -4703,7 +4778,9 @@ dissect_isup_connection_request_parameter(tvbuff_t *parameter_tvb, proto_tree *p
credit = tvb_get_guint8(parameter_tvb, offset);
proto_tree_add_text(parameter_tree, parameter_tvb, offset, CREDIT_LENGTH, "Credit: %u", credit);
- proto_item_set_text(parameter_item, "Connection request: Local Reference = %u, SPC = %u, Protocol Class = %u, Credit = %u", local_ref, spc, protocol_class, credit);
+ proto_item_set_text(parameter_item,
+ "Connection request: Local Reference = %u, SPC = %u, Protocol Class = %u, Credit = %u",
+ local_ref, spc, protocol_class, credit);
}
/* ------------------------------------------------------------------
Dissector Parameter Redirection information
@@ -4734,8 +4811,8 @@ dissect_isup_redirection_information_parameter(tvbuff_t *parameter_tvb, proto_tr
static void
dissect_isup_closed_user_group_interlock_code_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
- char NI_digits[5]="";
- guint8 digit_pair;
+ char NI_digits[5] = "";
+ guint8 digit_pair;
guint16 bin_code;
digit_pair = tvb_get_guint8(parameter_tvb, 0);
@@ -4785,12 +4862,12 @@ dissect_isup_connected_number_parameter(tvbuff_t *parameter_tvb, proto_tree *par
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char calling_number[MAXDIGITS + 1]="";
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char calling_number[MAXDIGITS + 1] = "";
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -4811,12 +4888,14 @@ dissect_isup_connected_number_parameter(tvbuff_t *parameter_tvb, proto_tree *par
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -4825,11 +4904,13 @@ dissect_isup_connected_number_parameter(tvbuff_t *parameter_tvb, proto_tree *par
length = tvb_length_remaining(parameter_tvb, offset);
}
- if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
- calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
- if (i > MAXDIGITS)
- THROW(ReportedBoundsError);
+ if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) {
+ /* Even Indicator set -> last even digit is valid & has be displayed */
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
+ calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
+ if (i > MAXDIGITS)
+ THROW(ReportedBoundsError);
}
calling_number[i] = '\0';
@@ -4845,12 +4926,12 @@ dissect_isup_transit_network_selection_parameter(tvbuff_t *parameter_tvb, proto_
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char network_id[MAXDIGITS + 1]="";
+ guint8 indicators;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char network_id[MAXDIGITS + 1] = "";
indicators = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators);
@@ -4866,12 +4947,14 @@ dissect_isup_transit_network_selection_parameter(tvbuff_t *parameter_tvb, proto_
length = tvb_length_remaining(parameter_tvb, offset);
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
network_id[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
network_id[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -4881,7 +4964,8 @@ dissect_isup_transit_network_selection_parameter(tvbuff_t *parameter_tvb, proto_
}
if (((indicators & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
network_id[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -4901,7 +4985,8 @@ dissect_isup_circuit_assignment_map_parameter(tvbuff_t *parameter_tvb, proto_tre
map_type = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_uint(parameter_tree, hf_isup_map_type, parameter_tvb, 0, 1, map_type);
- proto_tree_add_text(parameter_tree, parameter_tvb, 1, 5, "Circuit assignment map (bit position indicates usage of corresponding circuit->3.69/Q.763)");
+ proto_tree_add_text(parameter_tree, parameter_tvb, 1, 5,
+ "Circuit assignment map (bit position indicates usage of corresponding circuit->3.69/Q.763)");
proto_item_set_text(parameter_item, "Circuit assignment map");
}
/* ------------------------------------------------------------------
@@ -4913,7 +4998,8 @@ dissect_isup_automatic_congestion_level_parameter(tvbuff_t *parameter_tvb, proto
congestion_level = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_uint(parameter_tree, hf_isup_automatic_congestion_level, parameter_tvb, 0, AUTO_CONGEST_LEVEL_LENGTH, congestion_level);
- proto_item_set_text(parameter_item, "Automatic congestion level: %s (%u)", val_to_str_const(congestion_level, isup_auto_congestion_level_value, "spare"), congestion_level);
+ proto_item_set_text(parameter_item, "Automatic congestion level: %s (%u)",
+ val_to_str_const(congestion_level, isup_auto_congestion_level_value, "spare"), congestion_level);
}
/* ------------------------------------------------------------------
Dissector Parameter Optional backward Call indicators
@@ -5065,7 +5151,8 @@ dissect_isup_generic_notification_indicator_parameter(tvbuff_t *parameter_tvb, p
guint8 indicators;
indicators = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_text(parameter_tree, parameter_tvb, 0, GENERIC_NOTIFICATION_IND_LENGTH, "Generic notification indicator: 0x%x (refer to 3.25/Q.763 for detailed decoding)", indicators);
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, GENERIC_NOTIFICATION_IND_LENGTH,
+ "Generic notification indicator: 0x%x (refer to 3.25/Q.763 for detailed decoding)", indicators);
proto_item_set_text(parameter_item,"Generic notification indicator: 0x%x", indicators);
}
/* ------------------------------------------------------------------
@@ -5085,7 +5172,8 @@ dissect_isup_call_history_information_parameter(tvbuff_t *parameter_tvb, proto_t
*/
static void
dissect_isup_access_delivery_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
-{ guint8 indicator;
+{
+ guint8 indicator;
indicator = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_access_delivery_ind, parameter_tvb, 0, ACCESS_DELIVERY_INFO_LENGTH, indicator);
@@ -5142,10 +5230,11 @@ dissect_isup_remote_operations_parameter(tvbuff_t *parameter_tvb, proto_tree *pa
static void
dissect_isup_service_activation_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
- guint i;
+ guint i;
guint8 feature_code;
- guint length = tvb_length(parameter_tvb);
- for (i=0; i< length; i++) {
+ guint length = tvb_length(parameter_tvb);
+
+ for (i=0; i<length; i++) {
feature_code = tvb_get_guint8(parameter_tvb, i);
proto_tree_add_text(parameter_tree, parameter_tvb, i, 1, "Feature Code %u: %u", i+1, feature_code);
}
@@ -5175,9 +5264,15 @@ dissect_isup_transmission_medium_used_parameter(tvbuff_t *parameter_tvb, proto_t
guint8 transmission_medium_requirement;
transmission_medium_requirement = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_uint(parameter_tree, hf_isup_transmission_medium_requirement_prime, parameter_tvb, 0, TRANSMISSION_MEDIUM_RQMT_PRIME_LENGTH,transmission_medium_requirement);
+ proto_tree_add_uint(parameter_tree, hf_isup_transmission_medium_requirement_prime,
+ parameter_tvb, 0, TRANSMISSION_MEDIUM_RQMT_PRIME_LENGTH,transmission_medium_requirement);
- proto_item_set_text(parameter_item, "Transmission medium used: %u (%s)", transmission_medium_requirement, val_to_str_ext_const(transmission_medium_requirement, &isup_transmission_medium_requirement_prime_value_ext, "spare/reserved"));
+ proto_item_set_text(parameter_item,
+ "Transmission medium used: %u (%s)",
+ transmission_medium_requirement,
+ val_to_str_ext_const(transmission_medium_requirement,
+ &isup_transmission_medium_requirement_prime_value_ext,
+ "spare/reserved"));
}
/* ------------------------------------------------------------------
Dissector Parameter Call diversion information
@@ -5187,7 +5282,8 @@ dissect_isup_call_diversion_information_parameter(tvbuff_t *parameter_tvb, proto
{ guint8 indicator;
indicator = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_text(parameter_tree, parameter_tvb, 0, CALL_DIV_INFO_LENGTH, "Call diversion information: 0x%x (refer to 3.6/Q.763 for detailed decoding)", indicator);
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, CALL_DIV_INFO_LENGTH,
+ "Call diversion information: 0x%x (refer to 3.6/Q.763 for detailed decoding)", indicator);
proto_item_set_text(parameter_item, "Call diversion information: 0x%x", indicator);
}
/* ------------------------------------------------------------------
@@ -5227,7 +5323,8 @@ static const value_string IECD_req_ind_vals[] = {
static void
dissect_isup_echo_control_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{ guint8 indicator;
- gint offset = 0;
+ gint offset = 0;
+
indicator = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_text(parameter_tree, parameter_tvb, 0, ECHO_CONTROL_INFO_LENGTH,
"Echo control information: 0x%x", indicator);
@@ -5260,7 +5357,8 @@ dissect_isup_message_compatibility_information_parameter(tvbuff_t *parameter_tvb
{
guint length = tvb_length(parameter_tvb);
guint instruction_indicators;
- gint offset = 0;
+ gint offset = 0;
+
instruction_indicators = tvb_get_guint8(parameter_tvb, offset);
proto_tree_add_text(parameter_tree, parameter_tvb, 0, length,
@@ -5328,10 +5426,11 @@ static void
dissect_isup_parameter_compatibility_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
guint length = tvb_length(parameter_tvb);
- guint len = length;
+ guint len = length;
guint8 upgraded_parameter, upgraded_parameter_no;
guint8 offset;
guint8 instruction_indicators;
+
offset = 0;
upgraded_parameter_no = 0;
@@ -5374,7 +5473,8 @@ dissect_isup_parameter_compatibility_information_parameter(tvbuff_t *parameter_t
if (len == 0)
return;
instruction_indicators = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(parameter_tree, hf_isup_Broadband_narrowband_interworking_ind, parameter_tvb, offset, 1,instruction_indicators);
+ proto_tree_add_uint(parameter_tree, hf_isup_Broadband_narrowband_interworking_ind,
+ parameter_tvb, offset, 1,instruction_indicators);
offset += 1;
len -= 1;
}
@@ -5391,10 +5491,10 @@ dissect_isup_parameter_compatibility_information_parameter(tvbuff_t *parameter_t
static void
dissect_isup_mlpp_precedence_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
- char NI_digits[5]="";
+ char NI_digits[5] = "";
const char *temp_text = "";
- guint8 indicators, digit_pair;
- guint32 bin_code;
+ guint8 indicators, digit_pair;
+ guint32 bin_code;
indicators = tvb_get_guint8(parameter_tvb, 0);
switch ((indicators & 0x60) >> 5) {
@@ -5435,17 +5535,18 @@ dissect_isup_mlpp_precedence_parameter(tvbuff_t *parameter_tvb, proto_tree *para
proto_tree_add_text(parameter_tree, parameter_tvb, 0, 1, "Precedence Level: %s",temp_text);
- digit_pair = tvb_get_guint8(parameter_tvb, 1);
+ digit_pair = tvb_get_guint8(parameter_tvb, 1);
NI_digits[0] = number_to_char((digit_pair & HGFE_8BIT_MASK) / 0x10);
NI_digits[1] = number_to_char(digit_pair & DCBA_8BIT_MASK);
- digit_pair = tvb_get_guint8(parameter_tvb, 2);
+ digit_pair = tvb_get_guint8(parameter_tvb, 2);
NI_digits[2] = number_to_char((digit_pair & HGFE_8BIT_MASK) / 0x10);
NI_digits[3] = number_to_char(digit_pair & DCBA_8BIT_MASK);
NI_digits[4] = '\0';
proto_tree_add_text(parameter_tree, parameter_tvb, 1, 2, "Network Identity: %s", NI_digits);
bin_code = tvb_get_ntoh24(parameter_tvb, 3);
proto_tree_add_text(parameter_tree, parameter_tvb, 3, 3, "MLPP service domain: 0x%x", bin_code);
- proto_item_set_text(parameter_item, "MLPP precedence: Prec = %s, NI = %s, MLPP service domain = 0x%x", temp_text, NI_digits, bin_code);
+ proto_item_set_text(parameter_item,
+ "MLPP precedence: Prec = %s, NI = %s, MLPP service domain = 0x%x", temp_text, NI_digits, bin_code);
}
/* ------------------------------------------------------------------
Dissector Parameter MCID request indicators
@@ -5455,7 +5556,8 @@ dissect_isup_mcid_request_indicators_parameter(tvbuff_t *parameter_tvb, proto_tr
{ guint8 indicator;
indicator = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_text(parameter_tree, parameter_tvb, 0,MCID_REQUEST_IND_LENGTH, "MCID request indicators: 0x%x (MCID requested by Bit1=1, Holding requested by Bit2=1 see 3.31/Q.763)", indicator);
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0,MCID_REQUEST_IND_LENGTH,
+ "MCID request indicators: 0x%x (MCID requested by Bit1=1, Holding requested by Bit2=1 see 3.31/Q.763)", indicator);
proto_item_set_text(parameter_item, "MCID request indicators: 0x%x", indicator);
}
/* ------------------------------------------------------------------
@@ -5466,7 +5568,8 @@ dissect_isup_mcid_response_indicators_parameter(tvbuff_t *parameter_tvb, proto_t
{ guint8 indicator;
indicator = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_text(parameter_tree, parameter_tvb, 0,MCID_RESPONSE_IND_LENGTH, "MCID response indicators: 0x%x (MCID included if Bit1=1, Holding provided if Bit2=1 see 3.32/Q.763)", indicator);
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0,MCID_RESPONSE_IND_LENGTH,
+ "MCID response indicators: 0x%x (MCID included if Bit1=1, Holding provided if Bit2=1 see 3.32/Q.763)", indicator);
proto_item_set_text(parameter_item, "MCID response indicators: 0x%x", indicator);
}
/* ------------------------------------------------------------------
@@ -5500,9 +5603,15 @@ dissect_isup_transmission_medium_requirement_prime_parameter(tvbuff_t *parameter
guint8 transmission_medium_requirement;
transmission_medium_requirement = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_uint(parameter_tree, hf_isup_transmission_medium_requirement_prime, parameter_tvb, 0, TRANSMISSION_MEDIUM_RQMT_PRIME_LENGTH,transmission_medium_requirement);
+ proto_tree_add_uint(parameter_tree, hf_isup_transmission_medium_requirement_prime,
+ parameter_tvb, 0, TRANSMISSION_MEDIUM_RQMT_PRIME_LENGTH,transmission_medium_requirement);
- proto_item_set_text(parameter_item, "Transmission medium requirement prime: %u (%s)", transmission_medium_requirement, val_to_str_ext_const(transmission_medium_requirement, &isup_transmission_medium_requirement_prime_value_ext, "spare/reserved"));
+ proto_item_set_text(parameter_item,
+ "Transmission medium requirement prime: %u (%s)",
+ transmission_medium_requirement,
+ val_to_str_ext_const(transmission_medium_requirement,
+ &isup_transmission_medium_requirement_prime_value_ext,
+ "spare/reserved"));
}
/* ------------------------------------------------------------------
@@ -5513,12 +5622,12 @@ dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *para
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char calling_number[MAXDIGITS + 1]="";
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char calling_number[MAXDIGITS + 1] = "";
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -5527,7 +5636,8 @@ dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *para
proto_tree_add_boolean(parameter_tree, hf_isup_inn_indicator, parameter_tvb, 1, 1, indicators2);
proto_tree_add_uint(parameter_tree, hf_isup_numbering_plan_indicator, parameter_tvb, 1, 1, indicators2);
if ((indicators2 & GFE_8BIT_MASK) == 0x50)
- proto_tree_add_text(parameter_tree, parameter_tvb, 1, 1, "Different meaning for Location Number: Numbering plan indicator = private numbering plan");
+ proto_tree_add_text(parameter_tree, parameter_tvb, 1, 1,
+ "Different meaning for Location Number: Numbering plan indicator = private numbering plan");
proto_tree_add_uint(parameter_tree, hf_isup_address_presentation_restricted_indicator, parameter_tvb, 1, 1, indicators2);
proto_tree_add_uint(parameter_tree, hf_isup_screening_indicator, parameter_tvb, 1, 1, indicators2);
@@ -5552,12 +5662,14 @@ dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *para
length = tvb_length_remaining(parameter_tvb, offset);
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -5566,11 +5678,13 @@ dissect_isup_location_number_parameter(tvbuff_t *parameter_tvb, proto_tree *para
length = tvb_length_remaining(parameter_tvb, offset);
}
- if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
- calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
- if (i > MAXDIGITS)
- THROW(ReportedBoundsError);
+ if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) {
+ /* Even Indicator set -> last even digit is valid & has be displayed */
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
+ calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
+ if (i > MAXDIGITS)
+ THROW(ReportedBoundsError);
}
calling_number[i] = '\0';
@@ -5589,13 +5703,16 @@ dissect_isup_redirection_number_restriction_parameter(tvbuff_t *parameter_tvb, p
indicator = tvb_get_guint8(parameter_tvb, 0);
switch (indicator & BA_8BIT_MASK) {
case 0:
- proto_tree_add_text(parameter_tree, parameter_tvb, 0, REDIRECTION_NUMBER_RESTRICTION_LENGTH, "Presentation indicator: Presentation allowed");
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, REDIRECTION_NUMBER_RESTRICTION_LENGTH,
+ "Presentation indicator: Presentation allowed");
break;
case 1:
- proto_tree_add_text(parameter_tree, parameter_tvb, 0, REDIRECTION_NUMBER_RESTRICTION_LENGTH, "Presentation indicator: Presentation restricted");
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, REDIRECTION_NUMBER_RESTRICTION_LENGTH,
+ "Presentation indicator: Presentation restricted");
break;
default:
- proto_tree_add_text(parameter_tree, parameter_tvb, 0, REDIRECTION_NUMBER_RESTRICTION_LENGTH, "Presentation indicator: spare");
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, REDIRECTION_NUMBER_RESTRICTION_LENGTH,
+ "Presentation indicator: spare");
break;
}
proto_item_set_text(parameter_item, "Redirection number restriction: 0x%x ", indicator);
@@ -5626,7 +5743,8 @@ dissect_isup_loop_prevention_indicators_parameter(tvbuff_t *parameter_tvb, proto
}
else {
proto_tree_add_text(parameter_tree, parameter_tvb, 0, LOOP_PREVENTION_IND_LENGTH, "Type: Response");
- proto_tree_add_uint(parameter_tree, hf_isup_loop_prevention_response_ind, parameter_tvb, 0, LOOP_PREVENTION_IND_LENGTH, indicator);
+ proto_tree_add_uint(parameter_tree, hf_isup_loop_prevention_response_ind,
+ parameter_tvb, 0, LOOP_PREVENTION_IND_LENGTH, indicator);
proto_item_set_text(parameter_item, "Loop prevention indicators: Response (%u)", indicator);
}
}
@@ -5638,12 +5756,12 @@ dissect_isup_call_transfer_number_parameter(tvbuff_t *parameter_tvb, proto_tree
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char calling_number[MAXDIGITS + 1]="";
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char calling_number[MAXDIGITS + 1] = "";
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -5651,7 +5769,8 @@ dissect_isup_call_transfer_number_parameter(tvbuff_t *parameter_tvb, proto_tree
indicators2 = tvb_get_guint8(parameter_tvb, 1);
proto_tree_add_uint(parameter_tree, hf_isup_numbering_plan_indicator, parameter_tvb, 1, 1, indicators2);
if ((indicators2 & GFE_8BIT_MASK) == 0x50)
- proto_tree_add_text(parameter_tree, parameter_tvb, 1, 1, "Different meaning for Call Transfer Number: Numbering plan indicator = private numbering plan");
+ proto_tree_add_text(parameter_tree, parameter_tvb, 1, 1,
+ "Different meaning for Call Transfer Number: Numbering plan indicator = private numbering plan");
proto_tree_add_uint(parameter_tree, hf_isup_address_presentation_restricted_indicator, parameter_tvb, 1, 1, indicators2);
proto_tree_add_uint(parameter_tree, hf_isup_screening_indicator_enhanced, parameter_tvb, 1, 1, indicators2);
offset = 2;
@@ -5664,12 +5783,14 @@ dissect_isup_call_transfer_number_parameter(tvbuff_t *parameter_tvb, proto_tree
length = tvb_length_remaining(parameter_tvb, offset);
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -5734,7 +5855,8 @@ dissect_isup_backward_gvns_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
{ guint8 indicator;
indicator = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_text(parameter_tree, parameter_tvb, 0, BACKWARD_GVNS_LENGTH, "Backward GVNS: 0x%x (refer to 3.62/Q.763 for detailed decoding)", indicator);
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, BACKWARD_GVNS_LENGTH,
+ "Backward GVNS: 0x%x (refer to 3.62/Q.763 for detailed decoding)", indicator);
proto_item_set_text(parameter_item, "Backward GVNS: 0x%x", indicator);
}
/* ------------------------------------------------------------------
@@ -5745,7 +5867,8 @@ dissect_isup_network_management_controls_parameter(tvbuff_t *parameter_tvb, prot
{ guint8 indicator;
indicator = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_boolean(parameter_tree, hf_isup_temporary_alternative_routing_ind, parameter_tvb, 0,NETWORK_MANAGEMENT_CONTROLS_LENGTH, indicator);
+ proto_tree_add_boolean(parameter_tree, hf_isup_temporary_alternative_routing_ind,
+ parameter_tvb, 0, NETWORK_MANAGEMENT_CONTROLS_LENGTH, indicator);
proto_tree_add_boolean(parameter_tree, hf_isup_extension_ind, parameter_tvb, 0,NETWORK_MANAGEMENT_CONTROLS_LENGTH, indicator);
proto_item_set_text(parameter_item, "Network management controls: 0x%x", indicator);
}
@@ -5787,12 +5910,12 @@ dissect_isup_called_in_number_parameter(tvbuff_t *parameter_tvb, proto_tree *par
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char calling_number[MAXDIGITS + 1]="";
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char calling_number[MAXDIGITS + 1] = "";
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -5810,12 +5933,14 @@ dissect_isup_called_in_number_parameter(tvbuff_t *parameter_tvb, proto_tree *par
length = tvb_length_remaining(parameter_tvb, offset);
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -5854,7 +5979,8 @@ dissect_isup_call_offering_treatment_indicators_parameter(tvbuff_t *parameter_tv
static void
dissect_isup_charged_party_identification_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{ guint length = tvb_length(parameter_tvb);
- proto_tree_add_text(parameter_tree, parameter_tvb, 0, length, "Charged party identification (format is national network specific)");
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, length,
+ "Charged party identification (format is national network specific)");
proto_item_set_text(parameter_item, "Charged party identification (%u Byte%s)", length , plurality(length, "", "s"));
}
/* ------------------------------------------------------------------
@@ -5901,7 +6027,8 @@ dissect_isup_uid_action_indicators_parameter(tvbuff_t *parameter_tvb, proto_tree
{ guint8 indicator;
indicator = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_text(parameter_tree, parameter_tvb, 0,UID_ACTION_IND_LENGTH, "UID action indicators: 0x%x (refer to 3.78/Q.763 for detailed decoding)", indicator);
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, UID_ACTION_IND_LENGTH,
+ "UID action indicators: 0x%x (refer to 3.78/Q.763 for detailed decoding)", indicator);
proto_item_set_text(parameter_item, "UID action indicators: 0x%x", indicator);
}
/* ------------------------------------------------------------------
@@ -5912,7 +6039,8 @@ dissect_isup_uid_capability_indicators_parameter(tvbuff_t *parameter_tvb, proto_
{ guint8 indicator;
indicator = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_text(parameter_tree, parameter_tvb, 0,UID_CAPABILITY_IND_LENGTH, "UID capability indicators: 0x%x (refer to 3.79/Q.763 for detailed decoding)", indicator);
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, UID_CAPABILITY_IND_LENGTH,
+ "UID capability indicators: 0x%x (refer to 3.79/Q.763 for detailed decoding)", indicator);
proto_item_set_text(parameter_item, "UID capability indicators: 0x%x", indicator);
}
/* ------------------------------------------------------------------
@@ -5947,8 +6075,8 @@ dissect_isup_collect_call_request_parameter(tvbuff_t *parameter_tvb, proto_tree
static void
dissect_isup_calling_geodetic_location_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
- guint length = tvb_length(parameter_tvb);
- guint8 oct, lpri;
+ guint length = tvb_length(parameter_tvb);
+ guint8 oct, lpri;
oct = tvb_get_guint8(parameter_tvb, 0);
lpri = (oct & 0xc0) >> 2;
@@ -5989,15 +6117,16 @@ dissect_isup_generic_number_parameter(tvbuff_t *parameter_tvb, proto_tree *param
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1, indicators2, nr_qualifier_ind;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char calling_number[MAXDIGITS + 1]="";
+ guint8 indicators1, indicators2, nr_qualifier_ind;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char calling_number[MAXDIGITS + 1] = "";
nr_qualifier_ind = tvb_get_guint8(parameter_tvb, 0);
- proto_tree_add_text(parameter_tree, parameter_tvb, 0, 1, "Number qualifier indicator: 0x%x (refer to 3.26/Q.763 for detailed decoding)", nr_qualifier_ind);
+ proto_tree_add_text(parameter_tree, parameter_tvb, 0, 1,
+ "Number qualifier indicator: 0x%x (refer to 3.26/Q.763 for detailed decoding)", nr_qualifier_ind);
indicators1 = tvb_get_guint8(parameter_tvb, 1);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 1, 1, indicators1);
proto_tree_add_uint(parameter_tree, hf_isup_calling_party_nature_of_address_indicator, parameter_tvb, 0, 1, indicators1);
@@ -6005,7 +6134,8 @@ dissect_isup_generic_number_parameter(tvbuff_t *parameter_tvb, proto_tree *param
proto_tree_add_boolean(parameter_tree, hf_isup_ni_indicator, parameter_tvb, 2, 1, indicators2);
proto_tree_add_uint(parameter_tree, hf_isup_numbering_plan_indicator, parameter_tvb, 2, 1, indicators2);
if ((indicators2 & GFE_8BIT_MASK) == 0x50)
- proto_tree_add_text(parameter_tree, parameter_tvb, 2, 1, "Different meaning for Generic Number: Numbering plan indicator = private numbering plan");
+ proto_tree_add_text(parameter_tree, parameter_tvb, 2, 1,
+ "Different meaning for Generic Number: Numbering plan indicator = private numbering plan");
proto_tree_add_uint(parameter_tree, hf_isup_address_presentation_restricted_indicator, parameter_tvb, 2, 1, indicators2);
proto_tree_add_uint(parameter_tree, hf_isup_screening_indicator_enhanced, parameter_tvb, 2, 1, indicators2);
offset = 3;
@@ -6023,12 +6153,14 @@ dissect_isup_generic_number_parameter(tvbuff_t *parameter_tvb, proto_tree *param
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -6037,11 +6169,13 @@ dissect_isup_generic_number_parameter(tvbuff_t *parameter_tvb, proto_tree *param
length = tvb_length_remaining(parameter_tvb, offset);
}
- if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
- calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
- if (i > MAXDIGITS)
- THROW(ReportedBoundsError);
+ if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) {
+ /* Even Indicator set -> last even digit is valid & has be displayed */
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
+ calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
+ if (i > MAXDIGITS)
+ THROW(ReportedBoundsError);
}
calling_number[i] = '\0';
@@ -6066,11 +6200,11 @@ dissect_isup_jurisdiction_parameter(tvbuff_t *parameter_tvb, proto_tree *paramet
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char called_number[MAXDIGITS + 1]="";
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char called_number[MAXDIGITS + 1] = "";
offset = 0;
@@ -6081,12 +6215,14 @@ dissect_isup_jurisdiction_parameter(tvbuff_t *parameter_tvb, proto_tree *paramet
while((length = tvb_reported_length_remaining(parameter_tvb, offset)) > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
called_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -6095,7 +6231,8 @@ dissect_isup_jurisdiction_parameter(tvbuff_t *parameter_tvb, proto_tree *paramet
}
if (tvb_length(parameter_tvb) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_called_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
called_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -6111,11 +6248,11 @@ dissect_isup_jurisdiction_parameter(tvbuff_t *parameter_tvb, proto_tree *paramet
static void
dissect_isup_generic_name_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
{
- guint8 indicator;
- gint gen_name_length;
- char *gen_name=NULL;
+ guint8 indicator;
+ gint gen_name_length;
+ char *gen_name = NULL;
- gen_name=ep_alloc(MAXGNAME + 1);
+ gen_name = ep_alloc(MAXGNAME + 1);
gen_name[0] = '\0';
gen_name_length = tvb_length(parameter_tvb) - 1;
indicator = tvb_get_guint8(parameter_tvb, 0);
@@ -6147,12 +6284,12 @@ dissect_isup_charge_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
{
proto_item *address_digits_item;
proto_tree *address_digits_tree;
- guint8 indicators1, indicators2;
- guint8 address_digit_pair=0;
- gint offset=0;
- gint i=0;
- gint length;
- char calling_number[MAXDIGITS + 1]="";
+ guint8 indicators1, indicators2;
+ guint8 address_digit_pair = 0;
+ gint offset = 0;
+ gint i = 0;
+ gint length;
+ char calling_number[MAXDIGITS + 1] = "";
indicators1 = tvb_get_guint8(parameter_tvb, 0);
proto_tree_add_boolean(parameter_tree, hf_isup_odd_even_indicator, parameter_tvb, 0, 1, indicators1);
@@ -6169,12 +6306,14 @@ dissect_isup_charge_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
length = tvb_length_remaining(parameter_tvb, offset);
while(length > 0) {
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_odd_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
if ((length - 1) > 0) {
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -6184,7 +6323,8 @@ dissect_isup_charge_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parame
}
if (((indicators1 & 0x80) == 0) && (tvb_length(parameter_tvb) > 0)) { /* Even Indicator set -> last even digit is valid & has be displayed */
- proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit, parameter_tvb, offset - 1, 1, address_digit_pair);
+ proto_tree_add_uint(address_digits_tree, hf_isup_calling_party_even_address_signal_digit,
+ parameter_tvb, offset - 1, 1, address_digit_pair);
calling_number[i++] = number_to_char((address_digit_pair & ISUP_EVEN_ADDRESS_SIGNAL_DIGIT_MASK) / 0x10);
if (i > MAXDIGITS)
THROW(ReportedBoundsError);
@@ -6208,12 +6348,12 @@ dissect_isup_unknown_parameter(tvbuff_t *parameter_tvb, proto_item *parameter_it
*/
static void
dissect_isup_optional_parameter(tvbuff_t *optional_parameters_tvb,packet_info *pinfo, proto_tree *isup_tree, guint8 itu_isup_variant)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- gint offset = 0;
- guint parameter_type, parameter_length, actual_length;
- tvbuff_t *parameter_tvb;
- guint8 octet;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ gint offset = 0;
+ guint parameter_type, parameter_length, actual_length;
+ tvbuff_t *parameter_tvb;
+ guint8 octet;
/* Dissect all optional parameters while end of message isn't reached */
parameter_type = 0xFF; /* Start-initializiation since parameter_type is used for while-condition */
@@ -6239,7 +6379,8 @@ dissect_isup_optional_parameter(tvbuff_t *optional_parameters_tvb,packet_info *p
octet = tvb_get_guint8(optional_parameters_tvb,offset);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, optional_parameters_tvb, offset, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, optional_parameters_tvb, offset,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
offset += PARAMETER_LENGTH_IND_LENGTH;
if (octet == 0)
continue;
@@ -6516,12 +6657,12 @@ dissect_isup_optional_parameter(tvbuff_t *optional_parameters_tvb,packet_info *p
*/
static void
dissect_ansi_isup_optional_parameter(tvbuff_t *optional_parameters_tvb,packet_info *pinfo, proto_tree *isup_tree, guint8 itu_isup_variant)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- gint offset = 0;
- guint parameter_type, parameter_length, actual_length;
- tvbuff_t *parameter_tvb;
- guint8 octet;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ gint offset = 0;
+ guint parameter_type, parameter_length, actual_length;
+ tvbuff_t *parameter_tvb;
+ guint8 octet;
/* Dissect all optional parameters while end of message isn't reached */
parameter_type = 0xFF; /* Start-initializiation since parameter_type is used for while-condition */
@@ -6538,14 +6679,16 @@ dissect_ansi_isup_optional_parameter(tvbuff_t *optional_parameters_tvb,packet_in
"Parameter: type %u",
parameter_type);
parameter_tree = proto_item_add_subtree(parameter_item, ett_isup_parameter);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_type, optional_parameters_tvb, offset, PARAMETER_TYPE_LENGTH, parameter_type,
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_type, optional_parameters_tvb, offset,
+ PARAMETER_TYPE_LENGTH, parameter_type,
"Optional Parameter: %u (%s)", parameter_type,
val_to_str_ext_const(parameter_type, &ansi_isup_parameter_type_value_ext,"unknown"));
offset += PARAMETER_TYPE_LENGTH;
octet = tvb_get_guint8(optional_parameters_tvb,offset);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, optional_parameters_tvb, offset, PARAMETER_LENGTH_IND_LENGTH, parameter_length,
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, optional_parameters_tvb, offset,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length,
"Parameter length: %u", parameter_length);
offset += PARAMETER_LENGTH_IND_LENGTH;
if (octet == 0)
@@ -6826,7 +6969,8 @@ dissect_ansi_isup_optional_parameter(tvbuff_t *optional_parameters_tvb,packet_in
}
else {
/* End of optional parameters is reached */
- proto_tree_add_uint_format(isup_tree, hf_isup_parameter_type, optional_parameters_tvb , offset, PARAMETER_TYPE_LENGTH, parameter_type, "End of optional parameters (%u)", parameter_type);
+ proto_tree_add_uint_format(isup_tree, hf_isup_parameter_type, optional_parameters_tvb , offset,
+ PARAMETER_TYPE_LENGTH, parameter_type, "End of optional parameters (%u)", parameter_type);
}
}
}
@@ -6841,11 +6985,11 @@ dissect_ansi_isup_optional_parameter(tvbuff_t *optional_parameters_tvb,packet_in
static gint
dissect_ansi_isup_circuit_validation_test_resp_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
{
- proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type,actual_length;
+ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type,actual_length;
/* Do stuff for first mandatory fixed parameter: CVR Repsonse Indicator */
parameter_type = ANSI_ISUP_PARAM_TYPE_CVR_RESP_IND;
@@ -6885,11 +7029,11 @@ dissect_ansi_isup_circuit_validation_test_resp_message(tvbuff_t *message_tvb, pr
*/
static gint
dissect_ansi_isup_circuit_reservation_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, actual_length;
/* Do stuff for mandatory fixed parameter: Nature of Connection Indicators */
parameter_type = PARAM_TYPE_NATURE_OF_CONN_IND;
@@ -6913,11 +7057,11 @@ dissect_ansi_isup_circuit_reservation_message(tvbuff_t *message_tvb, proto_tree
*/
static gint
dissect_isup_initial_address_message(tvbuff_t *message_tvb, proto_tree *isup_tree, guint8 itu_isup_variant)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for first mandatory fixed parameter: Nature of Connection Indicators */
parameter_type = PARAM_TYPE_NATURE_OF_CONN_IND;
@@ -6977,7 +7121,10 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, proto_tree *isup_tre
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset, MIN(TRANSMISSION_MEDIUM_REQUIREMENT_LENGTH, actual_length), TRANSMISSION_MEDIUM_REQUIREMENT_LENGTH);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset,
+ MIN(TRANSMISSION_MEDIUM_REQUIREMENT_LENGTH, actual_length),
+ TRANSMISSION_MEDIUM_REQUIREMENT_LENGTH);
dissect_isup_transmission_medium_requirement_parameter(parameter_tvb, parameter_tree, parameter_item);
offset += TRANSMISSION_MEDIUM_REQUIREMENT_LENGTH;
break;
@@ -6985,20 +7132,25 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, proto_tree *isup_tre
/* If ANSI, do stuff for the first mandatory variable parameter, USER_SERVICE_INFORMATION */
parameter_type = PARAM_TYPE_USER_SERVICE_INFO;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
- parameter_item = proto_tree_add_text(isup_tree, message_tvb,
- offset + parameter_pointer,
- parameter_length + PARAMETER_LENGTH_IND_LENGTH,
- "User Service Information");
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_item = proto_tree_add_text(isup_tree, message_tvb,
+ offset + parameter_pointer,
+ parameter_length + PARAMETER_LENGTH_IND_LENGTH,
+ "User Service Information");
parameter_tree = proto_item_add_subtree(parameter_item, ett_isup_parameter);
proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_type, message_tvb, 0, 0, parameter_type,
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
dissect_isup_user_service_information_parameter(parameter_tvb, parameter_tree, parameter_item);
offset += PARAMETER_POINTER_LENGTH;
break;
@@ -7007,7 +7159,7 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, proto_tree *isup_tre
/* Do stuff for mandatory variable parameter Called party number */
parameter_type = PARAM_TYPE_CALLED_PARTY_NR;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7018,10 +7170,15 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, proto_tree *isup_tre
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
dissect_isup_called_party_number_parameter(parameter_tvb, parameter_tree, parameter_item);
offset += PARAMETER_POINTER_LENGTH;
@@ -7031,17 +7188,17 @@ dissect_isup_initial_address_message(tvbuff_t *message_tvb, proto_tree *isup_tre
Dissector Message Type subsequent address message
*/
static gint dissect_isup_subsequent_address_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for mandatory variable parameter Subsequent number */
parameter_type = PARAM_TYPE_SUBSQT_NR;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7052,10 +7209,15 @@ static gint dissect_isup_subsequent_address_message(tvbuff_t *message_tvb, proto
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
dissect_isup_subsequent_number_parameter(parameter_tvb, parameter_tree, parameter_item);
offset += PARAMETER_POINTER_LENGTH;
@@ -7067,11 +7229,11 @@ static gint dissect_isup_subsequent_address_message(tvbuff_t *message_tvb, proto
*/
static gint
dissect_isup_information_request_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, actual_length;
/* Do stuff for first mandatory fixed parameter: Information request indicators*/
parameter_type = PARAM_TYPE_INFO_REQ_IND;
@@ -7094,11 +7256,11 @@ dissect_isup_information_request_message(tvbuff_t *message_tvb, proto_tree *isup
*/
static gint
dissect_isup_information_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, actual_length;
/* Do stuff for first mandatory fixed parameter: Information indicators*/
parameter_type = PARAM_TYPE_INFO_IND;
@@ -7121,11 +7283,11 @@ dissect_isup_information_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
*/
static gint
dissect_isup_continuity_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, actual_length;
/* Do stuff for first mandatory fixed parameter: Continuity indicators*/
parameter_type = PARAM_TYPE_CONTINUITY_IND;
@@ -7148,11 +7310,11 @@ dissect_isup_continuity_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
*/
static gint
dissect_isup_address_complete_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, actual_length;
/* Do stuff for first mandatory fixed parameter: backward call indicators*/
parameter_type = PARAM_TYPE_BACKW_CALL_IND;
@@ -7175,11 +7337,11 @@ dissect_isup_address_complete_message(tvbuff_t *message_tvb, proto_tree *isup_tr
*/
static gint
dissect_isup_connect_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, actual_length;
/* Do stuff for first mandatory fixed parameter: backward call indicators*/
parameter_type = PARAM_TYPE_BACKW_CALL_IND;
@@ -7202,17 +7364,17 @@ dissect_isup_connect_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
*/
static gint
dissect_isup_release_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for mandatory variable parameter Cause indicators */
parameter_type = PARAM_TYPE_CAUSE_INDICATORS;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7223,10 +7385,15 @@ dissect_isup_release_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
switch (isup_standard) {
case ITU_STANDARD:
dissect_isup_cause_indicators_parameter(parameter_tvb, parameter_tree, parameter_item);
@@ -7244,11 +7411,11 @@ dissect_isup_release_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
*/
static gint
dissect_isup_suspend_resume_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, actual_length;
/* Do stuff for first mandatory fixed parameter: backward call indicators*/
parameter_type = PARAM_TYPE_SUSP_RESUME_IND;
@@ -7271,17 +7438,17 @@ dissect_isup_suspend_resume_message(tvbuff_t *message_tvb, proto_tree *isup_tree
*/
static gint
dissect_isup_circuit_group_reset_query_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for mandatory variable parameter range and status*/
parameter_type = PARAM_TYPE_RANGE_AND_STATUS;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7292,10 +7459,15 @@ dissect_isup_circuit_group_reset_query_message(tvbuff_t *message_tvb, proto_tree
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
dissect_isup_range_and_status_parameter(parameter_tvb, parameter_tree, parameter_item);
offset += PARAMETER_POINTER_LENGTH;
@@ -7306,11 +7478,11 @@ dissect_isup_circuit_group_reset_query_message(tvbuff_t *message_tvb, proto_tree
*/
static gint
dissect_isup_circuit_group_blocking_messages(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for first mandatory fixed parameter: circuit group supervision message type*/
parameter_type = PARAM_TYPE_CIRC_GRP_SV_MSG_TYPE;
@@ -7331,7 +7503,7 @@ dissect_isup_circuit_group_blocking_messages(tvbuff_t *message_tvb, proto_tree *
parameter_type = PARAM_TYPE_RANGE_AND_STATUS;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7342,10 +7514,15 @@ dissect_isup_circuit_group_blocking_messages(tvbuff_t *message_tvb, proto_tree *
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
dissect_isup_range_and_status_parameter(parameter_tvb, parameter_tree, parameter_item);
offset += PARAMETER_POINTER_LENGTH;
@@ -7357,11 +7534,11 @@ dissect_isup_circuit_group_blocking_messages(tvbuff_t *message_tvb, proto_tree *
*/
static gint
dissect_isup_facility_request_accepted_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, actual_length;
/* Do stuff for first mandatory fixed parameter: facility indicators*/
parameter_type = PARAM_TYPE_FACILITY_IND;
@@ -7384,11 +7561,11 @@ dissect_isup_facility_request_accepted_message(tvbuff_t *message_tvb, proto_tree
*/
static gint
dissect_isup_facility_reject_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for first mandatory fixed parameter: facility indicators*/
parameter_type = PARAM_TYPE_FACILITY_IND;
@@ -7409,7 +7586,7 @@ dissect_isup_facility_reject_message(tvbuff_t *message_tvb, proto_tree *isup_tre
parameter_type = PARAM_TYPE_CAUSE_INDICATORS;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7420,10 +7597,15 @@ dissect_isup_facility_reject_message(tvbuff_t *message_tvb, proto_tree *isup_tre
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb,
+ offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
switch (isup_standard) {
case ITU_STANDARD:
dissect_isup_cause_indicators_parameter(parameter_tvb, parameter_tree, parameter_item);
@@ -7441,17 +7623,17 @@ dissect_isup_facility_reject_message(tvbuff_t *message_tvb, proto_tree *isup_tre
*/
static gint
dissect_isup_circuit_group_reset_acknowledgement_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for mandatory variable parameter range and status*/
parameter_type = PARAM_TYPE_RANGE_AND_STATUS;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7462,10 +7644,15 @@ dissect_isup_circuit_group_reset_acknowledgement_message(tvbuff_t *message_tvb,
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
dissect_isup_range_and_status_parameter(parameter_tvb, parameter_tree, parameter_item);
offset += PARAMETER_POINTER_LENGTH;
@@ -7476,17 +7663,17 @@ dissect_isup_circuit_group_reset_acknowledgement_message(tvbuff_t *message_tvb,
*/
static gint
dissect_isup_circuit_group_query_response_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for 1. mandatory variable parameter range and status*/
parameter_type = PARAM_TYPE_RANGE_AND_STATUS;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7497,10 +7684,15 @@ dissect_isup_circuit_group_query_response_message(tvbuff_t *message_tvb, proto_t
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
dissect_isup_range_and_status_parameter(parameter_tvb, parameter_tree, parameter_item);
offset += PARAMETER_POINTER_LENGTH;
@@ -7508,7 +7700,7 @@ dissect_isup_circuit_group_query_response_message(tvbuff_t *message_tvb, proto_t
parameter_type = PARAM_TYPE_CIRC_STATE_IND;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7519,10 +7711,15 @@ dissect_isup_circuit_group_query_response_message(tvbuff_t *message_tvb, proto_t
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
dissect_isup_circuit_state_ind_parameter(parameter_tvb, parameter_tree, parameter_item);
offset += PARAMETER_POINTER_LENGTH;
@@ -7533,11 +7730,11 @@ dissect_isup_circuit_group_query_response_message(tvbuff_t *message_tvb, proto_t
*/
static gint
dissect_isup_call_progress_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, actual_length;
/* Do stuff for first mandatory fixed parameter: Event information*/
parameter_type = PARAM_TYPE_EVENT_INFO;
@@ -7560,17 +7757,17 @@ dissect_isup_call_progress_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
*/
static gint
dissect_isup_user_to_user_information_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for mandatory variable parameter User-to-user information*/
parameter_type = PARAM_TYPE_USER_TO_USER_INFO;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7581,10 +7778,15 @@ dissect_isup_user_to_user_information_message(tvbuff_t *message_tvb, packet_info
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer,
+ PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
dissect_isup_user_to_user_information_parameter(parameter_tvb, pinfo, parameter_tree, parameter_item);
offset += PARAMETER_POINTER_LENGTH;
@@ -7595,17 +7797,17 @@ dissect_isup_user_to_user_information_message(tvbuff_t *message_tvb, packet_info
*/
static gint
dissect_isup_confusion_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
-{ proto_item* parameter_item;
- proto_tree* parameter_tree;
- tvbuff_t *parameter_tvb;
- gint offset = 0;
- gint parameter_type, parameter_pointer, parameter_length, actual_length;
+{ proto_item *parameter_item;
+ proto_tree *parameter_tree;
+ tvbuff_t *parameter_tvb;
+ gint offset = 0;
+ gint parameter_type, parameter_pointer, parameter_length, actual_length;
/* Do stuff for mandatory variable parameter Cause indicators */
parameter_type = PARAM_TYPE_CAUSE_INDICATORS;
parameter_pointer = tvb_get_guint8(message_tvb, offset);
- parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
+ parameter_length = tvb_get_guint8(message_tvb, offset + parameter_pointer);
parameter_item = proto_tree_add_text(isup_tree, message_tvb,
offset + parameter_pointer,
@@ -7616,10 +7818,16 @@ dissect_isup_confusion_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
"Mandatory Parameter: %u (%s)",
parameter_type,
val_to_str_ext_const(parameter_type, &isup_parameter_type_value_ext, "unknown"));
- proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset, PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
- proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length, message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH, parameter_length, "Parameter length: %u", parameter_length);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_mandatory_variable_parameter_pointer, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, parameter_pointer, "Pointer to Parameter: %u", parameter_pointer);
+ proto_tree_add_uint_format(parameter_tree, hf_isup_parameter_length,
+ message_tvb, offset + parameter_pointer, PARAMETER_LENGTH_IND_LENGTH,
+ parameter_length, "Parameter length: %u", parameter_length);
actual_length = tvb_ensure_length_remaining(message_tvb, offset);
- parameter_tvb = tvb_new_subset(message_tvb, offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH, MIN(parameter_length, actual_length), parameter_length);
+ parameter_tvb = tvb_new_subset(message_tvb,
+ offset + parameter_pointer + PARAMETER_LENGTH_IND_LENGTH,
+ MIN(parameter_length, actual_length),
+ parameter_length);
switch (isup_standard) {
case ITU_STANDARD:
@@ -7638,14 +7846,14 @@ dissect_isup_confusion_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
static int
dissect_french_isup_charging_pulse_message(tvbuff_t *message_tvb, proto_tree *isup_tree)
{
- gint offset = 0;
+ gint offset = 0;
- proto_tree_add_item(isup_tree, hf_isup_french_coll_field, message_tvb, offset, 1, ENC_BIG_ENDIAN);
- offset++;
- proto_tree_add_item(isup_tree, hf_isup_french_msg_num, message_tvb, offset, 1, ENC_BIG_ENDIAN);
- offset++;
+ proto_tree_add_item(isup_tree, hf_isup_french_coll_field, message_tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
+ proto_tree_add_item(isup_tree, hf_isup_french_msg_num, message_tvb, offset, 1, ENC_BIG_ENDIAN);
+ offset++;
- return offset;
+ return offset;
}
static const value_string israeli_cmi_current_rate[] = {
@@ -7755,16 +7963,16 @@ dissect_ansi_isup_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree
{
isup_tap_rec_t *tap_rec;
- tvbuff_t *parameter_tvb;
- tvbuff_t *optional_parameter_tvb;
- proto_item* pass_along_item;
- proto_tree* pass_along_tree;
- gint offset, bufferlength;
- guint8 message_type, opt_parameter_pointer;
- gint opt_part_possible = FALSE; /* default setting - for message types allowing optional
- params explicitely set to TRUE in case statement */
- tap_calling_number = NULL;
- offset = 0;
+ tvbuff_t *parameter_tvb;
+ tvbuff_t *optional_parameter_tvb;
+ proto_item *pass_along_item;
+ proto_tree *pass_along_tree;
+ gint offset, bufferlength;
+ guint8 message_type, opt_parameter_pointer;
+ gint opt_part_possible = FALSE; /* default setting - for message types allowing optional
+ params explicitely set to TRUE in case statement */
+ tap_calling_number = NULL;
+ offset = 0;
/* Extract message type field */
message_type = tvb_get_guint8(message_tvb,0);
@@ -7989,7 +8197,8 @@ dissect_ansi_isup_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree
default:
bufferlength = tvb_length_remaining(message_tvb, offset);
if (bufferlength != 0)
- proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Unknown Message type (possibly reserved/used in former ISUP version)");
+ proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength,
+ "Unknown Message type (possibly reserved/used in former ISUP version)");
break;
}
@@ -7997,21 +8206,25 @@ dissect_ansi_isup_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree
if (opt_part_possible == TRUE) {
opt_parameter_pointer = tvb_get_guint8(message_tvb, offset);
if (opt_parameter_pointer > 0) {
- proto_tree_add_uint_format(isup_tree, hf_isup_pointer_to_start_of_optional_part, message_tvb, offset, PARAMETER_POINTER_LENGTH, opt_parameter_pointer, "Pointer to start of optional part: %u", opt_parameter_pointer);
+ proto_tree_add_uint_format(isup_tree, hf_isup_pointer_to_start_of_optional_part, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, opt_parameter_pointer,
+ "Pointer to start of optional part: %u", opt_parameter_pointer);
offset += opt_parameter_pointer;
optional_parameter_tvb = tvb_new_subset_remaining(message_tvb, offset);
dissect_ansi_isup_optional_parameter(optional_parameter_tvb, pinfo, isup_tree, itu_isup_variant);
}
else
- proto_tree_add_uint_format(isup_tree, hf_isup_pointer_to_start_of_optional_part, message_tvb, offset, PARAMETER_POINTER_LENGTH, opt_parameter_pointer, "No optional parameter present (Pointer: %u)", opt_parameter_pointer);
+ proto_tree_add_uint_format(isup_tree, hf_isup_pointer_to_start_of_optional_part, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, opt_parameter_pointer,
+ "No optional parameter present (Pointer: %u)", opt_parameter_pointer);
}
else if (message_type !=MESSAGE_TYPE_CHARGE_INFO)
proto_tree_add_text(isup_tree, message_tvb, 0, 0, "No optional parameters are possible with this message type");
- /* if there are calling/called number, we'll get them for the tap */
- tap_rec->calling_number=tap_calling_number?tap_calling_number:ep_strdup("");
- tap_rec->called_number=tap_called_number;
- tap_rec->cause_value=tap_cause_value;
+ /* if there are calling/called number, we'll get them for the tap */
+ tap_rec->calling_number = tap_calling_number ? tap_calling_number : ep_strdup("");
+ tap_rec->called_number = tap_called_number;
+ tap_rec->cause_value = tap_cause_value;
tap_queue_packet(isup_tap, pinfo, tap_rec);
}
@@ -8020,40 +8233,40 @@ dissect_isup_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *isup
{
isup_tap_rec_t *tap_rec;
- tvbuff_t *parameter_tvb;
- tvbuff_t *optional_parameter_tvb;
- proto_item* pass_along_item;
- proto_tree* pass_along_tree;
- gint offset, bufferlength;
- guint8 message_type, opt_parameter_pointer;
- gint opt_part_possible = FALSE; /* default setting - for message types allowing optional
- params explicitely set to TRUE in case statement */
- tap_calling_number = NULL;
- offset = 0;
+ tvbuff_t *parameter_tvb;
+ tvbuff_t *optional_parameter_tvb;
+ proto_item *pass_along_item;
+ proto_tree *pass_along_tree;
+ gint offset, bufferlength;
+ guint8 message_type, opt_parameter_pointer;
+ gint opt_part_possible = FALSE; /* default setting - for message types allowing optional
+ params explicitly set to TRUE in case statement */
+ tap_calling_number = NULL;
+ offset = 0;
/* Extract message type field */
message_type = tvb_get_guint8(message_tvb,0);
switch(itu_isup_variant) {
- case ISUP_ITU_STANDARD_VARIANT:
+ case ISUP_ITU_STANDARD_VARIANT:
proto_tree_add_uint_format(isup_tree, hf_isup_message_type, message_tvb, 0, MESSAGE_TYPE_LENGTH, message_type,
"Message type: %s (%u)",
val_to_str_ext_const(message_type, &isup_message_type_value_ext, "reserved"),
message_type);
break;
- case ISUP_FRENCH_VARIANT:
+ case ISUP_FRENCH_VARIANT:
proto_tree_add_uint_format(isup_tree, hf_isup_message_type, message_tvb, 0, MESSAGE_TYPE_LENGTH, message_type,
"Message type: %s (%u)",
val_to_str_ext_const(message_type, &french_isup_message_type_value_ext, "reserved"),
message_type);
break;
- case ISUP_ISRAELI_VARIANT:
+ case ISUP_ISRAELI_VARIANT:
proto_tree_add_uint_format(isup_tree, hf_isup_message_type, message_tvb, 0, MESSAGE_TYPE_LENGTH, message_type,
"Message type: %s (%u)",
val_to_str_ext_const(message_type, &israeli_isup_message_type_value_ext, "reserved"),
message_type);
break;
- case ISUP_RUSSIAN_VARIANT:
+ case ISUP_RUSSIAN_VARIANT:
proto_tree_add_uint_format(isup_tree, hf_isup_message_type, message_tvb, 0, MESSAGE_TYPE_LENGTH, message_type,
"Message type: %s (%u)",
val_to_str_ext_const(message_type, &russian_isup_message_type_value_ext, "reserved"),
@@ -8064,295 +8277,303 @@ dissect_isup_message(tvbuff_t *message_tvb, packet_info *pinfo, proto_tree *isup
offset += MESSAGE_TYPE_LENGTH;
tap_rec = (isup_tap_rec_t *)ep_alloc(sizeof(isup_tap_rec_t));
- tap_rec->message_type = message_type;
+ tap_rec->message_type = message_type;
tap_rec->calling_number = NULL;
- tap_rec->called_number = NULL;
+ tap_rec->called_number = NULL;
parameter_tvb = tvb_new_subset_remaining(message_tvb, offset);
/* distinguish between message types:*/
switch (message_type) {
case MESSAGE_TYPE_INITIAL_ADDR:
- offset += dissect_isup_initial_address_message(parameter_tvb, isup_tree, itu_isup_variant);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_initial_address_message(parameter_tvb, isup_tree, itu_isup_variant);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_SUBSEQ_ADDR:
- offset += dissect_isup_subsequent_address_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_subsequent_address_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_INFO_REQ:
- offset += dissect_isup_information_request_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_information_request_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_INFO:
- offset += dissect_isup_information_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_information_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_CONTINUITY:
- offset += dissect_isup_continuity_message(parameter_tvb, isup_tree);
- break;
+ offset += dissect_isup_continuity_message(parameter_tvb, isup_tree);
+ break;
case MESSAGE_TYPE_ADDR_CMPL:
- offset += dissect_isup_address_complete_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_address_complete_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_CONNECT:
- offset += dissect_isup_connect_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_connect_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_FORW_TRANS:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_ANSWER:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_RELEASE:
- offset += dissect_isup_release_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_release_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_SUSPEND:
- offset += dissect_isup_suspend_resume_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_suspend_resume_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_RESUME:
- offset += dissect_isup_suspend_resume_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_suspend_resume_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_REL_CMPL:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_CONT_CHECK_REQ:
- /* no dissector necessary since no mandatory parameters included */
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ break;
case MESSAGE_TYPE_RESET_CIRCUIT:
- /* no dissector necessary since no mandatory parameters included */
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ break;
case MESSAGE_TYPE_BLOCKING:
- /* no dissector necessary since no mandatory parameters included */
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ break;
case MESSAGE_TYPE_UNBLOCKING:
- /* no dissector necessary since no mandatory parameters included */
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ break;
case MESSAGE_TYPE_BLOCK_ACK:
- /* no dissector necessary since no mandatory parameters included */
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ break;
case MESSAGE_TYPE_UNBLOCK_ACK:
- /* no dissector necessary since no mandatory parameters included */
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ break;
case MESSAGE_TYPE_CIRC_GRP_RST:
- offset += dissect_isup_circuit_group_reset_query_message(parameter_tvb, isup_tree);
- break;
+ offset += dissect_isup_circuit_group_reset_query_message(parameter_tvb, isup_tree);
+ break;
case MESSAGE_TYPE_CIRC_GRP_BLCK:
- offset += dissect_isup_circuit_group_blocking_messages(parameter_tvb, isup_tree);
- break;
+ offset += dissect_isup_circuit_group_blocking_messages(parameter_tvb, isup_tree);
+ break;
case MESSAGE_TYPE_CIRC_GRP_UNBL:
- offset += dissect_isup_circuit_group_blocking_messages(parameter_tvb, isup_tree);
- break;
+ offset += dissect_isup_circuit_group_blocking_messages(parameter_tvb, isup_tree);
+ break;
case MESSAGE_TYPE_CIRC_GRP_BL_ACK:
- offset += dissect_isup_circuit_group_blocking_messages(parameter_tvb, isup_tree);
- break;
+ offset += dissect_isup_circuit_group_blocking_messages(parameter_tvb, isup_tree);
+ break;
case MESSAGE_TYPE_CIRC_GRP_UNBL_ACK:
- offset += dissect_isup_circuit_group_blocking_messages(parameter_tvb, isup_tree);
- break;
+ offset += dissect_isup_circuit_group_blocking_messages(parameter_tvb, isup_tree);
+ break;
case MESSAGE_TYPE_FACILITY_REQ:
- offset += dissect_isup_facility_request_accepted_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_facility_request_accepted_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_FACILITY_ACC:
- offset += dissect_isup_facility_request_accepted_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_facility_request_accepted_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_FACILITY_REJ:
- offset += dissect_isup_facility_reject_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_facility_reject_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_LOOP_BACK_ACK:
- /* no dissector necessary since no mandatory parameters included */
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ break;
case MESSAGE_TYPE_PASS_ALONG:
- /* call dissect_isup_message recursively */
- {
- guint8 pa_message_type;
- pa_message_type = tvb_get_guint8(parameter_tvb, 0);
- pass_along_item = proto_tree_add_text(isup_tree, parameter_tvb, offset, -1,
- "Pass-along: %s Message (%u)",
- val_to_str_ext_const(pa_message_type, &isup_message_type_value_acro_ext, "reserved"),
- pa_message_type);
- pass_along_tree = proto_item_add_subtree(pass_along_item, ett_isup_pass_along_message);
- dissect_isup_message(parameter_tvb, pinfo, pass_along_tree, itu_isup_variant);
- break;
- }
+ /* call dissect_isup_message recursively */
+ {
+ guint8 pa_message_type;
+ pa_message_type = tvb_get_guint8(parameter_tvb, 0);
+ pass_along_item = proto_tree_add_text(isup_tree, parameter_tvb, offset, -1,
+ "Pass-along: %s Message (%u)",
+ val_to_str_ext_const(pa_message_type, &isup_message_type_value_acro_ext, "reserved"),
+ pa_message_type);
+ pass_along_tree = proto_item_add_subtree(pass_along_item, ett_isup_pass_along_message);
+ dissect_isup_message(parameter_tvb, pinfo, pass_along_tree, itu_isup_variant);
+ break;
+ }
case MESSAGE_TYPE_CIRC_GRP_RST_ACK:
- offset += dissect_isup_circuit_group_reset_acknowledgement_message(parameter_tvb, isup_tree);
- break;
+ offset += dissect_isup_circuit_group_reset_acknowledgement_message(parameter_tvb, isup_tree);
+ break;
case MESSAGE_TYPE_CIRC_GRP_QRY:
- offset += dissect_isup_circuit_group_reset_query_message(parameter_tvb, isup_tree);
- break;
+ offset += dissect_isup_circuit_group_reset_query_message(parameter_tvb, isup_tree);
+ break;
case MESSAGE_TYPE_CIRC_GRP_QRY_RSP:
- offset += dissect_isup_circuit_group_query_response_message(parameter_tvb, isup_tree);
- break;
+ offset += dissect_isup_circuit_group_query_response_message(parameter_tvb, isup_tree);
+ break;
case MESSAGE_TYPE_CALL_PROGRSS:
- offset += dissect_isup_call_progress_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_call_progress_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_USER2USER_INFO:
- offset += dissect_isup_user_to_user_information_message(parameter_tvb, pinfo, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_user_to_user_information_message(parameter_tvb, pinfo, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_UNEQUIPPED_CIC:
- /* no dissector necessary since no mandatory parameters included */
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ break;
case MESSAGE_TYPE_CONFUSION:
- offset += dissect_isup_confusion_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
+ offset += dissect_isup_confusion_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_OVERLOAD:
- /* no dissector necessary since no mandatory parameters included */
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ break;
case MESSAGE_TYPE_CHARGE_INFO:
- /* do nothing since format is a national matter */
- bufferlength = tvb_length_remaining(message_tvb, offset);
- if (bufferlength != 0){
- switch(itu_isup_variant){
- case ISUP_RUSSIAN_VARIANT:
- proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Format is a national matter");
- break;
- default:
- proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Format is a national matter");
- break;
- }
+ /* do nothing since format is a national matter */
+ bufferlength = tvb_length_remaining(message_tvb, offset);
+ if (bufferlength != 0){
+ switch(itu_isup_variant){
+ case ISUP_RUSSIAN_VARIANT:
+ proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Format is a national matter");
+ break;
+ default:
+ proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Format is a national matter");
+ break;
}
- break;
+ }
+ break;
case MESSAGE_TYPE_NETW_RESRC_MGMT:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_FACILITY:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_USER_PART_TEST:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_USER_PART_AVAIL:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_IDENT_REQ:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_IDENT_RSP:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_SEGMENTATION:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_LOOP_PREVENTION:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_APPLICATION_TRANS:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_PRE_RELEASE_INFO:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
case MESSAGE_TYPE_SUBSEQUENT_DIR_NUM:
- /* do nothing since format is a national matter */
- bufferlength = tvb_length_remaining(message_tvb, offset);
- if (bufferlength != 0)
- proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Format is a national matter");
- break;
+ /* do nothing since format is a national matter */
+ bufferlength = tvb_length_remaining(message_tvb, offset);
+ if (bufferlength != 0)
+ proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Format is a national matter");
+ break;
default:
- /* Handle national extensions here */
- switch(itu_isup_variant) {
- case ISUP_ITU_STANDARD_VARIANT:
- bufferlength = tvb_length_remaining(message_tvb, offset);
- if (bufferlength != 0)
- proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Unknown Message type (possibly reserved/used in former ISUP version)");
- break;
- case ISUP_FRENCH_VARIANT:
- switch (message_type) {
- case FRENCH_CHARGING_PULSE:
- offset += dissect_french_isup_charging_pulse_message(parameter_tvb, isup_tree);
- opt_part_possible = TRUE;
- break;
- case FRENCH_CHARGING_ACK:
- opt_part_possible = TRUE;
- break;
- default:
- bufferlength = tvb_length_remaining(message_tvb, offset);
- if (bufferlength != 0)
- proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Unknown Message type (possibly reserved/used in former ISUP version)");
- break;
- }
- break;
- case ISUP_ISRAELI_VARIANT:
- switch (message_type) {
- case ISRAELI_BACKWARD_CHARGING:
- offset += dissect_israeli_backward_charging_message(parameter_tvb, isup_tree);
- break;
- case ISRAELI_TRAFFIC_CHANGE:
- offset += dissect_israeli_traffic_change_message(parameter_tvb, isup_tree);
- break;
- case ISRAELI_CHARGE_ACK:
- /* No parameters */
- break;
- default:
- bufferlength = tvb_length_remaining(message_tvb, offset);
- if (bufferlength != 0)
- proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Unknown Message type (possibly reserved/used in former ISUP version)");
- break;
- }
- break;
- case ISUP_RUSSIAN_VARIANT:
- switch (message_type) {
- case RUSSIAN_CLEAR_CALLING_LINE:
- /* no dissector necessary since no mandatory parameters included */
- break;
- case RUSSIAN_RINGING:
- /* no dissector necessary since no mandatory parameters included */
- opt_part_possible = TRUE;
- break;
- default:
- bufferlength = tvb_length_remaining(message_tvb, offset);
- if (bufferlength != 0)
- proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength, "Unknown Message type (possibly reserved/used in former ISUP version)");
- break;
- }
- break;
- }
- break;
- }
+ /* Handle national extensions here */
+ switch(itu_isup_variant) {
+ case ISUP_ITU_STANDARD_VARIANT:
+ bufferlength = tvb_length_remaining(message_tvb, offset);
+ if (bufferlength != 0)
+ proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength,
+ "Unknown Message type (possibly reserved/used in former ISUP version)");
+ break;
+ case ISUP_FRENCH_VARIANT:
+ switch (message_type) {
+ case FRENCH_CHARGING_PULSE:
+ offset += dissect_french_isup_charging_pulse_message(parameter_tvb, isup_tree);
+ opt_part_possible = TRUE;
+ break;
+ case FRENCH_CHARGING_ACK:
+ opt_part_possible = TRUE;
+ break;
+ default:
+ bufferlength = tvb_length_remaining(message_tvb, offset);
+ if (bufferlength != 0)
+ proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength,
+ "Unknown Message type (possibly reserved/used in former ISUP version)");
+ break;
+ }
+ break;
+ case ISUP_ISRAELI_VARIANT:
+ switch (message_type) {
+ case ISRAELI_BACKWARD_CHARGING:
+ offset += dissect_israeli_backward_charging_message(parameter_tvb, isup_tree);
+ break;
+ case ISRAELI_TRAFFIC_CHANGE:
+ offset += dissect_israeli_traffic_change_message(parameter_tvb, isup_tree);
+ break;
+ case ISRAELI_CHARGE_ACK:
+ /* No parameters */
+ break;
+ default:
+ bufferlength = tvb_length_remaining(message_tvb, offset);
+ if (bufferlength != 0)
+ proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength,
+ "Unknown Message type (possibly reserved/used in former ISUP version)");
+ break;
+ }
+ break;
+ case ISUP_RUSSIAN_VARIANT:
+ switch (message_type) {
+ case RUSSIAN_CLEAR_CALLING_LINE:
+ /* no dissector necessary since no mandatory parameters included */
+ break;
+ case RUSSIAN_RINGING:
+ /* no dissector necessary since no mandatory parameters included */
+ opt_part_possible = TRUE;
+ break;
+ default:
+ bufferlength = tvb_length_remaining(message_tvb, offset);
+ if (bufferlength != 0)
+ proto_tree_add_text(isup_tree, parameter_tvb, 0, bufferlength,
+ "Unknown Message type (possibly reserved/used in former ISUP version)");
+ break;
+ }
+ break;
+ }
+ break;
+ }
- /* extract pointer to start of optional part (if any) */
- if (opt_part_possible == TRUE) {
- opt_parameter_pointer = tvb_get_guint8(message_tvb, offset);
- if (opt_parameter_pointer > 0) {
- proto_tree_add_uint_format(isup_tree, hf_isup_pointer_to_start_of_optional_part, message_tvb, offset, PARAMETER_POINTER_LENGTH, opt_parameter_pointer, "Pointer to start of optional part: %u", opt_parameter_pointer);
- offset += opt_parameter_pointer;
- optional_parameter_tvb = tvb_new_subset_remaining(message_tvb, offset);
- dissect_isup_optional_parameter(optional_parameter_tvb, pinfo, isup_tree, itu_isup_variant);
- }
- else
- proto_tree_add_uint_format(isup_tree, hf_isup_pointer_to_start_of_optional_part, message_tvb, offset, PARAMETER_POINTER_LENGTH, opt_parameter_pointer, "No optional parameter present (Pointer: %u)", opt_parameter_pointer);
- }
- else if (message_type != MESSAGE_TYPE_CHARGE_INFO)
- proto_tree_add_text(isup_tree, message_tvb, 0, 0, "No optional parameters are possible with this message type");
- /* if there are calling/called number, we'll get them for the tap */
+ /* extract pointer to start of optional part (if any) */
+ if (opt_part_possible == TRUE) {
+ opt_parameter_pointer = tvb_get_guint8(message_tvb, offset);
+ if (opt_parameter_pointer > 0) {
+ proto_tree_add_uint_format(isup_tree, hf_isup_pointer_to_start_of_optional_part, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, opt_parameter_pointer,
+ "Pointer to start of optional part: %u", opt_parameter_pointer);
+ offset += opt_parameter_pointer;
+ optional_parameter_tvb = tvb_new_subset_remaining(message_tvb, offset);
+ dissect_isup_optional_parameter(optional_parameter_tvb, pinfo, isup_tree, itu_isup_variant);
+ }
+ else
+ proto_tree_add_uint_format(isup_tree, hf_isup_pointer_to_start_of_optional_part, message_tvb, offset,
+ PARAMETER_POINTER_LENGTH, opt_parameter_pointer,
+ "No optional parameter present (Pointer: %u)", opt_parameter_pointer);
+ }
+ else if (message_type != MESSAGE_TYPE_CHARGE_INFO)
+ proto_tree_add_text(isup_tree, message_tvb, 0, 0, "No optional parameters are possible with this message type");
- tap_rec->calling_number=tap_calling_number?tap_calling_number:ep_strdup("");
- tap_rec->called_number=tap_called_number;
- tap_rec->cause_value=tap_cause_value;
- tap_queue_packet(isup_tap, pinfo, tap_rec);
+ /* if there are calling/called number, we'll get them for the tap */
+ tap_rec->calling_number = tap_calling_number ? tap_calling_number : ep_strdup("");
+ tap_rec->called_number = tap_called_number;
+ tap_rec->cause_value = tap_cause_value;
+ tap_queue_packet(isup_tap, pinfo, tap_rec);
}
/* ------------------------------------------------------------------ */
@@ -8361,12 +8582,12 @@ dissect_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
/* Set up structures needed to add the protocol subtree and manage it */
- proto_item *ti;
- proto_tree *isup_tree = NULL;
- tvbuff_t *message_tvb;
- guint16 cic;
- guint8 message_type;
- guint8 itu_isup_variant = g_isup_variant;
+ proto_item *ti;
+ proto_tree *isup_tree = NULL;
+ tvbuff_t *message_tvb;
+ guint16 cic;
+ guint8 message_type;
+ guint8 itu_isup_variant = g_isup_variant;
value_string_ext *used_value_string_ext;
/* Make entries in Protocol column and Info column on summary display */
@@ -8381,69 +8602,65 @@ dissect_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
switch(mtp3_standard) {
case ANSI_STANDARD:
isup_standard = ANSI_STANDARD;
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(ANSI)");
- cic = tvb_get_letohs(tvb, CIC_OFFSET) & 0x3FFF; /*since upper 2 bits spare */
- pinfo->circuit_id = cic;
- if (isup_show_cic_in_info) {
- col_add_fstr(pinfo->cinfo, COL_INFO,
- "%s (CIC %u) ",
- val_to_str_ext_const(message_type, &ansi_isup_message_type_value_acro_ext, "reserved"),
- cic);
- } else {
- col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str_ext_const(message_type, &ansi_isup_message_type_value_acro_ext, "reserved"));
- }
- /* In the interest of speed, if "tree" is NULL, don't do any work not
- * necessary to generate protocol tree items.
- */
- if (tree) {
- ti = proto_tree_add_item(tree, proto_isup, tvb, 0, -1, ENC_NA);
- isup_tree = proto_item_add_subtree(ti, ett_isup);
- proto_tree_add_uint_format(isup_tree, hf_isup_cic, tvb, CIC_OFFSET, CIC_LENGTH, cic, "CIC: %u", cic);
- }
- message_tvb = tvb_new_subset_remaining(tvb, CIC_LENGTH);
- dissect_ansi_isup_message(message_tvb, pinfo, isup_tree, ISUP_ITU_STANDARD_VARIANT);
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(ANSI)");
+ cic = tvb_get_letohs(tvb, CIC_OFFSET) & 0x3FFF; /*since upper 2 bits spare */
+ pinfo->circuit_id = cic;
+ if (isup_show_cic_in_info) {
+ col_add_fstr(pinfo->cinfo, COL_INFO,
+ "%s (CIC %u) ",
+ val_to_str_ext_const(message_type, &ansi_isup_message_type_value_acro_ext, "reserved"),
+ cic);
+ } else {
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s ",
+ val_to_str_ext_const(message_type, &ansi_isup_message_type_value_acro_ext, "reserved"));
+ }
+ if (tree) {
+ ti = proto_tree_add_item(tree, proto_isup, tvb, 0, -1, ENC_NA);
+ isup_tree = proto_item_add_subtree(ti, ett_isup);
+ proto_tree_add_uint_format(isup_tree, hf_isup_cic, tvb, CIC_OFFSET, CIC_LENGTH, cic, "CIC: %u", cic);
+ }
+ message_tvb = tvb_new_subset_remaining(tvb, CIC_LENGTH);
+ dissect_ansi_isup_message(message_tvb, pinfo, isup_tree, ISUP_ITU_STANDARD_VARIANT);
break;
default:
isup_standard = ITU_STANDARD;
- switch(itu_isup_variant) {
- case ISUP_FRENCH_VARIANT:
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(French)");
- used_value_string_ext = &french_isup_message_type_value_acro_ext;
- break;
- case ISUP_ISRAELI_VARIANT:
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(Israeli)");
- used_value_string_ext = &israeli_isup_message_type_value_acro_ext;
- break;
- case ISUP_RUSSIAN_VARIANT:
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(Russian)");
- used_value_string_ext = &russian_isup_message_type_value_acro_ext;
- break;
- default:
- col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(ITU)");
- used_value_string_ext = &isup_message_type_value_acro_ext;
- break;
- }
- /* ITU, China, and Japan; yes, J7's CICs are a different size */
- cic = tvb_get_letohs(tvb, CIC_OFFSET) & 0x0FFF; /*since upper 4 bits spare */
- pinfo->circuit_id = cic;
- if (isup_show_cic_in_info) {
- col_add_fstr(pinfo->cinfo, COL_INFO,
- "%s (CIC %u) ",
- val_to_str_ext_const(message_type, used_value_string_ext, "reserved"),
- cic);
- } else {
- col_add_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str_ext_const(message_type, used_value_string_ext, "reserved"));
- }
- /* In the interest of speed, if "tree" is NULL, don't do any work not
- * necessary to generate protocol tree items.
- */
- if (tree) {
- ti = proto_tree_add_item(tree, proto_isup, tvb, 0, -1, ENC_NA);
- isup_tree = proto_item_add_subtree(ti, ett_isup);
- proto_tree_add_uint_format(isup_tree, hf_isup_cic, tvb, CIC_OFFSET, CIC_LENGTH, cic, "CIC: %u", cic);
- }
- message_tvb = tvb_new_subset_remaining(tvb, CIC_LENGTH);
- dissect_isup_message(message_tvb, pinfo, isup_tree, itu_isup_variant);
+ switch(itu_isup_variant) {
+ case ISUP_FRENCH_VARIANT:
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(French)");
+ used_value_string_ext = &french_isup_message_type_value_acro_ext;
+ break;
+ case ISUP_ISRAELI_VARIANT:
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(Israeli)");
+ used_value_string_ext = &israeli_isup_message_type_value_acro_ext;
+ break;
+ case ISUP_RUSSIAN_VARIANT:
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(Russian)");
+ used_value_string_ext = &russian_isup_message_type_value_acro_ext;
+ break;
+ default:
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISUP(ITU)");
+ used_value_string_ext = &isup_message_type_value_acro_ext;
+ break;
+ }
+ /* ITU, China, and Japan; yes, J7's CICs are a different size */
+ cic = tvb_get_letohs(tvb, CIC_OFFSET) & 0x0FFF; /*since upper 4 bits spare */
+ pinfo->circuit_id = cic;
+ if (isup_show_cic_in_info) {
+ col_add_fstr(pinfo->cinfo, COL_INFO,
+ "%s (CIC %u) ",
+ val_to_str_ext_const(message_type, used_value_string_ext, "reserved"),
+ cic);
+ } else {
+ col_add_fstr(pinfo->cinfo, COL_INFO, "%s ",
+ val_to_str_ext_const(message_type, used_value_string_ext, "reserved"));
+ }
+ if (tree) {
+ ti = proto_tree_add_item(tree, proto_isup, tvb, 0, -1, ENC_NA);
+ isup_tree = proto_item_add_subtree(ti, ett_isup);
+ proto_tree_add_uint_format(isup_tree, hf_isup_cic, tvb, CIC_OFFSET, CIC_LENGTH, cic, "CIC: %u", cic);
+ }
+ message_tvb = tvb_new_subset_remaining(tvb, CIC_LENGTH);
+ dissect_isup_message(message_tvb, pinfo, isup_tree, itu_isup_variant);
}
}
@@ -8455,9 +8672,9 @@ dissect_bicc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* Set up structures needed to add the protocol subtree and manage it */
proto_item *ti;
proto_tree *bicc_tree = NULL;
- tvbuff_t *message_tvb;
- guint32 bicc_cic;
- guint8 message_type;
+ tvbuff_t *message_tvb;
+ guint32 bicc_cic;
+ guint8 message_type;
/*circuit_t *circuit;*/
@@ -8486,15 +8703,13 @@ dissect_bicc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* dissect CIC in main dissector since pass-along message type carrying complete BICC/ISUP message w/o CIC needs
* recursive message dissector call
*/
- /* In the interest of speed, if "tree" is NULL, don't do any work not
- * necessary to generate protocol tree items.
- */
if (tree) {
ti = proto_tree_add_item(tree, proto_bicc, tvb, 0, -1, ENC_NA);
bicc_tree = proto_item_add_subtree(ti, ett_bicc);
- proto_tree_add_uint_format(bicc_tree, hf_bicc_cic, tvb, BICC_CIC_OFFSET, BICC_CIC_LENGTH, bicc_cic, "CIC: %u", bicc_cic);
+ proto_tree_add_uint_format(bicc_tree, hf_bicc_cic, tvb, BICC_CIC_OFFSET, BICC_CIC_LENGTH,
+ bicc_cic, "CIC: %u", bicc_cic);
}
message_tvb = tvb_new_subset_remaining(tvb, BICC_CIC_LENGTH);
@@ -8508,41 +8723,38 @@ dissect_application_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* Set up structures needed to add the protocol subtree and manage it */
proto_item *ti;
proto_tree *isup_tree = NULL;
- tvbuff_t *message_tvb;
- guint8 message_type;
- gchar *content_type_parameter_str;
- guint8 itu_isup_variant = ISUP_ITU_STANDARD_VARIANT; /* Default */
+ tvbuff_t *message_tvb;
+ guint8 message_type;
+ gchar *content_type_parameter_str;
+ guint8 itu_isup_variant = ISUP_ITU_STANDARD_VARIANT; /* Default */
if(pinfo->private_data) {
- content_type_parameter_str = ascii_strdown_inplace(pinfo->private_data);
- if(strstr(content_type_parameter_str,"ansi")) {
- isup_standard = ANSI_STANDARD;
- col_append_str(pinfo->cinfo, COL_PROTOCOL, "/ISUP(ANSI)");
- message_type = tvb_get_guint8(tvb, 0);
- /* application/ISUP has no CIC */
- col_append_sep_fstr(pinfo->cinfo, COL_INFO, ", ",
- "ISUP:%s",
- val_to_str_ext_const(message_type, &ansi_isup_message_type_value_acro_ext, "reserved"));
- /* In the interest of speed, if "tree" is NULL, don't do any work not
- * necessary to generate protocol tree items.
- */
- if (tree) {
- ti = proto_tree_add_item(tree, proto_isup, tvb, 0, -1, ENC_NA);
- isup_tree = proto_item_add_subtree(ti, ett_isup);
- }
-
- message_tvb = tvb_new_subset_remaining(tvb, 0);
- dissect_ansi_isup_message(message_tvb, pinfo, isup_tree, ISUP_ITU_STANDARD_VARIANT);
- return;
- } else if(strstr(content_type_parameter_str,"spirou")) {
- isup_standard = ITU_STANDARD;
- itu_isup_variant = ISUP_FRENCH_VARIANT;
- } else {
- isup_standard = ITU_STANDARD;
+ content_type_parameter_str = ascii_strdown_inplace(pinfo->private_data);
+ if(strstr(content_type_parameter_str,"ansi")) {
+ isup_standard = ANSI_STANDARD;
+ col_append_str(pinfo->cinfo, COL_PROTOCOL, "/ISUP(ANSI)");
+ message_type = tvb_get_guint8(tvb, 0);
+ /* application/ISUP has no CIC */
+ col_append_sep_fstr(pinfo->cinfo, COL_INFO, ", ",
+ "ISUP:%s",
+ val_to_str_ext_const(message_type, &ansi_isup_message_type_value_acro_ext, "reserved"));
+ if (tree) {
+ ti = proto_tree_add_item(tree, proto_isup, tvb, 0, -1, ENC_NA);
+ isup_tree = proto_item_add_subtree(ti, ett_isup);
}
- } else {
- /* default to ITU */
+
+ message_tvb = tvb_new_subset_remaining(tvb, 0);
+ dissect_ansi_isup_message(message_tvb, pinfo, isup_tree, ISUP_ITU_STANDARD_VARIANT);
+ return;
+ } else if(strstr(content_type_parameter_str,"spirou")) {
+ isup_standard = ITU_STANDARD;
+ itu_isup_variant = ISUP_FRENCH_VARIANT;
+ } else {
isup_standard = ITU_STANDARD;
+ }
+ } else {
+ /* default to ITU */
+ isup_standard = ITU_STANDARD;
}
@@ -8550,7 +8762,7 @@ dissect_application_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
message_type = tvb_get_guint8(tvb, 0);
switch(itu_isup_variant) {
- case ISUP_ITU_STANDARD_VARIANT:
+ case ISUP_ITU_STANDARD_VARIANT:
/* Make entries in Protocol column and Info column on summary display */
col_append_str(pinfo->cinfo, COL_PROTOCOL, "/ISUP(ITU)");
@@ -8559,7 +8771,7 @@ dissect_application_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
"ISUP:%s",
val_to_str_ext_const(message_type, &isup_message_type_value_acro_ext, "reserved"));
break;
- case ISUP_FRENCH_VARIANT:
+ case ISUP_FRENCH_VARIANT:
/* Make entries in Protocol column and Info column on summary display */
col_append_str(pinfo->cinfo, COL_PROTOCOL, "/ISUP(French)");
@@ -8569,10 +8781,10 @@ dissect_application_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
val_to_str_ext_const(message_type, &french_isup_message_type_value_acro_ext, "reserved"));
break;
#if 0
- /* This case can't happen unless/until we can parse the Israeli variant
- * out of the content type
- */
- case ISUP_ISRAELI_VARIANT:
+ /* This case can't happen unless/until we can parse the Israeli variant
+ * out of the content type
+ */
+ case ISUP_ISRAELI_VARIANT:
/* Make entries in Protocol column and Info column on summary display */
col_append_str(pinfo->cinfo, COL_PROTOCOL, "/ISUP(Israeli)");
@@ -8582,14 +8794,12 @@ dissect_application_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
val_to_str_ext_const(message_type, &israeli_isup_message_type_value_acro_ext, "reserved"));
break;
#endif
- default:
+ default:
col_append_sep_fstr(pinfo->cinfo, COL_INFO, ", ",
"ISUP: Unknown variant %d", itu_isup_variant);
break;
}
-/* In the interest of speed, if "tree" is NULL, don't do any work not
- necessary to generate protocol tree items. */
if (tree) {
ti = proto_tree_add_item(tree, proto_isup, tvb, 0, -1, ENC_NA);
isup_tree = proto_item_add_subtree(ti, ett_isup);
@@ -8604,7 +8814,7 @@ static int st_node_msg = -1;
static int st_node_dir = -1;
static void
-msg_stats_tree_init(stats_tree* st)
+msg_stats_tree_init(stats_tree *st)
{
st_node_msg = stats_tree_create_node(st, "Messages by Type", 0, TRUE);
st_node_dir = stats_tree_create_node(st, "Messages by Direction", 0, TRUE);
@@ -8614,9 +8824,9 @@ static int
msg_stats_tree_packet(stats_tree *st, packet_info *pinfo, epan_dissect_t *edt _U_, const void *p)
{
const gchar *msg = match_strval_ext(((const isup_tap_rec_t*)p)->message_type, &isup_message_type_value_acro_ext);
- gchar *dir;
- int msg_node;
- int dir_node;
+ gchar *dir;
+ int msg_node;
+ int dir_node;
dir = ep_strdup_printf("%s->%s", ep_address_to_str(&pinfo->src), ep_address_to_str(&pinfo->dst));
@@ -8736,7 +8946,7 @@ proto_register_isup(void)
FT_UINT8, BASE_HEX|BASE_EXT_STRING, &isup_calling_partys_category_value_ext, 0x0,
NULL, HFILL }},
- { &hf_russian_isup_calling_partys_category,
+ { &hf_russian_isup_calling_partys_category,
{ "Calling Party's category", "isup.russian.calling_partys_category",
FT_UINT8, BASE_HEX, VALS(isup_calling_partys_category_value), 0x0,
NULL, HFILL }},
@@ -9743,7 +9953,7 @@ void
proto_reg_handoff_bicc(void)
{
dissector_handle_t bicc_handle;
- sdp_handle = find_dissector("sdp");
+ sdp_handle = find_dissector("sdp");
q931_ie_handle = find_dissector("q931.ie");
bicc_handle = create_dissector_handle(dissect_bicc, proto_bicc);