aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2014-01-31 09:02:01 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-03-20 22:36:16 +0100
commitf78fc4e76e961ae6c0a9d57c2d7e28b10b262510 (patch)
treefc5d530d8a18936454c7d3e0ed5219ddc7222636
parentf50f70452fca8e049f18be68343c176b4717e540 (diff)
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.
-rw-r--r--openbsc/include/openbsc/mncc.h6
-rw-r--r--openbsc/src/libmsc/mncc.c6
-rw-r--r--openbsc/src/libtrau/trau_mux.c2
-rw-r--r--openbsc/tests/trau/trau_test.c2
4 files changed, 11 insertions, 5 deletions
diff --git a/openbsc/include/openbsc/mncc.h b/openbsc/include/openbsc/mncc.h
index ffc247b7c..c61f6b8af 100644
--- a/openbsc/include/openbsc/mncc.h
+++ b/openbsc/include/openbsc/mncc.h
@@ -95,7 +95,9 @@ struct gsm_call {
#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 @@ struct gsm_data_frame {
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 b48477225..73db5f047 100644
--- a/openbsc/src/libmsc/mncc.c
+++ b/openbsc/src/libmsc/mncc.c
@@ -84,7 +84,11 @@ static struct mncc_names {
{"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 7b9bac0eb..fd1895f94 100644
--- a/openbsc/src/libtrau/trau_mux.c
+++ b/openbsc/src/libtrau/trau_mux.c
@@ -314,7 +314,7 @@ struct msgb *trau_decode_efr(uint32_t callref,
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 f8a48dbd8..b95f1e876 100644
--- a/openbsc/tests/trau/trau_test.c
+++ b/openbsc/tests/trau/trau_test.c
@@ -57,7 +57,7 @@ void test_trau_fr_efr(unsigned char *data)
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);
}