summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-03-03 17:17:06 +0100
committerHarald Welte <laforge@osmocom.org>2020-03-09 19:35:49 +0100
commit1bafb2c125ee722784ba4de2515d9f5a24f6d13b (patch)
treee08666f07b4b95c6e1873575188cf18523f6e60e
parent419f617a3c04a68cd3054bb7bab9d0ab488937e2 (diff)
HACK: mobile: loopback voice frameslaforge/virt-voice
-rw-r--r--src/host/layer23/src/mobile/voice.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/host/layer23/src/mobile/voice.c b/src/host/layer23/src/mobile/voice.c
index 5106063e..bafe5de3 100644
--- a/src/host/layer23/src/mobile/voice.c
+++ b/src/host/layer23/src/mobile/voice.c
@@ -36,15 +36,19 @@ static int gsm_recv_voice(struct osmocom_ms *ms, struct msgb *msg)
{
struct gsm_data_frame *mncc;
+ /* Drop the l1ctl_info_dl header */
+ msgb_pull_to_l2(msg);
+ /* push mncc header in front of data */
+ mncc = (struct gsm_data_frame *)
+ msgb_push(msg, sizeof(struct gsm_data_frame));
+ mncc->msg_type = GSM_TCHF_FRAME;
+ mncc->callref = ms->mncc_entity.ref;
+
+ /* HACK: send voice frame back */
+ gsm_send_voice(ms, mncc);
+
/* distribute and then free */
if (ms->mncc_entity.mncc_recv && ms->mncc_entity.ref) {
- /* Drop the l1ctl_info_dl header */
- msgb_pull_to_l2(msg);
- /* push mncc header in front of data */
- mncc = (struct gsm_data_frame *)
- msgb_push(msg, sizeof(struct gsm_data_frame));
- mncc->msg_type = GSM_TCHF_FRAME;
- mncc->callref = ms->mncc_entity.ref;
ms->mncc_entity.mncc_recv(ms, mncc->msg_type, mncc);
}