osmo-bts/src/common
Vadim Yanitskiy 0e8d68437a osmo-bts-trx: implement BCCH carrier power reduction mode
The BCCH carrier (sometimes called C0) of a BTS shall maintain
discontinuous Downlink transmission at full power in order to
stay 'visible' to the mobile stations.  Because of that, early
versions of 3GPP TS 45.008 prohibited BS power reduction on C0.

However, in the recent 3GPP TS 45.008 there is a feature called
'BCCH carrier power reduction operation'.  This is a special
mode of operation, where the variation of RF level for some
timeslots is relaxed for the purpose of energy saving.

In BCCH carrier power reduction operation, for timeslots on the
C0 carrier, except timeslots carrying BCCH/CCCH, the output power
may be lower than the output power used for timeslots carrying
BCCH/CCCH.  In this case the maximum allowed difference in output
power actually transmitted by the BTS is 6 dB.

The power reduction operation can be controlled by the BSC by
sending BS POWER CONTROL on the A-bis/RSL with the Channel Number
IE set to 0x80 (RSL_CHAN_BCCH).  This makes osmo-bts reduce the
transmission power on inactive timeslots of the BCCH carrier.

This is a non-standard, Osmocom specific extension, so indicate
support of this feature to the BSC in the feature vector.  Also
add a VTY command to allow enabling/disabling the power reduction
locally.  Add some signalling notes to the A-bis/RSL manual.

For more details, see 3GPP TS 45.008, section 7.1.

Change-Id: I3dcee6e910ccc61c5c63c728db9ea04327e2fc98
Depends: I69283b3f35988fc7a1a1dcf1a1ad3b67f08ec716
Related: SYS#4919
2021-07-01 02:01:22 +02:00
..
Makefile.am Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU 2021-06-30 08:13:21 +00:00
abis.c Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU 2021-06-30 08:13:21 +00:00
abis_osmo.c Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU 2021-06-30 08:13:21 +00:00
amr.c rsl: refactor handling of RSL_IE_MR_CONFIG 2020-06-05 18:40:42 +07:00
bts.c osmo-bts-trx: implement BCCH carrier power reduction mode 2021-07-01 02:01:22 +02:00
bts_ctrl_commands.c power_ramp: Add support to get callback when ramping process completes 2020-06-18 19:11:55 +02:00
bts_ctrl_lookup.c Move struct gsm_bts_trx: gsm_data.* & bts.* => bts_trx.* 2020-07-14 09:44:06 +00:00
bts_shutdown_fsm.c bts_shutdown_fsm: Fix switching too quickly to state WAIT_TRX_CLOSED 2020-07-24 18:23:16 +02:00
bts_trx.c [VAMOS] Implement the concept of 'shadow' timeslots 2021-06-05 00:34:36 +02:00
cbch.c Fix common misspellings and typos 2019-10-17 08:05:35 +00:00
dtx_dl_amr_fsm.c Fix Downlink AMR FSM name to avoid illegal space character 2017-10-24 18:43:45 +02:00
gsm_data.c gsm_data: Drop unused function gsm_pchan_parse() 2021-06-29 16:09:15 +02:00
handover.c part 1 of: fix SAPIs for handover to match 48.058 4.1.{3,4} 2020-11-26 09:22:38 +00:00
l1sap.c Revert "power_control: BS power shall not be reduced on C0" 2021-06-30 23:45:12 +02:00
lchan.c cosmetic: common ts_is_pdch() 2016-08-30 07:35:47 +00:00
load_indication.c Move gsm_bts code gsm-data.* => bts.* 2020-07-05 18:18:16 +02:00
logging.c logging: use only LOGL_NOTICE as defualt loglevel 2020-04-14 13:20:21 +00:00
main.c main,abis: change model name from sysmoBTS to osmo-bts 2021-06-02 17:53:02 +02:00
measurement.c measurement: remove over-defensive checks in is_meas_complete() 2021-06-09 20:20:42 +00:00
msg_utils.c Move gsm_bts code gsm-data.* => bts.* 2020-07-05 18:18:16 +02:00
nm_bb_transc_fsm.c Introduce NM Channel FSM 2020-10-20 13:45:57 +00:00
nm_bts_fsm.c Introduce NM BTS FSM 2020-10-20 13:45:57 +00:00
nm_bts_sm_fsm.c Introduce NM BTS Site Manager FSM 2020-10-20 13:45:57 +00:00
nm_channel_fsm.c sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO 2021-05-17 14:23:30 +02:00
nm_common_fsm.c Add missing value_string for NM_EV_* introduced recently 2021-05-27 18:58:59 +02:00
nm_radio_carrier_fsm.c sysmo,oc2g,lc15: Make RadioChannel MO depend on RadioCarrier MO 2021-05-17 14:23:30 +02:00
oml.c oml: fix handling of NM_ATT_INTERF_BOUND attribute 2021-06-18 18:56:57 +02:00
paging.c paging: refactor and optimize fill_paging_type_1() 2021-01-15 17:36:46 +01:00
pcu_sock.c Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU 2021-06-30 08:13:21 +00:00
phy_link.c common/vty: facilitate finding duplicate PHY/TRX associations 2021-06-10 11:53:24 +00:00
power_control.c power_control: implement handling of P_Con_INTERVAL parameter 2021-02-07 23:08:57 +01:00
rsl.c osmo-bts-trx: implement BCCH carrier power reduction mode 2021-07-01 02:01:22 +02:00
scheduler.c osmo-bts-trx: implement BCCH carrier power reduction mode 2021-07-01 02:01:22 +02:00
scheduler_mframe.c trx_sched_is_sacch_fn(): fix handling of dynamic timeslots 2021-06-04 20:06:58 +00:00
sysinfo.c common/sysinfo: make struct gsm_bts_trx const in num_agch() 2021-05-08 17:41:02 +02:00
ta_control.c ta_control: fix Timing Advance control for SDCCH channels 2021-02-20 22:46:24 +01:00
tx_power.c power_control: implement BS (Downlink) Power Control 2020-12-06 18:57:43 +01:00
vty.c osmo-bts-trx: implement BCCH carrier power reduction mode 2021-07-01 02:01:22 +02:00