aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2012-03-08 14:39:19 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2017-12-01 03:37:42 +0100
commit5f90332ae39cf4f46f9a7ed85b277be2a5eae5fb (patch)
tree0151fa7cb8be919b529daa7f3b671558eb3796ce /src/libmsc
parente5c7567607b4fb455206faddcae390053b73e220 (diff)
Finished support for all codecs (RTP bridge and MNCC interface)
The codes is not yet tested. AMR rate is currently fixed to 5.9k.
Diffstat (limited to 'src/libmsc')
-rw-r--r--src/libmsc/gsm_04_08.c3
-rw-r--r--src/libmsc/mncc.c5
-rw-r--r--src/libmsc/mncc_builtin.c6
-rw-r--r--src/libmsc/mncc_sock.c10
4 files changed, 16 insertions, 8 deletions
diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c
index 2623510e6..0767c722f 100644
--- a/src/libmsc/gsm_04_08.c
+++ b/src/libmsc/gsm_04_08.c
@@ -3031,7 +3031,8 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg)
return mncc_rtp(net, data->callref, (struct gsm_mncc_rtp *) arg);
case GSM_TCHF_FRAME:
case GSM_TCHF_FRAME_EFR:
- case GSM_TCHF_FRAME_HR:
+ case GSM_TCHH_FRAME:
+ case GSM_TCH_FRAME_AMR:
return tch_frame_down(net, data->callref, (struct gsm_data_frame *) arg);
}
diff --git a/src/libmsc/mncc.c b/src/libmsc/mncc.c
index b48477225..01e9c67d2 100644
--- a/src/libmsc/mncc.c
+++ b/src/libmsc/mncc.c
@@ -84,7 +84,10 @@ 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},
{NULL, 0} };
diff --git a/src/libmsc/mncc_builtin.c b/src/libmsc/mncc_builtin.c
index 5f909f739..665725b8a 100644
--- a/src/libmsc/mncc_builtin.c
+++ b/src/libmsc/mncc_builtin.c
@@ -342,7 +342,8 @@ int int_mncc_recv(struct gsm_network *net, struct msgb *msg)
switch (msg_type) {
case GSM_TCHF_FRAME:
case GSM_TCHF_FRAME_EFR:
- case GSM_TCHF_FRAME_HR:
+ case GSM_TCHH_FRAME:
+ case GSM_TCH_FRAME_AMR:
break;
default:
DEBUGP(DMNCC, "(call %x) Received message %s\n", call->callref,
@@ -411,7 +412,8 @@ int int_mncc_recv(struct gsm_network *net, struct msgb *msg)
break;
case GSM_TCHF_FRAME:
case GSM_TCHF_FRAME_EFR:
- case GSM_TCHF_FRAME_HR:
+ case GSM_TCHH_FRAME:
+ case GSM_TCH_FRAME_AMR:
rc = mncc_rcv_tchf(call, msg_type, arg);
break;
default:
diff --git a/src/libmsc/mncc_sock.c b/src/libmsc/mncc_sock.c
index da69dae34..5ae9cc402 100644
--- a/src/libmsc/mncc_sock.c
+++ b/src/libmsc/mncc_sock.c
@@ -56,8 +56,9 @@ int mncc_sock_from_cc(struct gsm_network *net, struct msgb *msg)
* otherwise we send it through MNCC interface */
if (msg_type == GSM_TCHF_FRAME
|| msg_type == GSM_TCHF_FRAME_EFR
- || msg_type == GSM_TCHF_FRAME_HR
- || msg_type == GSM_TCHF_BAD_FRAME) {
+ || msg_type == GSM_TCHH_FRAME
+ || msg_type == GSM_TCH_FRAME_AMR
+ || msg_type == GSM_BAD_FRAME) {
struct gsm_trans *trans = trans_find_by_callref(net, mncc_in->callref);
if (trans && trans->cc.rs) {
@@ -73,8 +74,9 @@ int mncc_sock_from_cc(struct gsm_network *net, struct msgb *msg)
"but socket is gone\n", get_mncc_name(msg_type));
if (msg_type != GSM_TCHF_FRAME
&& msg_type != GSM_TCHF_FRAME_EFR
- && msg_type != GSM_TCHF_FRAME_HR
- && msg_type != GSM_TCHF_BAD_FRAME) {
+ && msg_type != GSM_TCHH_FRAME
+ && msg_type != GSM_TCH_FRAME_AMR
+ && msg_type != GSM_BAD_FRAME) {
/* release the request */
struct gsm_mncc mncc_out;
memset(&mncc_out, 0, sizeof(mncc_out));