2016-09-08 22:43:15 +00:00
|
|
|
AM_CPPFLAGS = \
|
|
|
|
$(all_includes) \
|
|
|
|
-I$(top_srcdir)/include \
|
|
|
|
-I$(top_builddir) \
|
|
|
|
$(NULL)
|
2010-06-30 06:33:01 +00:00
|
|
|
|
2016-09-08 22:43:15 +00:00
|
|
|
AM_CFLAGS = \
|
|
|
|
-Wall \
|
|
|
|
$(LIBOSMOCORE_CFLAGS) \
|
|
|
|
$(LIBOSMOGSM_CFLAGS) \
|
|
|
|
$(LIBOSMOVTY_CFLAGS) \
|
|
|
|
$(LIBOSMOABIS_CFLAGS) \
|
2018-01-15 18:26:06 +00:00
|
|
|
$(LIBOSMOMGCP_CFLAGS) \
|
|
|
|
$(LIBOSMOSIGTRAN_CFLAGS) \
|
2016-09-08 22:43:15 +00:00
|
|
|
$(COVERAGE_CFLAGS) \
|
|
|
|
$(NULL)
|
2010-06-30 06:33:01 +00:00
|
|
|
|
2016-09-08 22:43:15 +00:00
|
|
|
noinst_LIBRARIES = \
|
|
|
|
libbsc.a \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
libbsc_a_SOURCES = \
|
|
|
|
abis_nm.c \
|
|
|
|
abis_nm_vty.c \
|
|
|
|
abis_om2000.c \
|
|
|
|
abis_om2000_vty.c \
|
|
|
|
abis_rsl.c \
|
2018-02-13 22:28:46 +00:00
|
|
|
a_reset.c \
|
2016-09-08 22:43:15 +00:00
|
|
|
bsc_rll.c \
|
add struct bsc_subscr, separating libbsc from gsm_subscriber
In a future commit, gsm_subscriber will be replaced by vlr_subscr, and it will
not make sense to use vlr_subscr in libbsc. Thus we need a dedicated BSC
subscriber: struct bsc_subscr.
Add rf_policy arg to bsc_grace_paging_request() because the bsc_subscr will no
longer have a backpointer to gsm_network (used to be via subscr->group).
Create a separate logging filter for the new BSC subscriber. The implementation
of adjusting the filter context is added in libbsc to not introduce
bsc_subscr_get/_put() dependencies to libcommon.
During Paging Response, fetch a bsc_subscr from the mobile identity, like we do
for the gsm_subscriber. It looks like a duplication now, but will make sense
for the VLR as well as for future MSC split patches.
Naming: it was requested to not name the new struct bsc_sub, because 'sub' is
too ambiguous. At the same time it would be fine to have 'bsc_sub_' as function
prefix. Instead of struct bsc_subscriber and bsc_sub_ prefix, I decided to
match both up as struct bsc_subscr and bsc_subscr_ function prefix. It's fast
to type, relatively short, unambiguous, and the naming is consistent.
Add bsc_subscr unit test.
Related: OS#1592, OS#1594
Change-Id: Ia61cc00e8bb186b976939a4fc8f7cf9ce6aa3d8e
2017-02-18 21:20:46 +00:00
|
|
|
bsc_subscriber.c \
|
2016-09-08 22:43:15 +00:00
|
|
|
paging.c \
|
|
|
|
bts_ericsson_rbs2000.c \
|
|
|
|
bts_ipaccess_nanobts.c \
|
|
|
|
bts_siemens_bs11.c \
|
|
|
|
bts_nokia_site.c \
|
|
|
|
bts_unknown.c \
|
|
|
|
bts_sysmobts.c \
|
|
|
|
chan_alloc.c \
|
2018-02-13 22:23:51 +00:00
|
|
|
gsm_data.c \
|
2016-09-08 22:43:15 +00:00
|
|
|
handover_decision.c \
|
|
|
|
handover_logic.c \
|
|
|
|
meas_rep.c \
|
2016-10-26 13:19:41 +00:00
|
|
|
pcu_sock.c \
|
2016-09-08 22:43:15 +00:00
|
|
|
rest_octets.c \
|
|
|
|
system_information.c \
|
|
|
|
e1_config.c \
|
|
|
|
bsc_api.c \
|
|
|
|
bsc_msc.c bsc_vty.c \
|
|
|
|
gsm_04_08_utils.c \
|
2016-05-10 10:50:31 +00:00
|
|
|
gsm_04_80_utils.c \
|
2016-09-08 22:43:15 +00:00
|
|
|
bsc_init.c \
|
|
|
|
bts_init.c \
|
|
|
|
bsc_rf_ctrl.c \
|
|
|
|
arfcn_range_encode.c \
|
|
|
|
bsc_ctrl_commands.c \
|
|
|
|
bsc_ctrl_lookup.c \
|
|
|
|
net_init.c \
|
|
|
|
bsc_dyn_ts.c \
|
2016-09-29 15:01:57 +00:00
|
|
|
bts_ipaccess_nanobts_omlattr.c \
|
HO prep: introduce per-BTS handover config, with defaults on net node
It is desirable to allow configuring handover for each individual network cell.
At the same time, it is desirable to set global defaults.
Treat the 'network' node handover parameters as global defaults, add another
set of parameters for each individual BTS.
This raises questions on how the 'network' node should affect the individual
BTS. The simplistic solution would have been: on creating a BTS in the config,
just copy the current defaults; with serious drawbacks:
- tweaking any parameter in the telnet VTY on network node will never affect
any running BTS.
- network node defaults *must* be issued before the bts sections in the config
file.
- when writing a config back to file, we would copy all net node defaults to
each BTS node, making the network node configs pointless.
Instead, add a handover_cfg API that tracks whether a given node has a value
set or not. A bts node ho_cfg gets a pointer to the network node config and
returns those values if locally unset. If no value is set on any node, use the
"factory" defaults, which are hardcoded in the API. Only write back exactly
those config items that were actually issued in a config file / on the telnet
VTY. (ho_cfg API wise, we could trivially add another ho_cfg level per TRX if
we so desire in the future.)
Implement ho parameters as an opaque config struct with getters and setters to
ensure the tracking is always heeded. Opaqueness dictates allocating instead of
direct embedding in gsm_network and gsm_bts structs, ctx is gsm_net / bts.
This is 100% backwards compatible to
old configs.
- No VTY command syntax changes (only the online help).
- If a 'bts' sets nothing, it will use the 'network' defaults.
- The 'show network' output only changes in presence of individual BTS configs.
On 'show network', say "Handover: On|Off" as before, iff all BTS reflect
identical behavior. Otherwise, output BTS counts of handover being enabled or
not.
Use the same set of VTY commands (same VTY cmd syntax as before) on network and
BTS nodes, i.e. don't duplicate VTY code. From the current vty->node, figure
out which ho_cfg to modify.
For linking, add handover_cfg.c (the value API) in libcommon, while the
handover_vty.c is in libbsc. This is mainly because some utility programs use
gsm_network and hence suck in the ho stuff, but don't need the VTY commands.
Review the VTY online help strings.
Add VTY transcript test for handover options, testing config propagation from
network to bts nodes, 'show network' output and VTY online help strings.
(Needs recent addition of '... !' wildcard to osmo_interact_common.py.)
I considered leaving parts of this more readable, but in the end decided for
heavy use of macros to define and declare the API, because more values will be
added in upcoming patches and I want to prevent myself from messing them up.
Inspired-by: jolly/new_handover branch, which moves the config to 'bts' level
Depends: I7c1ebb2e7f059047903a53de26a0ec1ce7fa9b98 (osmo-python-tests)
Change-Id: I79d35f6d3c0fbee67904378ad7f216df34fde79a
2017-11-27 20:29:33 +00:00
|
|
|
handover_vty.c \
|
2018-02-13 22:23:51 +00:00
|
|
|
handover_cfg.c \
|
2016-09-08 22:43:15 +00:00
|
|
|
$(NULL)
|
2010-06-30 06:33:01 +00:00
|
|
|
|