Commit Graph

6523 Commits

Author SHA1 Message Date
Pau Espin e5a9665c00 Bump version: 1.2.0.9-a7008 → 1.2.1
Change-Id: I5f6135b7e16cac95c58a1bbc147234e10ee37574
2018-05-15 14:10:38 +02:00
Neels Hofmeyr 5deea620dc cosmetic: dyn ts init: undup logging for gprs = none
Reshuffle the decision not to activate PDCH when GPRS is off:
Even though all current callers should avoid passing a PDCH activation in case
GPRS is off, it's a better idea to not assert on it and crash osmo-bsc.

Move the decision to omit PDCH activation and logging about it into the actual
functions that do PDCH activation. If PDCH activation is skipped, the lchan
then just stays as it was, and that's what it should anyway be doing.

Change-Id: Ib26642f08044d71a2469e6dbabf1e6fbcb02044d
2018-05-14 11:56:11 +00:00
Neels Hofmeyr d16732f693 log: indicate hr/fr in audio_support_to_gsm88() error
Change-Id: Iaaa710d0274fe813d227cb658d82a24db68c4161
2018-05-14 11:56:11 +00:00
Neels Hofmeyr 3ed1c593c6 fix default fallbacks in audio_support_to_gsm88()
For audio->hr == true, use HR1, and for hr == false use FR1; not vice versa.

Change-Id: Ifb4dba7c8e9c1d0a22a007355fbd2eda57e789d3
2018-05-14 11:56:11 +00:00
Neels Hofmeyr 78faf70fef deprecate dyn_ts_allow_tch_f and by default allow all TCH
In osmo-nitb, the way TCH lchans were assigned often resulted in mismatching
TCH kinds, causing problems in the lack of transcoding. Hence
dyn_ts_allow_tch_f was introduced as a workaround.

Now however, we always assign an SDCCH to a requesting MS first, and only later
assign a TCH channel, which then adheres to the codec list configured at 'msc'
in the vty config. Hence it is now considerably harder to obtain a mismatch.

Furthermore, forcing specific codecs is possible by simply omitting the
unwanted ones from the msc config's codec-list. The equivalent of
'dyn_ts_allow_tch_f 0' could be e.g. 'codec-list hr3 hr2 hr1'.

Change-Id: Ib2335d02ea545aff837aadd49f15b2fdb418c46e
2018-05-14 11:52:56 +00:00
Neels Hofmeyr a70084b035 debug log: verbosely log all lchan alloc choices
Change-Id: If0070b8f7b6cc7fffbc582cf9f472e60f3096000
2018-05-10 05:50:30 +02:00
Neels Hofmeyr 4281b7daa7 dyn TS: allow any pchan type changes, fix for gprs mode none
In rsl_chan_activate_lchan(), remove a condition to also allow switching pchan
modes when not in PDCH mode, which is actually not needed and would hinder
switching from pchan=NONE or between TCH/F <-> TCH/H.

Refactor the part where lchan_alloc() decides to switch a pchan mode into a
separate function, ts_usable_as_pchan(), which transparently checks both dyn TS
kinds for:

- Already in switchover? (missing check for ip.access style dyn TS)
- Is the lchan->state in error? (missing check for ip.access style dyn TS)
- Switch from pchan=NONE? (missing feature for Osmocom style dyn TS, for proper
  handling with gprs mode none)
- Switch between TCH/F <-> TCH/H when all subslots are unused?
  (missing feature for Osmocom style dyn TS, also useful for gprs mode none)

Always pass the desired pchan in the dyn_as_pchan argument to the _lc_find_*
functions to make switchover decisions transparent. Use the _lc_dyn_find_bts()
function for ip.access style dyn TS for the same reason.

Related: OS#3244
Change-Id: I72d5d833b186b1e1925d513885b405d8c19aa496
2018-05-10 04:53:53 +02:00
Neels Hofmeyr 91aa68f762 dyn TS: init only when both RSL and the Channel OM are established
Recent Icf6e25ff068e8a2600562d52726ead65e864ec02 changed the dyn_ts_init() hook
from bootstrap_rsl() to the Channel OPSTART ACK, but this is not sufficient.
Now RBS2k never calls dyn_ts_init(), and we may need to wait for RSL:

Dyn TS should actually be initialized only when *both* OML opstart and RSL link
are established. To that end, introduce a generalized API to query OML and RSL
status and to trigger a timeslot init at the appropriate time.

Add gsm_ts_check_init() to be called both when RSL and OML opstart are
established: trigger gsm_ts_init() only when both are given.

Add gsm_bts_trx_ts->initialized flag to mark whether initialization has already
taken place. Add gsm_bts_mark_all_ts_uninitialized() to conveniently clear this
flag for all TS in a BTS.

Add gsm_bts_model.oml_is_ts_ready() callback so that each BTS implementation
can return the OML status of a timeslot in its own OML implementation.
Actually, currently all BTS models that need this init mechanism store the TS'
OML status in ts->mo.nm_state. While we would in practice correctly init dyn TS
by just looking at ts->mo.nm_state, semantically, the decision whether the TS
is ready is up to the BTS models' specific OML implementations.

From bootstrap_rsl(), call gsm_ts_check_init(), in case the TS OML Opstart has
happened before RSL is established -- applies to all BTS models.

For all BTS models:
- call gsm_{bts,trx}_mark_all_ts_uninitialized() when OM is torn down, to make
  sure the TS init mechanism will work a second time.

For all BTS models supporting dyn TS, i.e. osmo-bts, nanobts and RBS2k:
- implement oml_is_ts_ready().
- call gsm_ts_check_init() when a Channel OM is taken into operation.

Any BTS models that don't set oml_is_ts_ready() will see a ts init as soon as
RSL is bootstrapped (incidentally, the old dyn TS behavior before recent
Icf6e25ff068e8a2600562d52726ead65e864ec02).

This firstly fixes dyn TS for RBS2k by re-adding the initial switch to PDCH,
and furthermore does so only after both OML TS opstart and RSL are through.

This fixes the ttcn3-bsc-tests around dyn TS, since for the osmo-bts-virtual,
the RSL is established only after OML opstart on the TS, which was broken by
Icf6e25ff068e8a2600562d52726ead65e864ec02.

Nokia Site and Siemens BS11 practically do not require this init mechanism,
since all that happens there so far is dyn TS init, and these BTS models do not
support dyn TS of any kind. A future patch may add oml_is_ts_ready().

Related: OS#3205
Change-Id: I99f29d2ba079f6f4b77f0af12d9784588d2f56b3
2018-05-10 04:53:53 +02:00
Vadim Yanitskiy 83e3280ebe osmo_bsc_vty.c: fix: write MGW configuration
Previously the MGW configuration was ignored during writing
of the MSC configuration. Let's fix this by calling the
mgcp_client_config_write() function.

Change-Id: I7d1eedb782a4f30bd089838969ce54f27cde060d
2018-05-08 13:00:22 +00:00
Neels Hofmeyr 968c142327 dyn TS, assignment: allow switch from PDCH with associated conn
Typically, an lchan that is released should no longer be associated with
subscriber connection. If that is the case, an S_LCHAN_UNEXPECTED_RELEASE is
triggered, which aborts, e.g., an ongoing assignment.

However, with dynamic timeslots, we may set lchan->conn and then start to
switch over from PDCH to a TCH mode, in which case it is perfectly fine to
release an lchan that is associated to a conn.

In lchan_free(), do not fire S_LCHAN_UNEXPECTED_RELEASE for a dyn TS that is
currently in switchover.

This is the second and last part to fix dynamic timeslots handling of the
gscon.

Related: OS#3211
Change-Id: Id7d9dd06451722eb328db77bb586826c954bd85c
2018-05-05 01:50:49 +02:00
Neels Hofmeyr a82c0b1c42 dyn TS, assignment: set lchan state to LCHAN_S_ACT_REQ in the proper place
Set lchan->state to LCHAN_S_ACT_REQ in rsl_chan_activate_lchan(), not in
handle_new_assignment().

