Commit Graph

6886 Commits

Author SHA1 Message Date
Neels Hofmeyr acd29192de remote-BSS neighbors: allow only one cell ID
I believe I have initially misinterpreted the idea behind sending a Cell
Identifier List in BSSMAP Handover Required messages. Instead of associating N
Cell Identifiers with one ARFCN+BSIC, the idea is to add up N separate
ARFCN+BSIC's Cell Identifiers into a list. To keep the door open for future
code simplification, make sure to allow only one Cell Identifier per remote
ARFCN+BSIC on the VTY UI.

Related: OS#3656
Change-Id: Ifb9212fede2333ad68db94188b5cda4fcabe02f8
2018-10-16 15:07:57 +02:00
Neels Hofmeyr b0479496e3 handover_fsm: adjust inter-BSC HO failure handling to spec
Inter-BSC outgoing lacked the required BSSMAP HO Failure dispatch.

Not all cases should send BSSMAP HO Failure, name the relevant spec paragraphs
in comments and adjust handling.

Related: osmo-ttcn3-hacks If772dbbc5f9790d3f911465e1303dd0a99811154
Change-Id: I0980cacb9713e41a1eef3a0a7f6cc892e8a20da5
2018-10-12 12:42:26 +02:00
Neels Hofmeyr 6fe125294b lchan_fsm: notify conn of released lchan upon RF Release
Related: osmo-ttcn3-hacks If772dbbc5f9790d3f911465e1303dd0a99811154
Change-Id: I7621616c24588c2db15ad1ae7ca68cfa0fb76f66
2018-10-12 12:42:26 +02:00
Neels Hofmeyr cd46adb915 handover_decision_2.c: drop redundant debug_candidate() args
No functional change.

Change-Id: Ida186946f40d30f4d9ed94d9c1ff9bdb70048626
2018-10-12 06:26:10 +00:00
Neels Hofmeyr ffa49cfffd handover_decision_2.c: find_alternative_lchan: drop goto
Don't goto the function end just to log something. Rather log right away and
exit early.

Change-Id: I6558a6948e8973cc91dae240375af074a5f5547e
2018-10-12 06:26:10 +00:00
Neels Hofmeyr d72c126f8b handover_decision_2.c: tweak ho candidate logging
Use a common LOGPHOCAND() to transparently log both local and remote
candidates.

Change-Id: I694e3832c55b4e972e05422e5e4508a74a222a71
2018-10-12 06:26:10 +00:00
Neels Hofmeyr bc6bc0a4ab handover_decision_2.c: tweak comments
Change-Id: I8bae3431dfaf23301e72f8f572286753b63a99b9
2018-10-12 06:26:10 +00:00
Neels Hofmeyr 0d91fb5ed1 lchan_fsm: fix failure handling: notify conn when released
Usually, conn->lchan is set to NULL before/upon releasing it. However, if the
lchan is still associated with a conn upon/after release, make sure the conn
realizes it has no lchan and sends a BSSMAP Clear Request to the MSC.

lchan_reset() is the last step before an lchan is fully unused. In there, make
sure to notify any conn that might still be associated, with
gscon_forget_lchan().

lchan_cleanup() does the same, but in fact this is only called when an lchan is
*deallocated*, but instead it usually merely goes to the UNUSED state.

It may make sense to call gscon_forget_lchan() sooner, e.g. when entering a
releasing state. This here nevertheless is a final safeguard.

Related: osmo-ttcn3-hacks If772dbbc5f9790d3f911465e1303dd0a99811154
Change-Id: I88337a18246c44ba48da64bb611a3cbb647a750e
2018-10-12 06:21:35 +00:00
Neels Hofmeyr 8b818a01b0 subscr conn: properly forget lchan before release
Clear all lchan->conn pointers when the subscr conn code is choosing to release
an lchan, with gscon_release_lchan().

