aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc/abis_rsl.h
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2020-08-21 22:40:23 +0200
committerDaniel Willmann <dwillmann@sysmocom.de>2020-08-31 09:36:55 +0200
commitbe027ad003625b01a731333d2acd78c01295cdcb (patch)
treed4c866c8aeab2bc10f01e8ba36b8dfe956c39f88 /include/osmocom/bsc/abis_rsl.h
parent43a00c945ba47a32264dbfe292275bc7bdfe7490 (diff)
abis_rsl: prioritize emergency calls over regular callsdaniel/emerg
when an emergency call arrives while all TCH are busy, the BSC should pick an arbitrary (preferably the longest lasting) call / lchan and release it in favor of the incoming emergancy call. The release of the existing call is a process that can not be done synchronously while the ChanRQD is handled sonce multiple messages are exchanged between BTS and MSC and multiple FSMs need to do their work. To be able to release one lchan while handling a ChanRQD a queue is implemented in which the incomming channel requests are collected. The queue is checked regulary for incoming requests. If one of the requests is for an emergency call and if all channels are busy one channel is picked and released. It is also made sure that the incoming emergency call directly gets the TCH that was just released. Change-Id: If8651265928797dbda9f528b544931dcfa4a0b36 Related: OS#4549
Diffstat (limited to 'include/osmocom/bsc/abis_rsl.h')
-rw-r--r--include/osmocom/bsc/abis_rsl.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/osmocom/bsc/abis_rsl.h b/include/osmocom/bsc/abis_rsl.h
index 2611a3d00..146c63683 100644
--- a/include/osmocom/bsc/abis_rsl.h
+++ b/include/osmocom/bsc/abis_rsl.h
@@ -118,5 +118,7 @@ int ipacc_payload_type(enum gsm48_chan_mode tch_mode, enum gsm_chan_t type);
int rsl_tx_rf_chan_release(struct gsm_lchan *lchan);
+int abis_rsl_chan_rqd_queue_poll(struct gsm_bts *bts);
+
#endif /* RSL_MT_H */