This is the first part of a fix for dynamic timeslots handling in the gscon.

Rationale:

In rsl_chan_activate_lchan(), we may choose to set the lchan state to
LCHAN_S_REL_REQ and wait for dyn TS switchover from PDCH.

So the caller from bsc_api.c handle_new_assignment() must not bluntly set the
state to LCHAN_S_ACT_REQ, which is not accurate in the case of dyn TS
switchover.

In case of dyn TS switchover, a later release ack received from the BTS will
cause rsl_chan_activate_lchan() to be called again, at which point we may
accurately set state LCHAN_S_ACT_REQ, and continue the Assignment.

Related: OS#3211
Change-Id: Iedb4fb63bf1959d5f1d2c6edb6a7f5097ff16bd7
2018-05-05 01:50:49 +02:00
Neels Hofmeyr bf7099262a dyn ts, bts_ipaccess_nanobts.c: init PDCH on Chan OPSTART ACK
Sending PDCH activation upon RSL bootstrap is too early. Introduce OPSTART ACK
handling to call dyn_ts_init() only when the dynamic timeslot is indeed ready
to receive a PDCH activation.

Related: OS#3205
Change-Id: Icf6e25ff068e8a2600562d52726ead65e864ec02
2018-05-05 01:50:49 +02:00
Neels Hofmeyr f28f1ef9af resurrect meas_feed.c: vty, vty-test
At this point, meas-feed is usable again, however, osmo-bsc is not able to
include the IMSI in every report like osmo-nitb did.

In consequence, the meas-vis and meas-web tools are unable to handle the
current measurement reports: these so far use the IMSI to list reports, and all
reports without an IMSI are collapsed onto the same line, swapping values.

So though osmo-bsc now sends usable measurement reports via meas-feed, two
avenues to improve should be pursued:

OS#3192: the visualization tools should use bts,ts,ss numbers, not IMSI.
OS#2969: osmo-bsc should always know a mobile identity.

Related: OS#2968
Change-Id: I186c7a995dd2b81746c32a58b55da64ed195a1ce
2018-05-04 15:02:24 +00:00
Philipp Maier ad7277073c bsc_api/GSCON: prevent unnecessary channel mode modifications
gsm0808_assign_req() checks if the new channel mode is compatible
with the new mode. If it is, it does a gsm48_lchan_modify(), but
it does not actually check if the new mode is equal to the current
mode.

- skip when the channel is compatible and the new mode is equal to
  the old mode.

- send the ASSIGNMENT COMPLETE directly from ST_ACTIVE when no
  mode modify was necessary.

Change-Id: I86a2d52836c54d2dbd77441b182f757327ec7262
Related: OS#2936
2018-05-04 09:25:40 +00:00
Pau Espin 1b11bc808f Bump version: 1.1.2.360-42ab-dirty → 1.2.0
Change-Id: Ie6ad5c769dd11c79b2bfd0d19f0feda8416e09cd
2018-05-03 18:40:12 +02:00
Neels Hofmeyr 42ab17bdff resurrect meas_feed.c: make it compile, add logging
Change-Id: I34ac25bcc460e87e813090b6d7c5085cffa2d78f
2018-05-03 15:26:32 +02:00
Neels Hofmeyr 79176bf50b resurrect meas_feed.c from openbsc.git history
meas_feed.c used to live in libmsc, to send out measurement reports to external
entities for evaluation. When splitting osmo-bsc and osmo-msc from openbsc.git,
meas_feed.c should have moved to osmo-bsc.git, but was dropped with libmsc.

Re-add the old meas_feed.c now into libbsc. This is the latest version that
existed in libmsc, and will not compile as-is here. Modifications to
incorporate in the osmo-bsc build will follow with subsequent patches.