Rationale: when an lchan releases in error, it should trigger the conn to be
notified and cause a BSSMAP Clear. However, if the conn is actively requesting
for an lchan release, it is already taking care of the situation.

Related: osmo-ttcn3-hacks If772dbbc5f9790d3f911465e1303dd0a99811154
Change-Id: I4fd582b41ba4599af704d670af83651d2450b1db
2018-10-12 06:21:35 +00:00
Neels Hofmeyr 6c5f5efa37 gscon_forget_lchan(): Clear Request iff no lchans remain
Send a BSSMAP Clear Request only if absolutely no lchan remains associated to
the conn, anywhere (Assignment, Handover as well as primary lchan).

Conceivable would be a situation where e.g. we're in handover and a new lchan
is ready, when just at a time where it doesn't matter anymore the old lchan
fails. We could just carry on with the new one then.

Change-Id: Ibd8e38ccf7759b8834efdedf742c46c227b26e91
2018-10-12 06:21:35 +00:00
Neels Hofmeyr 83ca9edfd1 gscon_forget_lchan(): no Clear Request after Clear Command
Send a BSSMAP Clear Request only if we are not already in ST_CLEARING, i.e.
haven't received a BSSMAP Clear Command yet.

Related: osmo-ttcn3-hacks If772dbbc5f9790d3f911465e1303dd0a99811154
Change-Id: Idc749068580da45e821e0af04cfa14cc7ce5c432
2018-10-12 06:21:35 +00:00
Neels Hofmeyr 30ca2a6515 fix counters for inter-BSC outgoing
Fix copy-paste error that resulted in counting outgoing inter-BSC HOs as
incoming ones.

Change-Id: I188b5db9e98c76153fdfb6f864d2cbfaea77bd5d
2018-10-12 06:19:29 +00:00
Daniel Willmann 54a80ab7e4 debian: Require libcdk and install meas_vis osmo-bsc-meas-utils
Change-Id: Ibe977a92acb93a78e323a40f53d653059b07bc0f
2018-10-12 00:38:35 +02:00
Philipp Maier b15af63ae9 codec_pref: also check physical channels
At the moment codec_pref only checks the codec configuration, but it
does not check if there is actually a matching physical channel
available. This should be checked too we must make sure that the codec
we select fits the physical channels available on the BTS.

Change-Id: I2d29dfed450e5ef93c26ed5ec9fdc0730eb3d7dd
Related: OS#3503
2018-10-10 11:58:02 +02:00
Philipp Maier bf3eb8f6eb codec_pref: cosmetic: seperate half/full rate determination
The function match_codec_pref determines whether a permitted speech
value belongs to a half-rate or full-rate codec. Lets seperate this into
a separate function.

Change-Id: Iec1db4621ba5a09bc0e3fc40b66f3a3bc5f54add
Related: OS#3503
2018-10-10 10:42:43 +02:00
Philipp Maier b5208d45b1 codec_pref: check codec configuration before start
In networks with a couple of different BTSs it may be likely that one
accidently sets up a codec configuration (codec-support)) that will be
mutually exclusive towards the codec configuration for the MSC
(codec-list). We need a check that validates the configuration before
start to catch such configuration flaws quickly.

- Add a check that checks each MSC codec-list against each BTS
  codec-support setting.

Change-Id: Ice827896bab1a2330741e0fccc731a04f1a07d38
Related: OS#3625
2018-10-08 09:50:12 +00:00
Harald Welte d4d4f918a8 nanoBTS: Allow BCCH with CBCH on TS0
Change-Id: I111c7f14e5f70ecbf6c660c1de24c6a5796b2eef
Closes: OS#3630
2018-10-06 23:12:05 +02:00
Philipp Maier 524a2d24b4 osmo_bsc_msc: Set reasonable codec list defaults
When the user sets no codec-list in the msc node, the configuration will
end up with an empty codec list. This is a useless configuration. There
should be a sane default setting.

- Set all possible codecs as default for codec-list

