Change in osmo-bsc[master]: abis_rsl: check if emergency calling is disabled before premption

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
Wed Jan 27 09:55:59 UTC 2021


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/22455 )

Change subject: abis_rsl: check if emergency calling is disabled before premption
......................................................................

abis_rsl: check if emergency calling is disabled before premption

If an emergency call arrives at the BSC while all TCH are busy, one TCH
is cleared in favor of the emergency call. However, if emergency calls
are disabled (system information), it is still possible that an MS might
try an emergency call anyway or that due to interference a regular call
might look like an emergency call (channel request reason). In those
cases the preemption must not happen and the emergency call must be
rejected.

Change-Id: I1af1f4fefcbe6a886bb5396901ce0cb2368a0e19
Related: OS#4976
---
M src/osmo-bsc/abis_rsl.c
1 file changed, 11 insertions(+), 10 deletions(-)

Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved



diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 321bcb4..388e2fc 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -1546,6 +1546,17 @@
 		break;
 	}
 
+	/* Block emergency calls if we explicitly disable them via sysinfo. */
+	if (rqd->reason == GSM_CHREQ_REASON_EMERG) {
+		if (bts->si_common.rach_control.t2 & 0x4) {
+			LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: MS attempts EMERGENCY CALL although EMERGENCY CALLS "
+				"are not allowed in sysinfo (spec violation by MS!)\n");
+			rsl_tx_imm_ass_rej(bts, &rqd->ref);
+			talloc_free(rqd);
+			return 0;
+		}
+	}
+
 	/* Enqueue request */
 	llist_add_tail(&rqd->entry, &bts->chan_rqd_queue);
 
@@ -1702,16 +1713,6 @@
 	 * - If there is still no channel available, try a TCH/F.
 	 *
 	 */
-	if (rqd->reason == GSM_CHREQ_REASON_EMERG) {
-		if (bts->si_common.rach_control.t2 & 0x4) {
-			LOG_BTS(bts, DRSL, LOGL_NOTICE, "CHAN RQD: MS attempts EMERGENCY CALL although EMERGENCY CALLS "
-				"are not allowed in sysinfo (spec violation by MS!)\n");
-			rsl_tx_imm_ass_rej(bts, &rqd->ref);
-			llist_del(&rqd->entry);
-			talloc_free(rqd);
-			return;
-		}
-	}
 
 	/* Emergency calls will be put on a free TCH/H or TCH/F directly in the code below, all other channel requests
 	 * will get an SDCCH first (if possible). */

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I1af1f4fefcbe6a886bb5396901ce0cb2368a0e19
Gerrit-Change-Number: 22455
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210127/96617b1a/attachment.htm>


More information about the gerrit-log mailing list