Change-Id: Ic070d82e61c122061fe7297a8c5aabbbcef6b301
2018-05-03 15:26:32 +02:00
Philipp Maier 65df74dc5a cosmetic: Add note about libosmo-legacy-mgcp to configure.ac
Change-Id: Ia496bd9ec02c0028aa541a798b1358a68ad18e21
Closes: OS#3226
2018-05-02 15:16:03 +02:00
Stefan Sperling 7b70926ff9 flush paging when RSL link is dropped
Flush the paging queue if the link to TRX 0 is dropped from a BTS.
This should prevent stale paging requests sent to the BTS when it
disconnects or reconnects, as seen in the TTCN3 BSC_Tests test suite.

Also, add entries to the log when RSL or OML links are dropped so
that related error messages in the log can be interpreted in context.

Change-Id: If4401c1139cd01faf5ff374301a9a701898c3777
Related: OS#2901
2018-04-24 16:19:19 +00:00
Stefan Sperling 0eb9169567 extend documentation of paging_flush_bts()
Document the semantics of a NULL msc argument.

Change-Id: Ib3f6fd4e4e6108f03d688eba2416c0714393e6e9
Related: OS#2901
2018-04-24 14:26:11 +00:00
Pau Espin 5198342fb5 gsm_data_shared.h: Remove unused enum gsm_paging_event
Change-Id: I13f30177a4840d68e3d374861fb9c76e9842be2e
2018-04-23 16:57:07 +02:00
Pau Espin be32b4c80b abis_rsl.c: Clean ericsson specific imm assign code
Move to its own function, store pointer to proper header format and use
the already defined IE define from libosmocore instead of using
hardcoded values.

Depends on: Change-Id I7cb65f3ff1cfdbe4eee97b7545bcd13a38c72e25

Change-Id: I845fd3f0c6ff31f268f68a31e1d55981f7ec6129
2018-04-23 11:59:01 +02:00
Pau Espin 286212c8de abis_rsl.c: abis_rsl_rx_cchan: Print msg type name for unimplemented messages received
Change-Id: I2e2e40bcb9365420f7e79d8d954505b0d2376bed
2018-04-23 11:58:31 +02:00
Stefan Sperling c04d40477a properly skip paging is OML link is down
If the OML link is found down while a paging request is issued,
no paging message is sent. However, we were still counting such
pagings as an actual attempt, and counted them towards the number
of available slots on the paging request queue.

Move the OML link check to the caller of page_ms() where the
accounting steps can be properly skipped as they should be.

Change-Id: I5b6db681da7d45c49e1f2f99d7789c8a29372ef3
Related: OS#2901
2018-04-19 15:49:50 +00:00
Pau Espin fa422556ad chan_alloc.c: Fix log var formatting issues
Change-Id: I7a5e5d26f250f954853c12cfd4de08fed68c178e
2018-04-19 14:31:17 +02:00
Pau Espin f7fa89275d use osmo_init_logging2
Change-Id: Ifbbfede185aec6573fe7d8bcb49dc5be9f7e7d0b
2018-04-17 15:18:52 +02:00
Philipp Maier 1f4851e703 gscon: fix assignment of signalling channels
On the assignmen of signalling channels, the voice related fields
do not play a role. However the function send_ass_compl() that
generates the assignment complete message is very strict about the
presence of those voice related parameters.

- Add a parameter to function send_ass_compl() to generate the
  different types of assignment complete messages

Change-Id: I316ebcb1f27b668e17fe48fff028e047aac47f76
Related: OS#2762
2018-04-17 13:16:43 +02:00
Keith Whyte d925c7c00f Cosmetic: Fix typo: Siganlling->Signalling
Change-Id: I92b39eebfba396ee7690e99de09ee20593b7139d
2018-04-16 16:19:19 +00:00
Pau Espin fe49bf0c14 bsc_nat: ctrl: Fix crash on receveing bsc reply
Since libosmocore 7c0031fc8063771e604976233fb7b46d2b85c077, the cmd
param passed to handlers in ctrl_handle_msg is always freed afterwards,
thus it is owned by the same function. Avoid keeping it alive and
accessing it later when it has already been freed.

Related: OS#3157

Change-Id: I764917f641b170597e405f1865b0f7b94bae1597
2018-04-16 13:28:34 +02:00
Philipp Maier 3ddb12d52e inform A-RESET FSM about MSC CR timeouts
The SUBSCR_CONN (GSCON) fsm starts a timer (993210, 20sec.) when the
CR to the MSC is made. When the timer reaches its timeout, then the
SUBSC_CONN FSM terminates. Such a timeout event is also an indicator
for a bad SCCP connection so we should call a_reset_conn_fail() to
inform the A-RESET FSM about the event in order to cause a BSSMAP
reset when too many timeouts occurr consecutively

- Call a_reset_conn_fail() when 993210 expires

Change-Id: I836a552f2ad37c160081246579f842d104d0dd35
Related: OS#3102
2018-04-14 19:01:57 +00:00
Stefan Sperling cda994edb2 fix handling of state changes in acc ramping
Take both the operative and administrative states into account
when deciding whether to start ACC ramping, and examine old/new
state values to avoid triggering ramping for a no-op state change.

This requires a fix to gsm_trx_lock_rf(): This function overwrote
the old administrative state of a trx before enqueuing a state
change request towards the BTS.
The BTS will confirm this request with an ACK, at which time a
signal is generated which the ACC ramp code listens to. We must
not overwrite the old state value until the signal has been handled,
otherwise the signal handler cannot tell what the old state was.

Tested with a virtphy setup, nanobts, and osmo-bts.

Change-Id: Ib3291439655598fb5ddc891a3e4cc35b0bad250f
Related: OS#2591
2018-04-13 14:42:57 +02:00
Stefan Sperling 4d3d2436cd only trigger acc ramping if trx 0 is usable and unlocked
Starting an ACC ramping process while TRX 0 is unusable or locked is
pointless. For instance, after loading a config with 'rf_locked 1'
for trx 0, the ramping process was started as soon as the BTS
established RSL, even though the air interface was still down.
ACC ramping should instead be triggered once TRX 0 is unlocked.

Change-Id: I054829a936f0aa1e3fa34fad6466a1cd6150e307
Related: OS#2591
2018-04-12 12:51:51 +00:00
Stefan Sperling b06c7a2537 trigger acc ramping on state-changed-event reports
Trigger ACC ramping not only when an Administrative State Change
ACK is received from a BTS, but also when an administrative state
change is reported for TRX 0 in a State Changed Event Report.

This should allow ACC ramping to work with any BTS which reports
an administrative state change to 'unlock' using either of these
OML messages.

Tested with a sysmobts and a nanobts.

The sysmobts only reports TRX locked/unlock changes in Administrative
State Change ACKs, not via State Changed Event Reports.

The nanobts is known to send both of these OML messages in quick
succession, so do not re-trigger ramping if it's already in progress.

Change-Id: I097a113a3a63de02bcb8277020beb59cf485b176
Related: OS#2591
2018-04-12 09:38:59 +02:00
Stefan Sperling 0ad90b39b9 rename helper functions in the acc ramp code to avoid confusion
The word 'enabled' was used in two contexts: Whether ACC ramp is
enabled as a feature, and whether a particular access control class
is permantly allowed/disallowed via VTY configuration.

Rename some helper functions to avoid the use of the word 'enabled'
in the latter context.

Change-Id: Ia67e84270cd50f4c55b8cf616ca38b00482f765c
Related: OS#2591
2018-04-11 21:02:17 +02:00
Stefan Sperling 60ecdeffec trigger acc ramping based on trx rf-locked state
Make ACC ramping listen to network management signals and trigger
or abort ACC ramping based on the RF locked state of TRX 0.

This works as expected with a virtphy setup when RF lock state is
changed via VTY. However, this change still needs to be tested with
a nanobts. It's also not quite clear yet whether operational state
changes, as opposed to administrative ones, should be taken into
account as well.