Change-Id: I3749a65828c788f38c22f0a5314533f4516da3ed
Related: OS#3625
2018-10-05 15:20:51 +02:00
Philipp Maier b9d3c71af3 gsm_08_08: abort complete L3 3 msg gen when no codecs are set
The COMPLETE LAYER 3 INFORMATION message should contain a Codec List
(BSS Supported) IE. The contents of this list depend on the BTS
capabilities and of the MSC configuration (allowed codecs). There may
be cases where (due to miss-configuration) the list is empty. In those
cases the BSC hits an assertion because the encoding of the overall
message fails when the codec list is empty. A check is needed.

- Check codec list before message generation, abort if the coded
  list is empty.

Change-Id: I119607047a132b75b3077bbe56c97936d8ae6c96
Related: OS#3625
2018-10-05 15:20:51 +02:00
Philipp Maier c9a4f697d3 codec_pref: handle S0-S15 in ASSIGNMENT REQUEST
Opposed to all other codecs that are common in GSM, AMR requires a codec
configuration that is expressed by a bitmask (S0 to S15) in the speech
codec list in the ASSIGNMENT REQUEST. Also the BSC acknowledges those
configuration in the ASSIGNMENT COMPLETE message.

At the moment osmo-bsc ignores all incoming configuration bits. The bits
in the ASSIGNMENT COMPLETE speech codec (choosen) field are hardcoded.

- Store the configuration bits while parsing the ASSIGNMENT COMPLETE
- Create an intersection with the configuration that is actually
  supported by the BSS
- Return the resulting (chosen) configuration bits with the assignment
  complete message.
- Use the (highest of the) agreed codec rates in RSL channel activation.

Change-Id: I2d8ded51b3eb4c003fe2da6f2d6f48d001b73737
Related: OS#3529
2018-10-05 07:58:22 +00:00
Oliver Smith 2043db0236 osmo_bsc_main.c: initialize rate counters
main() was missing a call to rate_ctr_init(). Without it, the counters
increased properly, but the times per second / minute / hour etc. values
would always stay at zero.

Change-Id: I4466a7aec51673c79b67614c9dde987633e379e0
Related: OS#3579
2018-10-04 14:07:05 +02:00
Pau Espin 6e141b1b8d abis_nm_get_ts: Return TS of correct TRX, not always TRX0
Seen while operating a setup with 2 TRX (2 nanobts):
DNM <0004> abis_nm.c:703 OC=CHANNEL(03) INST=(00,01,04): bts=0 trx=0 Opstart ACK
DTS <0011> bts_ipaccess_nanobts.c:308 timeslot(0-0-4-TCH_F)[0x612000008aa0]{UNUSED}: Received Event TS_EV_OML_READY
DTS <0011> bts_ipaccess_nanobts.c:308 timeslot(0-0-4-TCH_F)[0x612000008aa0]{UNUSED}: Event TS_EV_OML_READY not permitte

As it can be seen, OML log header state correctly it comes from TRX1,
but later content in line expresses TRX0, and that failure is forwarded
up the stack and channels for TRX different than TRX0 are never
initialized.

Related: OS#3560
Fixes: f0ff9a6711
Change-Id: I27e992e419422051247777b048175b724c05323e
2018-10-03 19:46:34 +02:00
Pau Espin ba68fe40bf osmo-bsc: Add default case for switch(enum)
After commit https://gerrit.osmocom.org/#/c/libosmo-abis/+/11207/
(Iaa33b793f89f2d16c9d949503c5ecc195bbcd2a4),
input_signal_data->link_type exposes proper enum type, and compiler can
warn about missing cases:

