osmo-bsc/src/osmo-bsc
Philipp Maier cc6d35d788 abis_rsl: prioritize emergency calls over regular calls
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. If
an emergency call is established while all channels are busy, an
arbitrary lchan is picked and freed. When freeing the lchan is done,
the queue is checked again and the emergency call is put on the free
lchan (TCH/H or TCH/F).

Change-Id: If8651265928797dbda9f528b544931dcfa4a0b36
Related: OS#4549
2020-09-07 12:44:41 +02:00
..
Makefile.am rename files acc_ramp.* -> acc.c* 2020-07-20 16:21:59 +02:00
a_reset.c ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent 2020-08-25 19:04:24 +02:00
abis_bs11.c dissolve libbsc: move all to src/osmo-bsc, link .o files 2018-06-07 19:09:06 +02:00
abis_nm.c Move struct gsm_bts_trx: gsm-data.* => bts_trx.* 2020-07-18 21:45:32 +00:00
abis_nm_ipaccess.c dissolve libbsc: move all to src/osmo-bsc, link .o files 2018-06-07 19:09:06 +02:00
abis_nm_vty.c VTY: let all descriptions end in \n 2020-03-27 10:15:01 +01:00
abis_om2000.c bts: Drop duplicated function to get trx by number 2020-07-18 21:45:32 +00:00
abis_om2000_vty.c bts: Drop duplicated function to get trx by number 2020-07-18 21:45:32 +00:00
abis_rsl.c abis_rsl: prioritize emergency calls over regular calls 2020-09-07 12:44:41 +02:00
acc.c acc: Fix ACC rotate barring highest ACCs too quickly during wraparound 2020-08-27 14:05:14 +02:00
arfcn_range_encode.c range_enc_determine_range(): Don't dereference array on size=0 2018-10-21 11:10:23 +02:00
assignment_fsm.c lchan_fsm: make rsl mode-modify working again 2020-09-03 21:35:25 +02:00
bsc_ctrl_commands.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
bsc_ctrl_lookup.c bts: Drop duplicated function to get trx by number 2020-07-18 21:45:32 +00:00
bsc_init.c CBSP: add local bind to client mode 2020-08-29 07:57:59 +00:00
bsc_rf_ctrl.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
bsc_rll.c dissolve libbsc: move all to src/osmo-bsc, link .o files 2018-06-07 19:09:06 +02:00
bsc_subscr_conn_fsm.c handover_fsm: signal Clear from gscon, for proper HO result counts 2020-08-31 18:01:17 +02:00
bsc_subscriber.c remove extract_sub(), add bsc_subscr_find_or_create_by_mi() 2020-06-16 14:56:57 +02:00
bsc_vty.c vty: add a command to clear hopping ARFCN list 2020-09-03 10:57:44 +00:00
bts.c abis_rsl: prioritize emergency calls over regular calls 2020-09-07 12:44:41 +02:00
bts_ericsson_rbs2000.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
bts_init.c dissolve libbsc: move all to src/osmo-bsc, link .o files 2018-06-07 19:09:06 +02:00
bts_ipaccess_nanobts.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
bts_ipaccess_nanobts_omlattr.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
bts_nokia_site.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
bts_siemens_bs11.c BS-11: Fix "CONNECT TERRESTRIAL TRAFFIC" 2020-08-01 17:13:36 +02:00
bts_sysmobts.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
bts_trx.c Move gsm_bts_{trx_}set_system_infos APIs to bts{_trx}.* 2020-07-18 21:45:32 +00:00
bts_unknown.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
cbch_scheduler.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
cbsp_link.c CBSP VTY: re-add legacy cbc config for backwards compat 2020-09-03 15:04:29 +02:00
chan_alloc.c chan_alloc: Fix typo in a comment. 2020-08-12 18:38:06 +00:00
codec_pref.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
e1_config.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
gsm_04_08_rr.c lchan_fsm: make rsl mode-modify working again 2020-09-03 21:35:25 +02:00
gsm_08_08.c bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT 2020-08-26 19:05:59 +00:00
gsm_data.c Move struct gsm_bts_trx: gsm-data.* => bts_trx.* 2020-07-18 21:45:32 +00:00
handover_cfg.c dissolve libbsc: move all to src/osmo-bsc, link .o files 2018-06-07 19:09:06 +02:00
handover_decision.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
handover_decision_2.c hodec2: log requirements of best candidate, log rxlev in dBm 2020-08-10 21:25:57 +02:00
handover_fsm.c handover_fsm: signal Clear from gscon, for proper HO result counts 2020-08-31 18:01:17 +02:00
handover_logic.c handover: fix detection for ambiguous HO neighbor ident 2020-08-31 18:01:17 +02:00
handover_vty.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
lchan_fsm.c abis_rsl: prioritize emergency calls over regular calls 2020-09-07 12:44:41 +02:00
lchan_rtp_fsm.c Fail on invalid IP addresses passed to IPACC MDCX 2020-09-02 10:24:34 +00:00
lchan_select.c abis_rsl: prioritize emergency calls over regular calls 2020-09-07 12:44:41 +02:00
meas_feed.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
meas_rep.c dissolve libbsc: move all to src/osmo-bsc, link .o files 2018-06-07 19:09:06 +02:00
neighbor_ident.c inter-BSC HO: neighbor_ident API: drop 9bit BSIC 2018-07-28 12:18:23 +02:00
neighbor_ident_vty.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
net_init.c MSC pooling: make NRI mappings VTY configurable 2020-06-17 00:14:01 +02:00
osmo_bsc_bssap.c Implement support for receiving BSSMAP CommonID from MSC 2020-08-17 13:04:03 +02:00
osmo_bsc_ctrl.c ctrl: Fix CTRL TRAP for {msc.X,msc_)connection_status not sent 2020-08-25 19:04:24 +02:00
osmo_bsc_filter.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
osmo_bsc_grace.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
osmo_bsc_lcls.c Fix some typos 2019-11-13 22:10:41 +01:00
osmo_bsc_main.c generate_ma_for_ts(): fix: properly encode ARFCN 0 (corner case) 2020-09-06 22:40:04 +07:00
osmo_bsc_mgcp.c Use OSMO_FD_* instead of deprecated BSC_FD_* 2020-07-15 18:38:11 +02:00
osmo_bsc_msc.c Implement support for receiving BSSMAP CommonID from MSC 2020-08-17 13:04:03 +02:00
osmo_bsc_sigtran.c Change default SCTP conn NULL->127.0.0.1 to localhost->localhost 2020-08-25 13:50:06 +00:00
paging.c paging: Remove obsolete comment. 2020-08-12 18:37:55 +00:00
pcu_sock.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
penalty_timers.c cosmetic: penalty timers: constify, tweak doc 2018-06-08 16:16:42 +00:00
rest_octets.c Move struct gsm_bts: gsm_data.* => bts.* 2020-07-18 21:45:32 +00:00
smscb.c CBSP: log CBSP RESET on NOTICE 2020-08-25 11:42:23 +00:00
system_information.c SI Type 4: fix missing CBCH Mobile Allocation IE 2020-09-03 10:57:44 +00:00
timeslot_fsm.c timeslot_fsm: Name TS FSM instances on allocation. 2020-08-12 18:38:18 +00:00