Commit Graph

6146 Commits

Author SHA1 Message Date
Harald Welte 4c87cfe681 Debian: depend on libosmo-sigtran (bsc) and libosmo-sccp (bsc-nat)
Change-Id: I59c959a977b8ad4312766d86be879b16b34587cf
2017-10-28 22:00:09 +02:00
Harald Welte d1225f3f0c Bump version: 1.1.0.2-0ae59 → 1.1.1
Change-Id: I6aefde159b83608679000239cc1603ef076db219
2017-10-28 21:49:01 +02:00
Harald Welte 0ae59c2ffe Debian: re-introduce missing build dependency to libssl-dev
In Change-Id  I469909ad7c597cde3d7a7d2ec86101a9f41d3aa6 we accidentially
also removed the libssl-dev dependency.  osmo-bsc_nat still uses
RAND_getbytes directly, so we have to keep it for now, until we switch
to a future libosmocore-based mechanism that's in the works.

Change-Id: I3be26c566baf05278ba51b835a72e14ce6ecf3d0
2017-10-28 17:27:34 +02:00
Neels Hofmeyr c752351c5c jenkins: use osmo-clean-workspace.sh before and after build
See osmo-ci change I2409b2928b4d7ebbd6c005097d4ad7337307dd93 for rationale.

Depends: I2409b2928b4d7ebbd6c005097d4ad7337307dd93
Change-Id: I9b6afb59f0a8037d1510a7fddb63927f10d653e5
2017-10-28 15:08:27 +00:00
Harald Welte 9bce2bd0ec Tag/Release Version 1.1.0
Change-Id: I61661b7f392a5485172d2f7087b4eb8b82607f43
2017-10-28 13:34:45 +02:00
Harald Welte 689ebadd49 Debian: osmo-bsc-dbg should cover only the osmo-bsc package
Change-Id: I3d2e7ce589e78bb4da6de3567462a6be4194174e
2017-10-28 13:34:45 +02:00
Harald Welte 4703991e72 Debian: Split off osmo-bsc-{bs11,ipaccess}-utils sub-packages
The names and descriptions have been imported/inherited from openbsc.git

Change-Id: Ia32e3645807ecf148f22cba3cab92f728074b20e
2017-10-28 13:30:01 +02:00
Harald Welte 322254f762 Don't link osmo-bsc_nat against libosmoabis
This fixes the following dpkg-shlibdeps warning:

Change-Id: Iea00c209652e8070a59942504bef660db0999e86
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-bsc-nat/usr/bin/osmo-bsc_nat was not linked against libosmoabis.so.6 (it uses none of the library's symbols)
2017-10-28 13:29:29 +02:00
Harald Welte c233447271 Debian: Package osmo-bsc systemd service
Change-Id: I29cb5f2132047e05448f1a4f261ef5976936be29
2017-10-28 13:29:29 +02:00
Harald Welte 82ab3c8bab Debian: Don't package osmo-bsc_nat
We don't want to pacakge osmo-bsc_nat from osmo-bsc.git at this
point yet.  It only suports SCCPlite, which is not yet fully supported
by osmo-bsc.

Rather, we continue to package osmo-bsc_nat from openbsc.git like we did
so far.

Also, the osmo-bsc_nat binary really doesn't belong into the osmo-bsc
package at all.

Change-Id: Icf0bf80d61141ec060b6d2efcf3e65e2ef1ac2d6
2017-10-28 13:27:46 +02:00
Harald Welte 2d4e976dcc osmo-bsc_nat: Don't link against libosmonetif
This fixes the following dpkg-shlibdeps warning:

Change-Id: I31af5fb8b52ef1fd5effb139d9cdea1ebe9a41b4
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-bsc/usr/bin/osmo-bsc_nat was not linked against libosmonetif.so.4 (it uses none of the library's symbols)
2017-10-28 13:14:24 +02:00
Harald Welte b069f6548c connfigure.ac: Depend on latest versions of libosmo-*
We are using quite a number of symbols that are definitely *not*
yet present in the respective library versions that we stated as
dependency. Rather than figuring this out individually, simply
require the latest releases.

Change-Id: Iecda06d206c24390bb10f3a8f8a70ef3036381e2
2017-10-28 13:14:24 +02:00
Harald Welte 6268987c5d Debian: Remove obsolete build dependencies
Those dependencies were introduced at a different time, when GPRS
related code was still in this repository

Change-Id: I469909ad7c597cde3d7a7d2ec86101a9f41d3aa6
2017-10-28 12:58:16 +02:00
Philipp Maier 718b0c72a0 log: output hexdump of transmitted sccp messages
We output a hexdump for each sccp message we receive, but not when
sending.

Also log the hexdump of sccp messages when sending.

Change-Id: Ibfe52a0b7dbca4c569c603a008d73d0d99d1c345
2017-10-26 16:08:00 +02:00
Philipp Maier df78e48eb0 log: log the sccp message type of messages sent
We already log the message type of sccp messages we receive, but
for transmitting the log output is missing.

Also log the message type for tramsitted sccp messages.

Change-Id: I6736f15ddc03e5f70c3504abffbae6cbf766c9d7
2017-10-26 16:08:00 +02:00
Harald Welte 5de728564c Rename osmo_fsm to avoid illegal space in name + more meaningful name
A FSM doesn't need "FSM" in its name, as it is obvious that it is a
FSM.  Also, having two that are called RESET is confusing, so let's
try to come up with better names.

Also, after Change-Id I9ef59432f43a3cdb94e4cbb0c44ac3f9b2aac0f2 in
libosmocore, we now enforce that no FSM identifiers contain spaces
or other illegal characters.

Change-Id: I1b44d26cebc4a47094d7b8b3983e5737b88bf003
2017-10-24 18:23:36 +02:00
Harald Welte 7b1d59c3c4 osmo-bsc: Initialize logging before initializing rate_ctr
The library code for rate counter initialization, which is called
from the descendants of bsc_network_alloc() might already want to
log something (particularly after Change-Id
Ifc6ac824f5dae9a848bb4a5d067c64a69eb40b56 in libosmocore), so the
logging framework must be initialized before.

Change-Id: I1e893c97e023e63489fe8c46539b5e507d3cec8f
2017-10-24 18:23:36 +02:00
Harald Welte f2b04c65f4 nanobts_omlattra_test: Initialize logging before executing tests
... the library code we call could want to log something, after all.

Change-Id: Ic01e9bfb63d7b6def9432103e744c23c90f0f6b9
2017-10-24 18:10:33 +02:00
Harald Welte 824b27452f Fix nanobts_omlattr unit test
The test clearly fails unless bts->network is set correctly.  Not sure
why this hasn't shown up before?

Change-Id: I47786ed06ff610213d7a0b56d0ebf1c537cd7568
2017-10-24 18:10:33 +02:00
Pau Espin d1bec34ea3 bsc_vty: Improve description of mid-call-text cmd
Change-Id: I367b7734390daf39160de6462e9b2210368666f4
2017-10-23 16:24:12 +00:00
Pau Espin f6e8e6692c libbsc: Use correct printf formatting for uint64_t
unsigned long can be 32 bits on some arch/OS, while "current" field is
always 64 bit because it's a uint64_t.

Change-Id: Ibad1e4f09cf912cb654dbe3687a3f2182e2060f5
2017-10-23 14:52:15 +02:00
Pau Espin 73ab3f070a bsc_api: Fix NULL secondary_lchan access in handle_ass_fail
Related: OW#3893

Program terminated with signal SIGSEGV, Segmentation fault.
0  gsm_lchan_name (lchan=lchan@entry=0x0) at gsm_data_shared.c:342
(gdb) bt
0  gsm_lchan_name (lchan=lchan@entry=0x0) at gsm_data_shared.c:342
1  0x0805ab80 in lchan_release (lchan=0x0, sacch_deact=sacch_deact@entry=0, mode=mode@entry=RSL_REL_LOCAL_END)
    at chan_alloc.c:410
2  0x0805c1dd in handle_ass_fail (msg=0x94142b8, conn=0x9251048) at bsc_api.c:459
3  dispatch_dtap (msg=0x94142b8, link_id=0 '\000', conn=0x9251048) at bsc_api.c:598
4  gsm0408_rcvmsg (msg=msg@entry=0x94142b8, link_id=0 '\000') at bsc_api.c:658
5  0x08058ca2 in abis_rsl_rx_rll (msg=0x94142b8) at abis_rsl.c:1686
6  abis_rsl_rcvmsg (msg=0x94142b8) at abis_rsl.c:2097
7  0xb7e8cf9a in handle_ts1_read (bfd=0x94e8e08) at input/ipaccess.c:271
8  ipaccess_fd_cb (bfd=0x94e8e08, what=1) at input/ipaccess.c:386
9  0xb7ee8434 in osmo_select_main (polling=polling@entry=0) at select.c:158
10 0x0804bd7c in main (argc=6, argv=0xbfc27144) at osmo_bsc_main.c:272
(gdb) print lchan
$2 = (const struct gsm_lchan *) 0x0

Possible scenario in which this crash can appear:
1- gsm0808_assign_req() calls handle_new_assignment() which sends an CHAN
ACTIVATE msg and arms T10 timer.
2- ACTIVATE ACK is received (handle_chan_ack), which calls
gsm48_send_rr_ass_cmd() which sends an ASSIGNMENT CMD, and doesn't
disable/modify T10 timer.
3- T10 timeout is triggered (assignment_t10_timeout()), which sets
conn->secondary_lchan = NULL
4- Immediately after, the ASSIGNMENT FAILURE message (which might have been
already queued) is processed in handle_ass_fail, and then the crash occurs.

This race condition is not an issue for handle_ass_compl() path because there's
this check there which would trigger most probably if secondary_lchan is NULL:
"if (conn->secondary_lchan != msg->lchan)"

Change-Id: I3798b36c628f75d4e8bc7b0996c27d695d53fbb1
2017-10-17 10:10:44 +02:00
Alexander Couzens 4fe3ee79a9 debian/rules: show testsuite.log when tests are failing
Change-Id: I373b26c9d5eb32b1155e6405c6305ac870061887
2017-10-11 08:14:12 +00:00
Max 39999a7dcf SI1q: fix EARFCN appender
Previously if we ran out of space while adding EARFCN, we simply return
which might result in malformed SI2q. Fix it by proper rollback of
entire EARFCN. While at it, let's be paranoid and introduce extra checks
against integer overflow in budget calculations.

Change-Id: I4b2aa3825e9affb6dfeadecdf24dd1a43a92b7b7
Related: OS#2357
2017-10-11 01:28:50 +00:00
Max 25cc407c5b ctrl: add oml-uptime command
Expose OML link uptime available via vts's "sh bts 0" command with the
new "bts.0.oml-uptime" ctrl command. To avoid code duplication, move
uptime computation into separate function and use it for both.

Change-Id: Iec405aa949d6a38a9c8e64cd7ee4b49fd416835d
Related: OS#2486
2017-10-11 01:28:10 +00:00
Max e1ceb6f767 Remove pkg-config file
It wasn't used anyway because OsmoBTS relied on OpenBSC only. As of
ec33b0397f5d71248c5834513d4be7b9b0e46366 in OsmoBTS it does not need any
shared includes anymore.

Change-Id: Ia689c7f2163dd23e429ee9d17177345b5c9470c7
2017-10-10 12:30:04 +00:00
Max 7d73cc797a SI2q: fix generation for multiple UARFCNs
* fix insert routine to keep the list sorted by UARFCN
* fix rest octets generator to properly account for offset
* adjust test results accordingly

Change-Id: I443c5c5f937b490578354f3c8a0c5b92629f2794
Related: OS#2357
2017-10-10 11:39:31 +00:00
Max 3d049d27f5 OML: consider RSL link state
OML link state is available via vty ("sh bts 0" command) and
ctrl ("oml-connection-state" RO variable).

When showing OML link state, take into consideration RSL link state as
well: if OML is up but RSL is missing show it as degraded.

That's implemented via BTS model-specific functions (currently Sysmo- and
Nano- BTS only)

Change-Id: I5952fc59e4d82e0aa627ad91d20f964d9559a4c4
Related: OS#2486
2017-10-09 18:42:15 +02:00
Max 081cebaa6d SI2q: cleanup UARFCN addition
* expand comments, fix typos
* constify parameter
* move try-add-adjust routine into separate function to facilitate
  further modifications
* remove excessive checks and unnecessary return values
* move (UARFCN, Scrambling Code) tuple uniqueness check into separate
  function and use it early

Change-Id: Ia72f848dec40723510ca56868e08081804227d47
Related: OS#2357
2017-10-09 10:08:16 +00:00
Neels Hofmeyr ff20215db2 add ';' after OSMO_ASSERT()
Currently, OSMO_ASSERT() is defined such that it ends in a semicolon, hence an
added ';' is redundant. However, the usual way this kind of macro should be
defined is

  #define OSMO_ASSERT(x) do { ... } while(0)

so that the compiler requires a trailing semicolon.

To prepare for such a change possibly coming up in libosmocore, add ';' to all
OSMO_ASSERT() users.

Change-Id: If6dce81faee9177737a6e1b572a871aaf7e37138
2017-10-05 15:30:05 +02:00
Harald Welte 2da93fc05b Remove any references to RANAP and Iu
This is a BSC, it has norelation to RANAP or Iu(h). Let's remove
an references to it, and also the build dependency to libosmo-ranap-dev

Change-Id: I517b9f69309b2ed0540dd6c186b3d4a2a03aed44
2017-10-04 08:15:32 +08:00
Harald Welte 438c5f5368 .gitignore: Update to post-NITB-split realities
Change-Id: I4655e7e0f79073061b97e0918583b7eaf99bf797
2017-10-03 09:54:25 +08:00
Max 918cfeb787 Fix repo split aftermath
* remove checks for non-existent tests
* always enable bsc and nat-trie tests because both are built
  unconditionally
* enable gsm0408 test which was removed by mistake
* adjust gsm0408 test output to remove SMS-related results

Change-Id: I73ad079a6333ba56e73b7c4d1d0e9c8255c2a03b
Related: OS#2257
2017-10-02 08:38:34 +00:00
Harald Welte 14f9772f14 gsm0408_test: Verify that BA-IND is 0 in SI2xxx and 1 in SI5xxx
This adds a test case to explicitly verify the BA-IND is as expected
by the behaviour introduced in Change-Id I1cd0dc51026dcd0e508e63eea4e333e6b184787a

Related: OS#2525
Change-Id: I3e5b260af97ce96a221e4d51f6c1b41d58817a59
2017-10-01 11:27:38 +08:00
Harald Welte aa70d9d828 Make sure BA-IND in all SI2xxx is '0' and in all SI5xxx is '1'
In masurement reports sent by the MS, this can then be used to correlate
if a given measurement report was in response to a BCCH/neighbor list
received on BCCH (SI2xxx) or on dowlink SACCH (SI5xxx).

Closes: OS#2525
Change-Id: I1cd0dc51026dcd0e508e63eea4e333e6b184787a
2017-10-01 11:26:28 +08:00
Harald Welte d6a52e993d libbsc: document arguments of generate_bcch_chan_list()
Change-Id: I5afc6e6a5a1d6b6a8ee73fdb60cc28074cf8585b
2017-10-01 11:26:28 +08:00
Max d1f70ed234 Show OML link uptime in vty
Save the time when OML link to BTS was established and show it in
vty. That's useful when troubleshooting issues like periodic/sporadic
BTS restart.

Related: SYS#3889
Change-Id: I9e4e8504afe8ca467b68d41826f61654e24d9600
2017-09-27 10:53:28 +00:00
Pau Espin 00c22464a0 Remove unneeded dbi dependency
Most probably a leftover from openbsc git

Change-Id: I230564b6a6ad244ec6328a99a1c3dbd9bc5521ae
2017-09-26 16:10:22 +02:00
Max a9594b5058 CTRL: cleanup write-only command functions
Remove trivial functions by using more specific defines for CTRL
commands.

Change-Id: I10d6d18663aed87324d60472a0fc3bd1d0961dea
2017-09-25 08:27:23 +00:00
Max 9cc704424a Further cleanup leftovers from BSC/MSC split
* drop unused header
* fix name of jenkins test
* remove dead code

Change-Id: I986904864741995910b6ba92173b9f7b1b03e2f1
2017-09-25 08:25:15 +00:00
Max dc10ce90b2 Wrap channel state assignment in macro
Previously we've used function so debug print always pointed to the same
place which is not very useful. Wrap it with macro so proper
file:line is printed. Also, make sure that we always change state only
through this wrapper and log only when the state has changed.

Change-Id: I21789f8021290965b61a54a2b23177ccbbfe8321
2017-09-23 10:13:55 +00:00
Neels Hofmeyr 53daffbd99 doc/examples: tweak osmo-bsc.cfg, add osmo-bsc_custom-sccp.cfg
Now osmo-bsc.cfg's SCCP addresses work by internal defaults, while
osmo-bsc_custom-sccp.cfg shows how to use custom STP IP address and SCCP point
codes.

Change-Id: Icb41d5adc24b2ee5613be691a201df8f3566e5dd
2017-09-15 02:02:30 +00:00
Max 72fbc95c55 SI13: drop PBCCH-related bits
According to 3GPP TS 44.018 §1.8 the "network shall never enable PBCCH
and PCCCH".

Change-Id: I319e71a4b0c682361529e9c21377398a826b934b
Related: OS#2400
2017-09-14 19:17:39 +02:00
Neels Hofmeyr 75e046b278 fix vty tests: vty no longer goes to parent node implicitly
Fix three instances of VTY tests working because it used to include implicit
'exit' commands to the parent node.

Since libosmocore change-id Id73cba2dd34676bad8a130e9c45e67a272f19588 = commit
d64b6aed235f6e4d84a2cb8e84b32c3179260254, we no longer do this implicit-exit in
interactive VTY shells.

*) in testPingPongConfiguration, the intention is to enter the /msc 0 node.
   Drop prior entry of the 'network' node, which looks like an oversight. So
   far the 'msc 0' caused an implicit 'exit' and thus worked, now fails.

*) Two instances following comments "# Check searching for outer node's
   commands", which look like they are intended to check for this implicit-exit
   behavior. This is obsolete, drop those parts of the tests.

Change-Id: I77931d6a09c42c443c6936000592f22a7fd06cab
2017-09-11 03:43:20 +02:00
Max be356ed32f Make TRX rf locking more visible
* log administrative state transitions
* log what's caused it
* while at it, mark boolean variable as such

Change-Id: I3e25a19fac4d0b4886d825c9876771b1f66efe58
Related: SYS#3864
2017-09-08 08:31:02 +00:00
Neels Hofmeyr 4a0c01167b drop MGCP client from osmo-bsc
After osmo-mgw change I8e0b2d2a399b77086a36606f5e427271c6242df1, there now is a
separated libosmo-mgcp-client, and osmo-bsc needs adjusting.

But besides having an unused struct in gsm_network, osmo-bsc does not yet use
its MGCP client; these are merely plans for the future. Until we do, let's just
drop the dependency entirely.

Change-Id: I6402c7cbe58dacae7630f7f03819f8102e54c699
2017-09-06 16:26:36 +02:00
Neels Hofmeyr c01647914b move include/openbsc to include/osmocom/bsc
Change-Id: I39e7b882caa98334636d19ccd104fd83d07d5055
2017-09-06 16:26:13 +02:00
Neels Hofmeyr 538635ad5d rewrite README
Change-Id: I2487ddbd37f989eb29b45bbf07beb5be468b867d
2017-09-06 16:25:09 +02:00
Neels Hofmeyr 1e87a69689 rename openbsc.pc to osmo-bsc.pc
Change-Id: I99ab9fea01c11841437b587dffd4e1fff17a291f
2017-09-06 16:25:08 +02:00
Neels Hofmeyr 5282a81323 drop files unrelated to osmo-bsc
These either remain from openbsc.git or slipped in while applying recent
patches from openbsc.git and do not belong in osmo-bsc.

Empty out contrib: remove things that are either obviously unrelated to
osmo-bsc, or seem old and/or esoteric.

osmoappdesc.py: drop nitb_e1_configs (and some ws)

Change-Id: Ib20064f35e623d99c7d59496a3156e84b8a0d07a
2017-09-06 16:25:08 +02:00