mncc: Complete definitions for all speech traffic frames at MNCC interface
The new definitions are: half rate and AMR
Change of definition name for bad frame, because it applies to all types of
traffic, not only TCH/F.
Increase MNCC interface version to 4. Version 3 is skipped, because it was
used by older version of Linux-Call-Router which is incompatible with the
current version of the MNCC interface.
diff --git a/openbsc/include/openbsc/mncc.h b/openbsc/include/openbsc/mncc.h
index ffc247b..c61f6b8 100644
--- a/openbsc/include/openbsc/mncc.h
+++ b/openbsc/include/openbsc/mncc.h
@@ -95,7 +95,9 @@
#define GSM_TCHF_FRAME 0x0300
#define GSM_TCHF_FRAME_EFR 0x0301
-#define GSM_TCHF_BAD_FRAME 0x03ff
+#define GSM_TCHH_FRAME 0x0302
+#define GSM_TCH_FRAME_AMR 0x0303
+#define GSM_BAD_FRAME 0x03ff
#define MNCC_SOCKET_HELLO 0x0400
@@ -161,7 +163,7 @@
unsigned char data[0];
};
-#define MNCC_SOCK_VERSION 2
+#define MNCC_SOCK_VERSION 4
struct gsm_mncc_hello {
uint32_t msg_type;
uint32_t version;
diff --git a/openbsc/src/libmsc/mncc.c b/openbsc/src/libmsc/mncc.c
index b484772..73db5f0 100644
--- a/openbsc/src/libmsc/mncc.c
+++ b/openbsc/src/libmsc/mncc.c
@@ -84,7 +84,11 @@
{"MNCC_FRAME_DROP", 0x0202},
{"MNCC_LCHAN_MODIFY", 0x0203},
- {"GSM_TCH_FRAME", 0x0300},
+ {"GSM_TCHF_FRAME", 0x0300},
+ {"GSM_TCHF_FRAME_EFR", 0x0301},
+ {"GSM_TCHH_FRAME", 0x0302},
+ {"GSM_TCH_FRAME_AMR", 0x0303},
+ {"GSM_BAD_FRAME", 0x03ff},
{NULL, 0} };
diff --git a/openbsc/src/libtrau/trau_mux.c b/openbsc/src/libtrau/trau_mux.c
index 7b9bac0..fd1895f 100644
--- a/openbsc/src/libtrau/trau_mux.c
+++ b/openbsc/src/libtrau/trau_mux.c
@@ -314,7 +314,7 @@
return msg;
bad_frame:
- frame->msg_type = GSM_TCHF_BAD_FRAME;
+ frame->msg_type = GSM_BAD_FRAME;
return msg;
}
diff --git a/openbsc/tests/trau/trau_test.c b/openbsc/tests/trau/trau_test.c
index f8a48db..b95f1e8 100644
--- a/openbsc/tests/trau/trau_test.c
+++ b/openbsc/tests/trau/trau_test.c
@@ -57,7 +57,7 @@
msg = trau_decode_efr(1, &tf);
OSMO_ASSERT(msg != NULL);
frame = (struct gsm_data_frame *)msg->data;
- OSMO_ASSERT(frame->msg_type == GSM_TCHF_BAD_FRAME);
+ OSMO_ASSERT(frame->msg_type == GSM_BAD_FRAME);
msgb_free(msg);
}