osmo-bsc/bts_ericsson_rbs2000.c: In function ‘inp_sig_cb’:
osmo-bsc/bts_ericsson_rbs2000.c:124:3: error: enumeration value ‘E1INP_SIGN_NONE’ not handled in switch [-Werror=switch]
   switch (isd->link_type) {
   ^~~~~~

Change-Id: Ia407a5072896377b68e914e2a05b5e01292ee8ee
2018-10-03 19:39:10 +02:00
Martin Hauke a82fc599b7 cosmetics: Fix typo in bsc_vty.c
Change-Id: I65d3e6c6dc252fd60d2dd6b6687ceef4d75034ed
2018-09-30 20:51:43 +02:00
Stefan Sperling 0cdd712be3 fix unaligned access in abis_nm_rx_ipacc()
Related: OS#3496
Change-Id: Ia9bdce39472719bfebec29e0a55a021ef45c8ea6
2018-09-28 23:18:24 +00:00
Neels Hofmeyr 8afdeee22e vty: write local neighbors by bts nr, not lac-ci
Change-Id: I35783f9624eacbdffccdb59a0179ffda54a26990
2018-09-27 03:32:35 +02:00
Neels Hofmeyr 0812db27bb neighbor vty: allow setting local neighbors by CGI
Add missing item in the landscape of VTY commands: allow identifying a local
cell by CGI (besides BTS nr, LAC or LAC+CI, which already exist).

Change-Id: I2d03de6b695904c4a86025bf250358d04f6e47de
2018-09-27 03:32:35 +02:00
Neels Hofmeyr 20482c730f neighbor vty: rather 'no neighbor', not 'neighbor del'
Now the scheme nicely matches:

 bts 0
  neighbor bts 1
  no neighbor bts 1

Change-Id: Ib6015b8b48c1f6b98a02cb5a68e568083466e0d5
2018-09-27 03:32:35 +02:00
Neels Hofmeyr c7365aef65 neighbor vty: drop keyword 'add'
When writing the neighbor configuration documentation, I noticed that 'neighbor
add' and 'neighbor del' make sense from an interactive VTY POV, but when
looking at a static config file, it makes more sense to simply name the
neighbors without the 'add' keyword, and to use the 'no' prefix instead of the
'del' keyword. It still makes sense to tweak cosmetics like this before
inter-bsc handover is used anywhere.

First, remove 'add' from all 'neighbor add ...' commands.

Instead, prepend "Add" to the doc string for the cell identification argument
in commands that add a neighbor:

  -OsmoBSC(config-net-bts)# neighbor add ?
  -  bts     Neighbor cell by local BTS number
  +OsmoBSC(config-net-bts)# neighbor ?
  +  bts     Add Neighbor cell by local BTS number

(A subsequent patch will rename 'neighbor del' to 'no neighbor'.)

Change-Id: I143f21f6069d1a86096cc8240cf69eb7ea9c8ac8
2018-09-27 03:32:35 +02:00
Neels Hofmeyr ceb4c1104c test neighbor ident vty docs
Change-Id: I83a2b03c6a081c4ed3225d79d342913a261d9c1c
2018-09-27 03:32:35 +02:00
Neels Hofmeyr 6a5f00272c make: allow vty-tests without configure
Change-Id: I8cb165890ed77bea8ae82f5228828fa19ff7e0b9
2018-09-27 03:32:35 +02:00
Neels Hofmeyr db531c0a37 vty: add SCCP related vty commands
Depends: I214ea51fc6bfa2a9a4dd7c34b43add0c77ffe22e (libosmo-sccp)
Change-Id: I2eb7f5cf9ffceeeb14882190d8545601795d3288
2018-09-27 03:32:11 +02:00
Neels Hofmeyr f06918fc71 cosmetic: drop param from send_assignment_complete()
After previous patch I8dd561d744d8081b5ac5ffa7635f17ac19bcda45, all callers
pass conn->lchan to send_assignment_complete(), so there is no need to pass it
separately from conn.

Change-Id: I3c038d91a53c81d9fcf4ec62f853b59bb1ecd244
2018-09-26 17:42:37 +00:00
Neels Hofmeyr beb74814bf fix LCLS during Assignment: actually use new TCH lchan
In assignment_success(), don't trigger lcls_apply_config() before the
conn->lchan points at the actual new voice lchan. The entire LCLS code relies
on conn->lchan.

The assignment FSM wants to point conn->lchan to the new lchan only after it is
sure that sending the Assignment Complete to the MSC was successful. However, a
failure is a) very unlikely and b) if sending to the MSC fails we might as well
tear the whole conn down anyway. Now, if sending to the MSC fails, release the
lchan and the conn should clean itself up.

