aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2020-03-10 22:44:01 +0100
committerlaforge <laforge@osmocom.org>2020-04-21 21:03:55 +0000
commit7b0da0650dde3dd08713ca57fb28a256a2e5000b (patch)
treebb62ac31d0de3e19d71c85d914e40566560e4bf2
parent187f7c8713eb3cbcf3bc7a524c4b8e13671695f8 (diff)
osmo-bts-virtual: Avoid rejecting AMR in uplink
-rw-r--r--src/osmo-bts-virtual/scheduler_virtbts.c43
1 files changed, 2 insertions, 41 deletions
diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c
index 72a68744..a60c9e01 100644
--- a/src/osmo-bts-virtual/scheduler_virtbts.c
+++ b/src/osmo-bts-virtual/scheduler_virtbts.c
@@ -386,47 +386,8 @@ inval_mode1:
}
break;
case GSM48_CMODE_SPEECH_AMR: /* AMR */
-#if 0
- len = amr_decompose_payload(msg_tch->l2h,
- msgb_l2len(msg_tch), &cmr_codec, &ft_codec,
- &bfi);
- cmr = -1;
- ft = -1;
- for (i = 0; i < chan_state->codecs; i++) {
- if (chan_state->codec[i] == cmr_codec)
- cmr = i;
- if (chan_state->codec[i] == ft_codec)
- ft = i;
- }
- if (cmr >= 0) { /* new request */
- chan_state->dl_cmr = cmr;
- /* disable AMR loop */
- trx_loop_amr_set(chan_state, 0);
- } else {
- /* enable AMR loop */
- trx_loop_amr_set(chan_state, 1);
- }
- if (ft < 0) {
- LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn,
- "Codec (FT = %d) of RTP frame not in list. ", ft_codec);
- goto free_bad_msg;
- }
- if (codec_mode_request && chan_state->dl_ft != ft) {
- LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn,
- "Codec (FT = %d) of RTP cannot be changed now, but in "
- "next frame\n", ft_codec);
- goto free_bad_msg;
- }
- chan_state->dl_ft = ft;
- if (bfi) {
- LOGL1S(DL1P, LOGL_NOTICE, l1t, tn, chan, fn,
- "Transmitting 'bad AMR frame'\n");
- goto free_bad_msg;
- }
-#else
- LOGL1S(DL1P, LOGL_ERROR, l1t, tn, chan, fn, "AMR not supported!\n");
- goto free_bad_msg;
-#endif
+ /* TODO: check length for consistency */
+ goto send_frame;
break;
default:
inval_mode2: