Change in osmocom-bb[master]: virt_phy: implement GSMTAP_CHANNEL_VOICE

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Sat Mar 7 15:47:24 UTC 2020


laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/17415 )


Change subject: virt_phy: implement GSMTAP_CHANNEL_VOICE
......................................................................

virt_phy: implement GSMTAP_CHANNEL_VOICE

Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22
---
M src/host/virt_phy/configure.ac
M src/host/virt_phy/src/gsmtapl1_if.c
2 files changed, 17 insertions(+), 7 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/15/17415/1

diff --git a/src/host/virt_phy/configure.ac b/src/host/virt_phy/configure.ac
index a2c2bf6..fbff2c1 100644
--- a/src/host/virt_phy/configure.ac
+++ b/src/host/virt_phy/configure.ac
@@ -12,6 +12,8 @@
 AC_PROG_INSTALL
 
 dnl checks for libraries
+dnl TODO: insert libosmocore version with GSMTAP_CHANNEL_VOICE: PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.4.0)
+dnl       (at time of writing not released yet)
 PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore)
 PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm)
 
diff --git a/src/host/virt_phy/src/gsmtapl1_if.c b/src/host/virt_phy/src/gsmtapl1_if.c
index 30f88ff..e91af8e 100644
--- a/src/host/virt_phy/src/gsmtapl1_if.c
+++ b/src/host/virt_phy/src/gsmtapl1_if.c
@@ -76,6 +76,11 @@
 		subslot = 0;
 		gsmtap_chan = chantype_rsl2gsmtap(rsl_chantype, 0);
 		break;
+	case L1CTL_TRAFFIC_REQ:
+		ul = (struct l1ctl_info_ul *)l1h->data;
+		rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, &timeslot);
+		gsmtap_chan = GSMTAP_CHANNEL_VOICE;
+		break;
 	default:
 		ul = (struct l1ctl_info_ul *)l1h->data;
 		rsl_dec_chan_nr(ul->chan_nr, &rsl_chantype, &subslot, &timeslot);
@@ -219,13 +224,7 @@
 	switch (gsmtap_chantype & ~GSMTAP_CHANNEL_ACCH & 0xff) {
 	case GSMTAP_CHANNEL_TCH_H:
 	case GSMTAP_CHANNEL_TCH_F:
-#if 0
-		/* TODO: handle voice */
-		if (!facch && !tch_acch) {
-			l1ctl_tx_traffic_ind(msg, arfcn, link_id, chan_nr, fn,
-					     snr, signal_dbm, 0, 0);
-		}
-#endif
+		/* This is TCH signalling, for voice frames see GSMTAP_CHANNEL_VOICE */
 	case GSMTAP_CHANNEL_SDCCH4:
 	case GSMTAP_CHANNEL_SDCCH8:
 		/* only forward messages on dedicated channels to l2, if
@@ -235,6 +234,15 @@
 			l1ctl_tx_data_ind(ms, msg, arfcn, link_id, chan_nr, fn, snr_db, signal_dbm, 0, 0);
 		}
 		break;
+	case GSMTAP_CHANNEL_VOICE:
+		/* only forward messages on dedicated channels to l2, if
+		 * the timeslot and subslot is fitting */
+		if (ms->state.dedicated.tn == timeslot
+		    && ms->state.dedicated.subslot == subslot) {
+			l1ctl_tx_traffic_ind(ms, msg, arfcn, link_id, chan_nr, fn,
+					     snr_db, signal_dbm, 0, 0);
+		}
+		break;
 	case GSMTAP_CHANNEL_CBCH51:
 		/* only pass CBCH data if the user application actually indicated that a CBCH
 		 * is present */

-- 
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/17415
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Id72cf23b7c6587efae4cdaa7b50ab4d85b8c8d22
Gerrit-Change-Number: 17415
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200307/99fc51eb/attachment.htm>


More information about the gerrit-log mailing list