Change-Id: I4124f1da3dadec003de45c1da8435506ee8f0a34
Depends: Ia25bff85d9e5c277da76bffa11d31972e9fdc323
2018-04-11 16:53:05 +00:00
Stefan Sperling ea33341cf7 ensure that acc_ramp_init() is only called once
There are plans to register signal handlers in acc_ramp_init(). Once we
do that, the acc_ramp_init() function should only be called once to
avoid duplicate signal handlers on the handler list.

However, the acc_ramp_init() function currently serves a dual-purpose:

 1) Initialize the acc_ramp structure for a bts
 2) Enable or disable ACC ramping

Add new functions to support use case 2, and call acc_ramp_init()
just once while reading the configuration file. The VTY commands
which enable/disable ACC ramping use the new APIs instead.

Also, rename acc_ramp_start() to acc_ramp_trigger() and tweak its
semantics so that it can always be called regardless of what the
current configuration settings are. This prepares us for triggering
ACC ramping upon events other than "RSL link-up".

Change-Id: Ia25bff85d9e5c277da76bffa11d31972e9fdc323
Related: OS2591
2018-04-11 16:53:05 +00:00
Pau Espin 881836a770 bsc_nat: Drop redundant ccon ptr in bsc_cmd_list
It can be obtained from cmd field, so no need to store it in pending.
This way we simplify the ad-hoc struct bsc_cmd_list.

Change-Id: I6de64fc128ad623ca30b9e6cebebaff8de18f95d
2018-04-11 16:52:49 +00:00
Pau Espin df7a975076 bsc_nat: forward_to_bsc: Fix memleak on send failure
Change-Id: I56235eb05e4beed1bf9151319b64d67de4718e36
2018-04-11 16:52:49 +00:00
Pau Espin 56e564dbd0 bsc_nat: forward_to_bsc: remove one level of indentation
Change-Id: I12d86a45a6b2cdc3af7a7b6c28f8f337fa95c903
2018-04-11 16:52:49 +00:00
Pau Espin 637e6da34a bsc_nat: ctrl: fix memleak on reply receival
Change-Id: I163d4d12d8656628dc88ff3e59a4c3e53b760a0c
2018-04-11 16:52:49 +00:00
Pau Espin 8ae73375b8 libbsc: set_net_mcc_mnc_apply: Fix memleak on parsing incorrect mcc mnc
Change-Id: I43513e108dfba24efb091d56b3fdfdb0cd0af727
2018-04-11 16:52:49 +00:00
Stefan Sperling 53d40e078e only log actual access control class ramping changes
Silence log messages about no-op changes to access granted to access
control classes. For example, these always occur while configuration
files are being loaded.

Change-Id: I37580f4058f6e3a21d338234b1e22ea46f9538c6
Related: OS#2591
2018-04-10 16:25:26 +02:00
Stefan Sperling c0587d0da2 fix initialization of acc ramping
Remove a redundant call to acc_ramp_init() during bootstrap_bts().
ACC ramping state is already initialized during VTY config parsing,
and bootstrap_bts() accidentally disabled ACC ramping again even
if it was enabled in the configuration.

This bug was introduced in last-minute refactoring during
review of https://gerrit.osmocom.org/#/c/6324/ when the
acc_ramping_enabled flag was moved from struct gsm_bts to
the acc_ramp structure itself.

Also remove an acc_ramp_init() call in bootstrap_rsl().
It is no longer needed as it serves no purpose other than
initializing the bitmasks of barred ACCs. To ensure that
ACC ramping configuration provided to the BTS via system
information stays correct, we move the call to acc_ramp_start(),
which has the same effect on barred ACCs, further up.

Change-Id: Ib7d99c9d3d5d424e21bb7710f719c42f9aef3e95
Fixes: 6442e4327b
Related: OS#2591
2018-04-09 17:38:56 +00:00
Stefan Sperling 5b6aa650f1 fix a format string error in bts_update_t3122_chan_load()
In a debug log message, an unsigned 64-bit value was printed with
%lu but it should be printed with PRIu64 from inttypes.h instead.