Related: OS#1602
Change-Id: I8dd561d744d8081b5ac5ffa7635f17ac19bcda45
2018-09-26 17:42:37 +00:00
Philipp Maier 0d4a98ae24 lcls: log channel type and lchan names on LCLS codec mismatch
When a codec mismatch (lchan type or tch_mode does not match) occurs, we
do not know which of the two lchan had which type or tch_mode. Lets
print that information as well to make debugging easier.

Change-Id: I3fd22fef50d8944ca8c003c6114fdda37417b2ea
Related: OS#1602
2018-09-26 17:42:37 +00:00
Stefan Sperling 65c62e5033 check for overlong unix socket paths
In rf_create_socket(), check the result of osmo_strlcpy().
This catches overlong and non-NUL-terminated socket paths.

Change-Id: I4b9ff9146068bf7f53d67c577454f32c02361b86
Related: OS#2673
2018-09-26 07:26:01 +00:00
Philipp Maier 67e47c6076 codec_pref: Add Codec List to COMPLETE LAYER 3 INFORMATION
The COMPLETE LAYER 3 INFORMATION message lacks the Codec List (BSS Supported)
information element. This information element is mandatory for networks
that use an IP based user plane (AoIP).

- Add function to generate the speech codec list from the current codec
  settings (Available codecs)
- Generate and embed information element in L3 Compl. message

Depends: libosmocore I4e656731b16621736c7a2f4e64d9ce63b1064e98

Change-Id: Id6f2af3fdab45bf05f06aec03e222734d7a4cf70
Related: OS#3548
2018-09-24 11:35:52 +02:00
Philipp Maier 5a43b55a8e gsm_data.c: Set reasonable AMR codec defaults in gsm_bts_alloc()
At the moment we do not initalize the struct members mr_full and mr_half
in struct gsm_bts. The user still has the option to configure reasonable
values via vty, but when not VTY configuration is made, the flags for
the AMR rates will be all zero. Lets initalize the struct members with
reasonable defaults.

- Make sure gsm_bts_alloc() populates fr_half and fr_full with
  reasonable defaults.

Change-Id: I68747ae6dd2582e2a7d60337d9f2c43bd06ac525
Related: OS#3548
2018-09-24 11:35:52 +02:00
Philipp Maier 878954a1b3 assignment_fsm: only include speech codec (choosen) on AoIP networks
The field speech codec (choosen) in the ASSIGNMENT COMPLETE message
has been specified with AoIP. Since sccp-lite has been specified before
AoIP, we should not include the speech codec (choosen) field in the
ASSIGNMENT COMPLETE, when osmo-bsc is connected to an sccp-lite based
network.

- make sure speech codec (choosen) is only included on AoIP based
  networks

Change-Id: Ic7f28aacc953d96ebf3aa04f3e1810475458c1a8
2018-09-24 09:25:13 +02:00
Neels Hofmeyr e2209c20c5 Implement RR Classmark Enquiry
If the MSC sends a BSSMAP Classmark Request, send an RR Classmark Enquiry to
the MS.

(The reverse direction, i.e. sending a BSSMAP Classmark Update back to the MSC,
is already implemented.)

