Change in osmo-bsc[master]: rtp_fsm, vty: check with is_ipaccess_bts() before using IPACC

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/.

dexter gerrit-no-reply at lists.osmocom.org
Mon Jun 22 20:44:29 UTC 2020


dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/18971 )


Change subject: rtp_fsm, vty: check with is_ipaccess_bts() before using IPACC
......................................................................

rtp_fsm, vty: check with is_ipaccess_bts() before using IPACC

The IPACC protocol is an extension to the conventional RSL protocol
negotiate ip address and port for RTP/VoIP. This protocol is BTS
specific (sysmobts, ip-access nanobts) and not used with E1 BTSs, not
all locations in osmo-bts check the bts type before using IPACC, lets
add checks to prevent IPACC messages to be sent to E1 or otherwise
incompatible BTSs models.

Change-Id: I9ee78b6b1d342abaccc09a87dee6af79e76e5468
Related: OS#2547
---
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/lchan_rtp_fsm.c
2 files changed, 20 insertions(+), 14 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/71/18971/1

diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c
index 9896bff..e8c9ece 100644
--- a/src/osmo-bsc/bsc_vty.c
+++ b/src/osmo-bsc/bsc_vty.c
@@ -5044,7 +5044,8 @@
 		}
 		vty_out(vty, "%% activating lchan %s%s", gsm_lchan_name(lchan), VTY_NEWLINE);
 		rsl_tx_chan_activ(lchan, RSL_ACT_TYPE_INITIAL, 0);
-		rsl_tx_ipacc_crcx(lchan);
+		if (is_ipaccess_bts(lchan->ts->trx->bts))
+			rsl_tx_ipacc_crcx(lchan);
 	} else {
 		if (!lchan->fi) {
 			vty_out(vty, "%% Cannot release: Channel not initialized%s", VTY_NEWLINE);
@@ -5134,7 +5135,8 @@
 		inet_ntoa(ia), port, VTY_NEWLINE);
 	lchan->abis_ip.connect_ip = ia.s_addr;
 	lchan->abis_ip.connect_port = port;
-	rsl_tx_ipacc_mdcx(lchan);
+	if (is_ipaccess_bts(lchan->ts->trx->bts))
+		rsl_tx_ipacc_mdcx(lchan);
 	return CMD_SUCCESS;
 }
 
diff --git a/src/osmo-bsc/lchan_rtp_fsm.c b/src/osmo-bsc/lchan_rtp_fsm.c
index 25aca14..c1de222 100644
--- a/src/osmo-bsc/lchan_rtp_fsm.c
+++ b/src/osmo-bsc/lchan_rtp_fsm.c
@@ -280,12 +280,14 @@
 	lchan->abis_ip.rtp_payload = val;
 
 	/* recv-only */
-	ipacc_speech_mode_set_direction(&lchan->abis_ip.speech_mode, false);
-
-	rc = rsl_tx_ipacc_crcx(lchan);
-	if (rc)
-		lchan_rtp_fail("Failure to transmit IPACC CRCX to BTS (rc=%d, %s)",
-			   rc, strerror(-rc));
+	if (is_ipaccess_bts(lchan->ts->trx->bts)) {
+		ipacc_speech_mode_set_direction(&lchan->abis_ip.speech_mode, false);
+		rc = rsl_tx_ipacc_crcx(lchan);
+		if (rc) {
+			lchan_rtp_fail("Failure to transmit IPACC CRCX to BTS (rc=%d, %s)",
+				       rc, strerror(-rc));
+		}
+	}
 }
 
 static void lchan_rtp_fsm_wait_ipacc_crcx_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data)
@@ -342,12 +344,14 @@
 	lchan->abis_ip.connect_port = mgw_rtp->port;
 
 	/* send-recv */
-	ipacc_speech_mode_set_direction(&lchan->abis_ip.speech_mode, true);
-
-	rc = rsl_tx_ipacc_mdcx(lchan);
-	if (rc)
-		lchan_rtp_fail("Failure to transmit IPACC MDCX to BTS (rc=%d, %s)",
-			   rc, strerror(-rc));
+	if (is_ipaccess_bts(lchan->ts->trx->bts)) {
+		ipacc_speech_mode_set_direction(&lchan->abis_ip.speech_mode, true);
+		rc = rsl_tx_ipacc_mdcx(lchan);
+		if (rc) {
+			lchan_rtp_fail("Failure to transmit IPACC MDCX to BTS (rc=%d, %s)",
+				       rc, strerror(-rc));
+		}
+	}
 
 }
 

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I9ee78b6b1d342abaccc09a87dee6af79e76e5468
Gerrit-Change-Number: 18971
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200622/3dbf0c2a/attachment.htm>


More information about the gerrit-log mailing list