aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-gsm_a.c18
-rw-r--r--epan/dissectors/packet-q931.c12
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;