Related: OS#3043 (A5/3 encryption)
Related: osmo-ttcn3-hacks Idaab4d568cf986b4897ba008f6262c839d1592fb
Change-Id: If5db638fd6e8d9c2ef9e139e99f0fabe1ef16ddf
2018-09-18 14:34:32 +02:00
Philipp Maier ef121b2408 gsm_data: remove unused struct member chan_mode
Remove unused gsm_subscriber_connection.user_plane.chan_mode.
There is only one VTY command that displays it along other
parameters, but it is used no where else. Lets remove it.

It was forgotten to be removed in:

commit 31f525e756
Date   Mon May 14 18:14:15 2018 +0200
"large refactoring: use FSMs for lchans; add inter-BSC HO"
change-id I82e3f918295daa83274a4cf803f046979f284366

Change-Id: I10049c14ea206a4daafbdad01634d57c72a79d7c
2018-09-17 14:55:13 +02:00
Philipp Maier 7f52bdadbd gsm_data: remove unused struct member full_rate.
Remove unused member gsm_subscriber_connection.user_plane.full_rate.

It was forgotten to be removed in:

commit 31f525e756
Date   Mon May 14 18:14:15 2018 +0200
"large refactoring: use FSMs for lchans; add inter-BSC HO"
change-id I82e3f918295daa83274a4cf803f046979f284366

Change-Id: I3a14efe0039ff4690e27e3b083eb23c1b2a616c3
2018-09-17 14:54:40 +02:00
Philipp Maier bf39996dd0 LCLS: fix codec mismatch detection
gsm_subscriber_connection.user_plane.chan_mode and .full_rate were unused
since and forgotten to be removed in:

commit 31f525e756
Date   Mon May 14 18:14:15 2018 +0200
"large refactoring: use FSMs for lchans; add inter-BSC HO"

Instead of above unused struct members, use lchan->{full_rate,tch_mode}.

When not explicitly allowed via VTY settings, the LCLS mechanisms will
avoid to locally switch connections with different codecs/rates. For
example GSM HR and GSM FR would not be locally switched.

Change-Id: Idd7117092b1f170d5029303ae5ba0a49e02a8bfb
Related: OS#1602
2018-09-17 12:48:29 +00:00
Philipp Maier 63c81ef0ef codec_pref: fix missing breaks in switch-case statement
In function test_codec_support_bts() the switch case statement lacks
break; statements for some cases. This may lead into messed up codec
decisions.

- Add missing break statements

Change-Id: Ib5400a0a0a8a39fa714bd087df345160bed5cc61
2018-09-14 20:05:18 +02:00
Philipp Maier f96c04a198 codec_pref: add AMR configuration bits to make_scl_config() in unit-test
The the function make_scl_config() is used to generate realistically
looking speech codec lists to perform the unit tests for codec_pref.c.
This function does not yet populate the S0-S15 bits for AMR codecs. Lets
make sure that at least the default configuration is populated here.

Change-Id: I534239416c038ea856c128659f314aa521f85c15
2018-09-14 20:05:02 +02:00
Philipp Maier 5a87137aad codec_pref: fix typo in comment
Change-Id: Ie4ea8179395cd331dad4b62227debb026b5b008c
2018-09-14 09:03:41 +02:00
Pau Espin f552166c62 Install sample cfg file to /etc/osmocom
Change-Id: I87bc40fafa6269d99ccbfe49a61fc7ae4da62e80
2018-09-13 13:58:26 +00:00
Pau Espin d58ddb2c4e Install systemd services with autotools
Change-Id: I015ac3fbe5adc551b76bac5c15ad93d30d0d2b6e
2018-09-13 13:58:26 +00:00
Neels Hofmeyr 526b4a5f35 ts,lchan_fsm: do not attempt to allocate CBCH subslots
In case a given channel combination contains a CBCH, it replaces sub-slot 2
with a CBCH, i.e. we must not attempt to allocate the same for SDCCH.

On timeslot initialization, immediately place such an lchan FSM into new state
LCHAN_ST_CBCH, so that it never appears unused and never is picked during
lchan_select(). Also set lchan->type = GSM_LCHAN_CBCH.

