diff options
-rw-r--r-- | epan/dissectors/packet-gsm_a.c | 18 | ||||
-rw-r--r-- | epan/dissectors/packet-q931.c | 12 |
2 files changed, 23 insertions, 7 deletions
diff --git a/epan/dissectors/packet-gsm_a.c b/epan/dissectors/packet-gsm_a.c index f6768fdebb..65a4d378cc 100644 --- a/epan/dissectors/packet-gsm_a.c +++ b/epan/dissectors/packet-gsm_a.c @@ -102,6 +102,7 @@ #include "packet-bssap.h" #include "packet-gsm_ss.h" #include "packet-ber.h" +#include "packet-q931.h" #include "packet-gsm_a.h" #include "packet-ppp.h" @@ -7508,6 +7509,21 @@ de_cause(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_ return(curr_offset - offset); } +/* + * 10.5.4.18 Low layer compatibility + */ +static guint8 +de_llc(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_) +{ + guint32 curr_offset; + + curr_offset = offset; + + dissect_q931_bearer_capability_ie(tvb, offset, len, tree); + + curr_offset = curr_offset + len; + return(curr_offset - offset); +} /* * [6] 3.6 @@ -12922,7 +12938,7 @@ static guint8 (*dtap_elem_fcn[])(tvbuff_t *tvb, proto_tree *tree, guint32 offset de_facility, /* Facility */ NULL, /* High Layer Compatibility */ de_keypad_facility, /* Keypad Facility */ - NULL, /* Low Layer Compatibility */ + de_llc, /* 10.5.4.18 Low layer compatibility */ NULL, /* More Data */ NULL, /* Notification Indicator */ de_prog_ind, /* Progress Indicator */ diff --git a/epan/dissectors/packet-q931.c b/epan/dissectors/packet-q931.c index 6f6714c411..715a0ccf8c 100644 --- a/epan/dissectors/packet-q931.c +++ b/epan/dissectors/packet-q931.c @@ -711,13 +711,13 @@ dissect_q931_bearer_capability_ie(tvbuff_t *tvb, int offset, int len, proto_tree_add_text(tree, tvb, offset, len, "Data: %s", tvb_bytes_to_str(tvb, offset, len)); - proto_tree_add_uint(tree, hf_q931_coding_standard, tvb, offset, 1, octet); proto_tree_add_boolean(tree, hf_q931_extension_ind, tvb, offset, 1, octet); + proto_tree_add_uint(tree, hf_q931_coding_standard, tvb, offset, 1, octet); return; } - proto_tree_add_uint(tree, hf_q931_information_transfer_capability, tvb, offset, 1, octet); - proto_tree_add_uint(tree, hf_q931_coding_standard, tvb, offset, 1, octet); proto_tree_add_boolean(tree, hf_q931_extension_ind, tvb, offset, 1, octet); + proto_tree_add_uint(tree, hf_q931_coding_standard, tvb, offset, 1, octet); + proto_tree_add_uint(tree, hf_q931_information_transfer_capability, tvb, offset, 1, octet); offset += 1; len -= 1; @@ -738,9 +738,9 @@ dissect_q931_bearer_capability_ie(tvbuff_t *tvb, int offset, int len, if (len == 0) return; octet = tvb_get_guint8(tvb, offset); - proto_tree_add_uint(tree, hf_q931_information_transfer_rate, tvb, offset, 1, octet); - proto_tree_add_uint(tree, hf_q931_transfer_mode, tvb, offset, 1, octet); proto_tree_add_boolean(tree, hf_q931_extension_ind, tvb, offset, 1, octet); + proto_tree_add_uint(tree, hf_q931_transfer_mode, tvb, offset, 1, octet); + proto_tree_add_uint(tree, hf_q931_information_transfer_rate, tvb, offset, 1, octet); it_rate = octet & 0x1F; offset += 1; len -= 1; @@ -760,8 +760,8 @@ dissect_q931_bearer_capability_ie(tvbuff_t *tvb, int offset, int len, /* * Layer 1 information. */ - proto_tree_add_uint(tree, hf_q931_uil1, tvb, offset, 1, octet); proto_tree_add_boolean(tree, hf_q931_extension_ind, tvb, offset, 1, octet); + proto_tree_add_uint(tree, hf_q931_uil1, tvb, offset, 1, octet); offset += 1; len -= 1; |