diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2012-03-08 14:39:19 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2017-12-01 03:37:42 +0100 |
commit | 5f90332ae39cf4f46f9a7ed85b277be2a5eae5fb (patch) | |
tree | 0151fa7cb8be919b529daa7f3b671558eb3796ce /src/libmsc | |
parent | e5c7567607b4fb455206faddcae390053b73e220 (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.c | 3 | ||||
-rw-r--r-- | src/libmsc/mncc.c | 5 | ||||
-rw-r--r-- | src/libmsc/mncc_builtin.c | 6 | ||||
-rw-r--r-- | src/libmsc/mncc_sock.c | 10 |
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)); |