Verified by configuring CBCH timeslots and watching 'show lchan summary'.

Immediately after RSL and OML are up, these pchan types show lchan 2 in state
CBCH:

  BTS 0, TRX 0, Timeslot 0 CCCH+SDCCH4+CBCH, Lchan 2, Type CBCH, State CBCH - L1 MS Power: 0 dBm RXL-FULL-dl: -110 dBm RXL-FULL-ul: -110 dBm
  BTS 0, TRX 0, Timeslot 1 SDCCH8+CBCH, Lchan 2, Type CBCH, State CBCH - L1 MS Power: 0 dBm RXL-FULL-dl: -110 dBm RXL-FULL-ul: -110 dBm

With a 'phys_chan_config ccch+sdcch4+cbch' and three phones simultaneously
requesting USSD, I see:

  BTS 0, TRX 0, Timeslot 0 CCCH+SDCCH4+CBCH, Lchan 0, Type SDCCH, State ESTABLISHED - L1 MS Power: 14 dBm RXL-FULL-dl:  -53 dBm RXL-FULL-ul:  -47 dBm
  BTS 0, TRX 0, Timeslot 0 CCCH+SDCCH4+CBCH, Lchan 1, Type SDCCH, State ESTABLISHED - L1 MS Power: 30 dBm RXL-FULL-dl:  -47 dBm RXL-FULL-ul:  -47 dBm
  BTS 0, TRX 0, Timeslot 0 CCCH+SDCCH4+CBCH, Lchan 2, Type CBCH, State CBCH - L1 MS Power: 0 dBm RXL-FULL-dl: -110 dBm RXL-FULL-ul: -110 dBm
  BTS 0, TRX 0, Timeslot 0 CCCH+SDCCH4+CBCH, Lchan 3, Type SDCCH, State ESTABLISHED - L1 MS Power: 16 dBm RXL-FULL-dl:  -47 dBm RXL-FULL-ul:  -47 dBm

With 'phys_chan_config SDCCH8+CBCH' and three phones simultaneously attaching,
I see:

  BTS 0, TRX 0, Timeslot 1 SDCCH8+CBCH, Lchan 0, Type SDCCH, State WAIT_RLL_RTP_ESTABLISH - L1 MS Power: 0 dBm RXL-FULL-dl: -110 dBm RXL-FULL-ul: -110 dBm
  BTS 0, TRX 0, Timeslot 1 SDCCH8+CBCH, Lchan 1, Type SDCCH, State WAIT_RLL_RTP_ESTABLISH - L1 MS Power: 0 dBm RXL-FULL-dl: -110 dBm RXL-FULL-ul: -110 dBm
  BTS 0, TRX 0, Timeslot 1 SDCCH8+CBCH, Lchan 2, Type CBCH, State CBCH - L1 MS Power: 0 dBm RXL-FULL-dl: -110 dBm RXL-FULL-ul: -110 dBm
  BTS 0, TRX 0, Timeslot 1 SDCCH8+CBCH, Lchan 3, Type SDCCH, State WAIT_RLL_RTP_ESTABLISH - L1 MS Power: 0 dBm RXL-FULL-dl: -110 dBm RXL-FULL-ul: -110 dBm

i.e. in all cases the CBCH lchan remains occupied and is not allocated as
SDCCH.

Detaching and re-attaching the BTS reliably brings back the CBCH state. Also
verified that changing the osmo-bsc config from telnet vty and dropping oml
followed by the BTS re-attaching brings back the CBCH state.

Change-Id: I2bafc5f696e818e38f8907ad0c8f38494df0623d
2018-09-11 02:08:41 +02:00
Neels Hofmeyr 021971781d lchan_fsm: allow late RTP release events without erroring
Change-Id: Ia463f97402b957bd13a95d18d291d1c1f006f089
2018-09-10 00:51:35 +00:00