summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-09-27 08:07:01 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-09-27 08:07:01 +0000
commit14a8da0e0755d2512d226d3db71c5188a7430766 (patch)
tree0cb33f6837441d25b8de593a61aab9fe7150f775
parent2e1e68c30c7f91def6908b240e8ab8ac4397a695 (diff)
downloadwireshark-14a8da0e0755d2512d226d3db71c5188a7430766.tar.gz
Copy over:
Revision 45004 - From LI Hai via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7736 : Fix dissection error of D-RELEASE and D-CONNECT in TETRA dissector Revision 44928 - Add packet-interlink to CMake build to maintain parity with automake as of revision 44927. Revision 44927 - Complete process of moving packet-interlink to a built-in dissector: - Add packet-interlink.c to Makefile.common (Not included in SVN #37610-37612); See: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6005 svn path=/trunk-1.8/; revision=45167
-rw-r--r--asn1/tetra/tetra.asn4
-rw-r--r--asn1/tetra/tetra.cnf5
-rw-r--r--epan/CMakeLists.txt1
-rw-r--r--epan/dissectors/Makefile.common1
-rw-r--r--epan/dissectors/packet-interlink.c4
-rw-r--r--epan/dissectors/packet-tetra.c65
6 files changed, 34 insertions, 46 deletions
diff --git a/asn1/tetra/tetra.asn b/asn1/tetra/tetra.asn
index ad0ba74a75..e64e0b7f4e 100644
--- a/asn1/tetra/tetra.asn
+++ b/asn1/tetra/tetra.asn
@@ -1,5 +1,5 @@
-- TETRA packet dissection
--- Copyright (c) 2007 - 2011 Professional Mobile Communication Research Group,
+-- Copyright (c) 2007 - 2012 Professional Mobile Communication Research Group,
-- Beijing Institute of Technology, China
--
@@ -2139,7 +2139,7 @@ D-CONNECT::=
optional-elements CHOICE{
no-type2 NULL,
type2-parameters SEQUENCE {
- call-priority CHOICE{none NULL, call-priority INTEGER (0..31)},
+ call-priority CHOICE{none NULL, call-priority INTEGER (0..15)},
basic-service-information CHOICE{none NULL, basic-service-information Basic-service-information},
temporary-address CHOICE { none NULL, temporary-address Calling-party-address-type},
notification-indicator CHOICE { none NULL, notification-indicator INTEGER (0..63)},
diff --git a/asn1/tetra/tetra.cnf b/asn1/tetra/tetra.cnf
index 2d148fdef2..c40d9fb4c2 100644
--- a/asn1/tetra/tetra.cnf
+++ b/asn1/tetra/tetra.cnf
@@ -115,11 +115,6 @@ BNCH
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-CONNECT");
#.END
-#.FN_BODY D-RELEASE
-%(DEFAULT_BODY)s
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-RELEASE");
-#.END
-
#.FN_BODY D-CONNECT-ACK
%(DEFAULT_BODY)s
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-CONNECT-ACK");
diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt
index b565ac6b63..dec685d4a0 100644
--- a/epan/CMakeLists.txt
+++ b/epan/CMakeLists.txt
@@ -731,6 +731,7 @@ set(DISSECTOR_SRC
dissectors/packet-imf.c
dissectors/packet-infiniband.c
dissectors/packet-infiniband_sdp.c
+ dissectors/packet-interlink.c
dissectors/packet-ip.c
dissectors/packet-ipars.c
dissectors/packet-ipdc.c
diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common
index 23e110b4aa..377cd983d2 100644
--- a/epan/dissectors/Makefile.common
+++ b/epan/dissectors/Makefile.common
@@ -652,6 +652,7 @@ DISSECTOR_SRC = \
packet-imf.c \
packet-infiniband.c \
packet-infiniband_sdp.c \
+ packet-interlink.c \
packet-ip.c \
packet-ipars.c \
packet-ipdc.c \
diff --git a/epan/dissectors/packet-interlink.c b/epan/dissectors/packet-interlink.c
index 5437379d80..6e3471c4cf 100644
--- a/epan/dissectors/packet-interlink.c
+++ b/epan/dissectors/packet-interlink.c
@@ -21,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifdef HAVE_CONFIG_H
@@ -168,7 +168,7 @@ dissect_interlink(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
static gboolean
-dissect_interlink_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+dissect_interlink_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
if (!tvb_bytes_exist(tvb, 0, 4)) {
return FALSE;
diff --git a/epan/dissectors/packet-tetra.c b/epan/dissectors/packet-tetra.c
index 338e34c923..03667192f2 100644
--- a/epan/dissectors/packet-tetra.c
+++ b/epan/dissectors/packet-tetra.c
@@ -632,7 +632,6 @@ static int hf_tetra_call_ownership = -1; /* INTEGER_0_1 */
static int hf_tetra_optional_elements_19 = -1; /* T_optional_elements_19 */
static int hf_tetra_type2_parameters_15 = -1; /* T_type2_parameters_15 */
static int hf_tetra_call_priority_01 = -1; /* T_call_priority */
-static int hf_tetra_call_priority_02 = -1; /* INTEGER_0_31 */
static int hf_tetra_basic_service_information_04 = -1; /* T_basic_service_information_03 */
static int hf_tetra_temporary_address = -1; /* T_temporary_address */
static int hf_tetra_temporary_address_01 = -1; /* Calling_party_address_type */
@@ -2548,7 +2547,7 @@ static const per_sequence_t U_MM_STATUS_sequence[] = {
static int
dissect_tetra_U_MM_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 238 "../../asn1/tetra/tetra.cnf"
+#line 233 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_MM_STATUS, U_MM_STATUS_sequence);
@@ -2775,7 +2774,7 @@ static const per_sequence_t U_ATTACH_DETACH_GROUP_IDENTITY_sequence[] = {
static int
dissect_tetra_U_ATTACH_DETACH_GROUP_IDENTITY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 248 "../../asn1/tetra/tetra.cnf"
+#line 243 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_ATTACH_DETACH_GROUP_IDENTITY, U_ATTACH_DETACH_GROUP_IDENTITY_sequence);
@@ -2870,7 +2869,7 @@ static const per_sequence_t U_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence[] = {
static int
dissect_tetra_U_ATTACH_DETACH_GROUP_IDENTITY_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 253 "../../asn1/tetra/tetra.cnf"
+#line 248 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_ATTACH_DETACH_GROUP_IDENTITY_ACK, U_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence);
@@ -3162,7 +3161,7 @@ static const per_sequence_t U_ALERT_sequence[] = {
static int
dissect_tetra_U_ALERT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 187 "../../asn1/tetra/tetra.cnf"
+#line 182 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_ALERT, U_ALERT_sequence);
@@ -3280,7 +3279,7 @@ static const per_sequence_t U_CONNECT_sequence[] = {
static int
dissect_tetra_U_CONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 192 "../../asn1/tetra/tetra.cnf"
+#line 187 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_CONNECT, U_CONNECT_sequence);
@@ -3368,7 +3367,7 @@ static const per_sequence_t U_DISCONNECT_sequence[] = {
static int
dissect_tetra_U_DISCONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 197 "../../asn1/tetra/tetra.cnf"
+#line 192 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_DISCONNECT, U_DISCONNECT_sequence);
@@ -3577,7 +3576,7 @@ static const per_sequence_t U_SETUP_sequence[] = {
static int
dissect_tetra_U_SETUP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 207 "../../asn1/tetra/tetra.cnf"
+#line 202 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_SETUP, U_SETUP_sequence);
@@ -3633,7 +3632,7 @@ static const per_sequence_t U_STATUS_sequence[] = {
static int
dissect_tetra_U_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 212 "../../asn1/tetra/tetra.cnf"
+#line 207 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_STATUS, U_STATUS_sequence);
@@ -3710,7 +3709,7 @@ static const per_sequence_t U_TX_CEASED_sequence[] = {
static int
dissect_tetra_U_TX_CEASED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 232 "../../asn1/tetra/tetra.cnf"
+#line 227 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_TX_CEASED, U_TX_CEASED_sequence);
@@ -3790,7 +3789,7 @@ static const per_sequence_t U_TX_DEMAND_sequence[] = {
static int
dissect_tetra_U_TX_DEMAND(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 227 "../../asn1/tetra/tetra.cnf"
+#line 222 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_TX_DEMAND, U_TX_DEMAND_sequence);
@@ -3879,7 +3878,7 @@ static const per_sequence_t U_CALL_RESTORE_sequence[] = {
static int
dissect_tetra_U_CALL_RESTORE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 222 "../../asn1/tetra/tetra.cnf"
+#line 217 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_CALL_RESTORE, U_CALL_RESTORE_sequence);
@@ -3971,7 +3970,7 @@ static const per_sequence_t U_SDS_DATA_sequence[] = {
static int
dissect_tetra_U_SDS_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 217 "../../asn1/tetra/tetra.cnf"
+#line 212 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_U_SDS_DATA, U_SDS_DATA_sequence);
@@ -5974,7 +5973,7 @@ static const per_sequence_t D_LOCATION_UPDATE_REJECT_sequence[] = {
static int
dissect_tetra_D_LOCATION_UPDATE_REJECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 258 "../../asn1/tetra/tetra.cnf"
+#line 253 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_LOCATION_UPDATE_REJECT, D_LOCATION_UPDATE_REJECT_sequence);
@@ -6193,7 +6192,7 @@ static const per_sequence_t D_ATTACH_DETACH_GROUP_IDENTITY_sequence[] = {
static int
dissect_tetra_D_ATTACH_DETACH_GROUP_IDENTITY(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 263 "../../asn1/tetra/tetra.cnf"
+#line 258 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_ATTACH_DETACH_GROUP_IDENTITY, D_ATTACH_DETACH_GROUP_IDENTITY_sequence);
@@ -6288,7 +6287,7 @@ static const per_sequence_t D_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence[] = {
static int
dissect_tetra_D_ATTACH_DETACH_GROUP_IDENTITY_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 268 "../../asn1/tetra/tetra.cnf"
+#line 263 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_ATTACH_DETACH_GROUP_IDENTITY_ACK, D_ATTACH_DETACH_GROUP_IDENTITY_ACK_sequence);
@@ -6306,7 +6305,7 @@ static const per_sequence_t D_MM_STATUS_sequence[] = {
static int
dissect_tetra_D_MM_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 243 "../../asn1/tetra/tetra.cnf"
+#line 238 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_MM_STATUS, D_MM_STATUS_sequence);
@@ -6499,7 +6498,7 @@ static const per_sequence_t D_ALERT_sequence[] = {
static int
dissect_tetra_D_ALERT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 139 "../../asn1/tetra/tetra.cnf"
+#line 134 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_ALERT, D_ALERT_sequence);
@@ -6683,7 +6682,7 @@ static const value_string tetra_T_call_priority_vals[] = {
static const per_choice_t T_call_priority_choice[] = {
{ 0, &hf_tetra_none , ASN1_NO_EXTENSIONS , dissect_tetra_NULL },
- { 1, &hf_tetra_call_priority_02, ASN1_NO_EXTENSIONS , dissect_tetra_INTEGER_0_31 },
+ { 1, &hf_tetra_call_priority , ASN1_NO_EXTENSIONS , dissect_tetra_INTEGER_0_15 },
{ 0, NULL, 0, NULL }
};
@@ -6942,7 +6941,7 @@ static const per_sequence_t D_CONNECT_ACK_sequence[] = {
static int
dissect_tetra_D_CONNECT_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 124 "../../asn1/tetra/tetra.cnf"
+#line 119 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CONNECT_ACK, D_CONNECT_ACK_sequence);
@@ -6961,7 +6960,7 @@ static const per_sequence_t D_DISCONNECT_sequence[] = {
static int
dissect_tetra_D_DISCONNECT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 134 "../../asn1/tetra/tetra.cnf"
+#line 129 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_DISCONNECT, D_DISCONNECT_sequence);
@@ -6981,7 +6980,7 @@ static const per_sequence_t D_INFO_sequence[] = {
static int
dissect_tetra_D_INFO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 129 "../../asn1/tetra/tetra.cnf"
+#line 124 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_INFO, D_INFO_sequence);
@@ -7087,10 +7086,6 @@ dissect_tetra_D_RELEASE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
ett_tetra_D_RELEASE, D_RELEASE_sequence);
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-RELEASE");
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_tetra_D_RELEASE, D_RELEASE_sequence);
-
- col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "D-RELEASE");
return offset;
@@ -7287,7 +7282,7 @@ static const per_sequence_t D_STATUS_sequence[] = {
static int
dissect_tetra_D_STATUS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 150 "../../asn1/tetra/tetra.cnf"
+#line 145 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_STATUS, D_STATUS_sequence);
@@ -7388,7 +7383,7 @@ static const per_sequence_t D_TX_CEASED_sequence[] = {
static int
dissect_tetra_D_TX_CEASED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 144 "../../asn1/tetra/tetra.cnf"
+#line 139 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_CEASED, D_TX_CEASED_sequence);
@@ -7408,7 +7403,7 @@ static const per_sequence_t D_TX_CONTINUE_sequence[] = {
static int
dissect_tetra_D_TX_CONTINUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 155 "../../asn1/tetra/tetra.cnf"
+#line 150 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_CONTINUE, D_TX_CONTINUE_sequence);
@@ -7430,7 +7425,7 @@ static const per_sequence_t D_TX_GRANTED_sequence[] = {
static int
dissect_tetra_D_TX_GRANTED(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 160 "../../asn1/tetra/tetra.cnf"
+#line 155 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_GRANTED, D_TX_GRANTED_sequence);
@@ -7450,7 +7445,7 @@ static const per_sequence_t D_TX_WAIT_sequence[] = {
static int
dissect_tetra_D_TX_WAIT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 166 "../../asn1/tetra/tetra.cnf"
+#line 161 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_TX_WAIT, D_TX_WAIT_sequence);
@@ -7680,7 +7675,7 @@ static const per_sequence_t D_CALL_RESTORE_sequence[] = {
static int
dissect_tetra_D_CALL_RESTORE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 171 "../../asn1/tetra/tetra.cnf"
+#line 166 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_CALL_RESTORE, D_CALL_RESTORE_sequence);
@@ -7761,7 +7756,7 @@ static const per_sequence_t D_SDS_DATA_sequence[] = {
static int
dissect_tetra_D_SDS_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 176 "../../asn1/tetra/tetra.cnf"
+#line 171 "../../asn1/tetra/tetra.cnf"
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_tetra_D_SDS_DATA, D_SDS_DATA_sequence);
@@ -11280,10 +11275,6 @@ void proto_register_tetra (void)
{ "call-priority", "tetra.call_priority",
FT_UINT32, BASE_DEC, VALS(tetra_T_call_priority_vals), 0,
NULL, HFILL }},
- { &hf_tetra_call_priority_02,
- { "call-priority", "tetra.call_priority",
- FT_UINT32, BASE_DEC, NULL, 0,
- "INTEGER_0_31", HFILL }},
{ &hf_tetra_basic_service_information_04,
{ "basic-service-information", "tetra.basic_service_information",
FT_UINT32, BASE_DEC, VALS(tetra_T_basic_service_information_03_vals), 0,