Change-Id: I09bb519e68886e650647b1369fd49d1964e76c7e
2018-04-09 15:04:24 +02:00
Harald Welte 0383a09131 "show timeslot": Show dynamic PDCH state also for Osmocom-style dyn PDCH
So far we only used to show the current mode of the timeslot for IPA
style dynamic PDCH, but not for osmocom-style.

Old output for osmocom-style dyn PDCH:

BTS 0, TRX 0, Timeslot 6, phys cfg TCH/F_TCH/H_PDCH, TSC 7
  NM State: Oper 'Enabled', Admin 'Unlocked', Avail 'OK'

new output with this patch:

BTS 0, TRX 0, Timeslot 6, phys cfg TCH/F_TCH/H_PDCH, TSC 7 (PDCH mode)
  NM State: Oper 'Enabled', Admin 'Unlocked', Avail 'OK'

where "PDCH mode" changes from "NONE mode" to "TCH/F mode" to "TCH/H mode"
depending on the current state.

Change-Id: If5044d6bec76b869bd6a7c0260a4c77e229dcd0d
Related: OS#3099
2018-04-07 19:02:33 +02:00
Harald Welte 0a405f13fc Start Dynamic PDCH Initialization after RSL is up
We used to start the dynamic PDCH initialization right after the
respective OML initialization of the related timeslot.  However, this
is problematic as the RSL link may very well not even be up yet at
that point.  So let's do this at RSL link esetablishment time, not
from OML.

Change-Id: I8ac30ca075a1db4b624dc38a423d844d705fda7e
Closes: OS#1841
2018-04-07 11:35:12 +02:00
Stefan Sperling 44311ea6e9 Generate the S_L_INP_TEI_UP signal earlier.
The S_L_INP_TEI_UP signal was generated when the first message from a BTS
arrives on the OML/RSL link, rather than when the OML/RSL link comes up.
Instead, generate this signal when the link is brought up, so we
intitialize state regardless of how a particular BTS behaves.

Tested with osmo-bts-virtual and virtphy/mobile programs,
and with a sysmobts.

This was already committed in faf0982ae2
but subsequently reverted in 383a059a12
because it introduced a regression. The underlying problem causing this
regression has now been addressed by https://gerrit.osmocom.org/#/c/7462/
(libosmo-abis commit 49917c129b1456585258b0ebe89a513ecef823a8).

Change-Id: I78a152671a00b95c997830f7161fca92bb898fa3
Depends: I52f7c903212b38e9c87e4d45e52b231b6f1ae9f5
Related: OS#2719
2018-04-07 09:01:05 +00:00
Neels Hofmeyr 03ddccc132 vty: re-add 'timeout-ping' and 'timeout-pong' as dummy commands
Legacy VTY commands were removed in commit
c74a5616bf
== I5cf3fec31cc774c902f3cfe6d16fb85ef301694a

Removing the dead VTY commands currently breaks our ttcn3-bts-test and is
likely to create problems with users of osmo-bsc, when their config osmo-bsc
stops working with a mere upgrade.

Instead, add deprecated dummy commands that don't do anything, to not break
existing configs.

Catch all of these legacy commands:
 timeout-ping <number>
 timeout-pong <number>
 timeout-ping advanced
 no timeout-ping
 no timeout-ping advanced
by defining
 timeout-ping ARG
 timeout-pong ARG
 no timeout-ping [ARG]

I verified manually that starting osmo-bsc with all the abovementioned VTY
commands in the config file works (and produces the deprecation messages).

Change-Id: I95a5bad1ade66ded849cfc20bebb7fc522aecc38
2018-04-05 01:04:18 +02:00
Vadim Yanitskiy 5a3b8ae4ca doc/examples: use NECI = 1 by default
Every setup should run with NECI = 1.
NECI = 0 is an ancient legacy setting.

Change-Id: I564cac73e610d71df5ab244e04d08dd2c5ff2324
2018-04-02 19:35:43 +00:00
Philipp Maier dd185d60b1 cosmetic: Add fixme note for OS#3112
Change-Id: I0c3ffb567aff08014f8fb96928077afb8c2f229c
2018-04-02 19:33:11 +00:00