aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/mncc_builtin.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-03-20 22:36:27 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-03-20 22:36:27 +0100
commit870cc0fdac4251d9b8e8f7382ae6d196e16cb253 (patch)
tree9e8573b119876ef29c79f50ed5bb24f84d9008d7 /openbsc/src/libmsc/mncc_builtin.c
parentf50f70452fca8e049f18be68343c176b4717e540 (diff)
parent63bfdd83ea94bef8f6b1a2756e80e7b2e8b46250 (diff)
Merge branch 'jolly/mncc'
Merge the interface changes to the MNCC protocol
Diffstat (limited to 'openbsc/src/libmsc/mncc_builtin.c')
-rw-r--r--openbsc/src/libmsc/mncc_builtin.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/openbsc/src/libmsc/mncc_builtin.c b/openbsc/src/libmsc/mncc_builtin.c
index be3545475..a5a463beb 100644
--- a/openbsc/src/libmsc/mncc_builtin.c
+++ b/openbsc/src/libmsc/mncc_builtin.c
@@ -273,8 +273,8 @@ static int mncc_rel_cnf(struct gsm_call *call, int msg_type, struct gsm_mncc *re
return 0;
}
-/* receiving a TCH/F frame from the BSC code */
-static int mncc_rcv_tchf(struct gsm_call *call, int msg_type,
+/* receiving a (speech) traffic frame from the BSC code */
+static int mncc_rcv_data(struct gsm_call *call, int msg_type,
struct gsm_data_frame *dfr)
{
struct gsm_trans *remote_trans;
@@ -339,16 +339,14 @@ int int_mncc_recv(struct gsm_network *net, struct msgb *msg)
DEBUGP(DMNCC, "(call %x) Call created.\n", call->callref);
}
- switch (msg_type) {
- case GSM_TCHF_FRAME:
- case GSM_TCHF_FRAME_EFR:
- break;
- default:
- DEBUGP(DMNCC, "(call %x) Received message %s\n", call->callref,
- get_mncc_name(msg_type));
- break;
+ if (mncc_is_data_frame(msg_type)) {
+ rc = mncc_rcv_data(call, msg_type, arg);
+ goto out_free;
}
+ DEBUGP(DMNCC, "(call %x) Received message %s\n", call->callref,
+ get_mncc_name(msg_type));
+
switch(msg_type) {
case MNCC_SETUP_IND:
rc = mncc_setup_ind(call, msg_type, arg);
@@ -408,10 +406,6 @@ int int_mncc_recv(struct gsm_network *net, struct msgb *msg)
call->callref, data->cause.value);
rc = mncc_tx_to_cc(net, MNCC_RETRIEVE_REJ, data);
break;
- case GSM_TCHF_FRAME:
- case GSM_TCHF_FRAME_EFR:
- rc = mncc_rcv_tchf(call, msg_type, arg);
- break;
default:
LOGP(DMNCC, LOGL_NOTICE, "(call %x) Message unhandled\n", callref);
break;