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

dexter gerrit-no-reply at lists.osmocom.org
Tue Jan 26 21:20:41 UTC 2021


dexter has uploaded this change for review. ( 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, 12 insertions(+), 10 deletions(-)



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

diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c
index 321bcb4..9f25483 100644
--- a/src/osmo-bsc/abis_rsl.c
+++ b/src/osmo-bsc/abis_rsl.c
@@ -1684,6 +1684,18 @@
 		return;
 	}
 
+	/* 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);
+			llist_del(&rqd->entry);
+			talloc_free(rqd);
+			return;
+		}
+	}
+
 	/* Ensure that emergency calls will get priority over regular calls, however releasing
 	 * lchan in favor of an emergency call may take some time, so we exit here. The lchan_fsm
 	 * will poll again when an lchan becomes available. */
@@ -1702,16 +1714,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: 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/20210126/183ede1d/attachment.htm>


More information about the gerrit-log mailing list