aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-05-24release 1.6.0-fw.101.6.0-fw.10Kirill Zakharenko1-0/+6
Change-Id: I63c6cebbce8c9d8dac1aa1f76cba2ae32454abb2
2020-05-24Merge fairwaves/stats-work, fairwaves/crash-fix into masterKirill Zakharenko3-8/+12
Change-Id: Ib00e40c255f255d7d3d0f40a65bd0a35a4b0c36b
2020-05-24bsc_subscr_conn_fsm: Fix crash in gscon_forget_lchan()Alexander Chemeris1-1/+1
conn->fi might be NULL and thus can't be safely dereferenced. E.g. we're checking if it's NULL or not just a few lines above. so we should here as well. Here is a backtrace for the crash: (gdb) bt 0 0x000055b948002772 in gscon_forget_lchan (conn=0x55b949c6b870, lchan=lchan@entry=0x7f00ae9ade68) at bsc_subscr_conn_fsm.c:718 1 0x000055b948036c84 in lchan_fsm_wait_rf_release_ack_onenter (fi=<optimized out>, prev_state=<optimized out>) at lchan_fsm.c:1040 2 0x00007f00afc6a599 in state_chg (fi=fi@entry=0x55b949bcfe10, new_state=new_state@entry=8, keep_timer=keep_timer@entry=false, timeout_ms=2000, T=3111, file=<optimized out>, line=1344) at fsm.c:699 3 0x00007f00afc6aa5d in _osmo_fsm_inst_state_chg (fi=fi@entry=0x55b949bcfe10, new_state=new_state@entry=8, timeout_secs=<optimized out>, T=<optimized out>, file=<optimized out>, line=<optimized out>) at fsm.c:748 4 0x00007f00afc78e62 in _osmo_tdef_fsm_inst_state_chg (fi=fi@entry=0x55b949bcfe10, state=state@entry=8, timeouts_array=timeouts_array@entry=0x55b9482b56a0 <lchan_fsm_timeouts>, tdefs=<optimized out>, default_timeout=140730455622800, default_timeout@entry=5, file=file@entry=0x55b948079d39 "lchan_fsm.c", line=1344) at tdef.c:346 5 0x000055b9480341eb in lchan_fsm_timer_cb (fi=0x55b949bcfe10) at lchan_fsm.c:1344 6 0x00007f00afc6b84a in fsm_tmr_cb (data=0x55b949bcfe10) at fsm.c:325 7 0x00007f00afc65926 in osmo_timers_update () at timer.c:257 8 0x00007f00afc65cda in _osmo_select_main (polling=0) at select.c:260 9 0x00007f00afc66526 in osmo_select_main_ctx (polling=<optimized out>) at select.c:291 10 0x000055b947fdcadf in main (argc=<optimized out>, argv=<optimized out>) at osmo_bsc_main.c:953 (gdb) p conn->fi $1 = (struct osmo_fsm_inst *) 0x0 Change-Id: I2427266ef4660935cde899462fa6df8d785c420e
2020-05-23paging: Remove obsolete comment.Alexander Chemeris1-6/+0
I beleive MSC split is finished a long time ago and everything is already re-wired for the A-interface. Change-Id: If2a0b15e360c44abc92fdeb9004be7ccc0537cdd
2020-05-22stats: Count paging requests flushed due to MSC Reset.Alexander Chemeris2-0/+6
Change-Id: Ie93fc54fecdfcf615483f7f41a36dbcea61a537b
2020-05-22stats: Add a BTS counter for paging rqsts responded elsewhere.Alexander Chemeris2-1/+5
If we have several BTS in a single LAC, only one of them will respond to the paging. Without this counter this situation will lead to "lost" paging requests, i.e. in disparity between attempted pagings and expired/responded/etc pagings. Now the sum of all paging response counters should actually match the attempted counter. Change-Id: I4b27a0559ef2762e62bc3ac30000f17b89b0ed48
2020-05-22Makefile.am: EXTRA_DIST: debian, contrib/*.spec.inOliver Smith1-1/+7
Change-Id: I8783d650c489f8b352c9d362b3e4b0eb98e6ae83
2020-05-20contrib: integrate RPM specOliver Smith3-6/+9
Remove OpenSUSE bug report link, set version to @VERSION@, make it build with CentOS 8 etc. Related: OS#4550 Change-Id: I4b87cb0d80bda7bbfda600310aee24a814f97f3f
2020-05-19bsc_patch: Don't even parse MM INFO if TZ patching is not enabled.Alexander Chemeris1-5/+5
Change-Id: Ief159111b8753db83861194c2a035a1f08eb77b0
2020-05-19Fix crash in bsc_patch_mm_info()Alexander Chemeris2-11/+3
osmo-bsc has crashed with the following backtrace: 0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 1 0x00007f0bc49b38db in __GI_abort () at abort.c:100 2 0x00007f0bc581ba30 in osmo_panic () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 3 0x00005648ceeced69 in conn_get_bts (conn=<optimized out>) at ../../include/osmocom/bsc/gsm_data.h:1392 4 0x00005648cef37164 in conn_get_bts (conn=0x5648cf769e80) at osmo_bsc_filter.c:87 5 bsc_patch_mm_info (conn=conn@entry=0x5648cf769e80, data=<optimized out>, length=<optimized out>) at osmo_bsc_filter.c:48 6 0x00005648cef371b6 in bsc_scan_msc_msg (conn=conn@entry=0x5648cf769e80, msg=msg@entry=0x5648cf77ead0) at osmo_bsc_filter.c:159 7 0x00005648cef33988 in dtap_rcvmsg (msg=0x5648cf72b2f0, length=40, conn=0x5648cf769e80) at osmo_bsc_bssap.c:1215 8 bsc_handle_dt (conn=conn@entry=0x5648cf769e80, msg=0x5648cf72b2f0, len=40) at osmo_bsc_bssap.c:1299 9 0x00005648cef3b2b7 in handle_data_from_msc (msg=<optimized out>, conn=0x5648cf769e80) at osmo_bsc_sigtran.c:152 10 sccp_sap_up (oph=0x5648cf72b378, _scu=<optimized out>) at osmo_bsc_sigtran.c:267 11 0x00007f0bc5813c03 in _osmo_fsm_inst_dispatch () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 12 0x00007f0bc51a8935 in sccp_scoc_rx_from_scrc (inst=inst@entry=0x5648cf6a8d60, xua=xua@entry=0x5648cf720150) at sccp_scoc.c:1695 13 0x00007f0bc51a62f3 in scrc_rx_mtp_xfer_ind_xua (inst=inst@entry=0x5648cf6a8d60, xua=xua@entry=0x5648cf720150) at sccp_scrc.c:459 14 0x00007f0bc51a9545 in mtp_user_prim_cb (oph=0x5648cf7681f8, ctx=0x5648cf6a8d60) at sccp_user.c:182 15 0x00007f0bc51a09c6 in m3ua_rx_xfer (xua=0x5648cf764a80, asp=0x5648cf45f540) at m3ua.c:586 16 m3ua_rx_msg (asp=asp@entry=0x5648cf45f540, msg=msg@entry=0x5648cf71e880) at m3ua.c:739 17 0x00007f0bc51b0763 in xua_cli_read_cb (conn=0x5648cf441ed0) at osmo_ss7.c:1761 18 0x00007f0bc55fab53 in osmo_stream_cli_read (cli=0x5648cf441ed0) at stream.c:232 19 osmo_stream_cli_fd_cb (ofd=<optimized out>, what=1) at stream.c:321 20 0x00007f0bc580edcf in ?? () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 21 0x00007f0bc580f526 in osmo_select_main_ctx () from /usr/lib/x86_64-linux-gnu/libosmocore.so.12 22 0x00005648ceecfb2f in main (argc=<optimized out>, argv=<optimized out>) at osmo_bsc_main.c:953 Apparently, there is no lchan allocated at this moment, so conn_get_bts() crashes. But we only use it to get to "network" which we can do much easier and safer by doing conn->network. Change-Id: Id3f7b3efba60c0f050c1be98e5e539f1dab4cd57
2020-05-19deprecate 'msc' / 'ip.access rtp-base <port>'Neels Hofmeyr4-19/+3
The bsc_msc_data->rtp_base has been unused ever since we introduced the exernal MGW in osmo-bsc [1]. The vty command also still exists. Deprecate the vty command, remove the member. [1] "mgcp: use osmo-mgw to switch RTP streams" commit 39c609b7c924524172ad311bdf89f92b7ccf175a Change-Id Ia2882b7ca31a3219c676986e85045fa08a425d7a Change-Id: Id14fa3066ca5d472a817593074a6222f159168a8
2020-05-19bssap: Handle BSSMAP CONFUSION message.Alexander Chemeris4-0/+59
We decode the mesage and print it to the log files at ERROR log level. We also count it in the BSSMAP message counters. There is not much else we could do about it. Depends: If8afd2d096fb66c6c2f255a08fc1129de3d09cec (libosmocore) Change-Id: Ib4cd94f185f751b2384842222678ff671ac413c4
2020-05-19stats: Correctly count lchans under BORKEN TS.Alexander Chemeris1-0/+7
lchans under a BORKEN TS should be counted as used just as BORKEN lchans under a normal TS. Change-Id: Ic3dbc6b176d5dcff7ed2589bb875abf93e9f7ab0
2020-05-19stats: Add a BTS/BSC counter PAGING_NO_ACTIVE_PAGING.Alexander Chemeris2-0/+6
This is a corner case but still we should count the events to know when is this happening. And for the number of paging requests to match the number of paging responses. Change-Id: I1755be40d29980b75353cb4b8087d1ce0d92854a
2020-05-19stats: Add counters and gauges for BORKEN lchans/TSAlexander Chemeris5-11/+148
Now we can monitor the situation with the BORKEN lchans and TS in our BTS's over time. Change-Id: I427bbe1613a0e92bff432a7d76592fe50f620ebe
2020-05-19borken: Recover from more TS borken states.Alexander Chemeris1-3/+16
Change-Id: Ic87c325a73690ede1b81b4d33bac65a1a4beea2d
2020-05-19contrib: import RPM specOliver Smith1-0/+145
Copy the RPM spec file from: https://build.opensuse.org/project/show/home:mnhauke:osmocom:nightly Related: OS#4550 Change-Id: Id0f7568953cbf55d4a2278cf088bb37af0d19d78
2020-05-18manuals: update bsc_vty_reference.xmlNeels Hofmeyr1-1/+40
I notice that some merges seem to have missed updating the bsc_vty_reference.xml file. Re-generating it from current master yields these changes. Change-Id: I75269cbed8dd62be23293fd2c1470af6f61e6ad2
2020-05-17log: Demote "SAPI=%u ESTABLISH CONFIRM" message from ERROR to DEBUG.Alexander Chemeris1-1/+1
Not sure why this specific message is ERROR while similar ones around are DEBUG. So let's fix this disparity by demoting this message level. Change-Id: I655d4555f037def354aacbc5f089794f5fe811ed
2020-05-17log: Demote "CHAN RQD: reason" to INFOAlexander Chemeris1-1/+1
The "CHAN RQD: reason" message is purely informational and is a part of normal operation. Nothing to NOTICE there. Let's demote this to DEBUG. Change-Id: I325f2beb3248ed8eb25d1d8494c3868c5be4b758
2020-05-17bssmap: Ignore repeated BSSMAP RESET ACK messages.Alexander Chemeris1-1/+4
We're sending multiple RESET messages to establish a conection with an MSC and MSC can (and often will) respond with multiple RESET ACK messages. We should not treat this as an ERROR as it used to be in the original code. Change-Id: I109d638d5167e24f0357e3541415b9e7269aa5d1
2020-05-16A-bis: fix logging level mismatch in abis_nm_rcvmsg_fom()Vadim Yanitskiy1-2/+2
Change-Id: If8f76af4d1e0eb2d7b3534e620e2816cdbbe0b7d
2020-05-16log: Adjust "new SIGTRAN connection" logging levelAlexander Chemeris1-2/+2
The "new SIGTRAN connection" message is sent on every new transaction between an MS and MSC, i.e. A LOT during normal operation. Let's demote it to INFO and clarify that this is about SCCP connection instead of a generic SIGTRAN term. Change-Id: I711b70ae84aa98f43ea3f807ea5c8464b71ca6bb
2020-05-16log: Fix "Paging request failed" logging levelAlexander Chemeris1-1/+1
"Paging request failed" message can be logged e.g. when we're already paging this subscriber which means we get hundreds of these messages in a perfectly normal situation. Let's demote this to INFO and adjust the wording. Change-Id: I97214796906ac599338e87b2b4b5465ab6b2447a
2020-05-15bsc_vty: Coding style fix - brackets around a complex if/elseAlexander Chemeris1-2/+2
Change-Id: I771ef866aba6af9e2a10a06e593eef78b7405377
2020-05-13manual: fix config example typo 'msc-addr'Neels Hofmeyr1-1/+1
Change-Id: Ifb84d7ceddc772e3e1ae59c8d5859b6be6f1b4eb
2020-05-11stats: Rename BSSMAP Rx message counters to match Tx ones.Alexander Chemeris3-19/+19
Change-Id: I29e42687ac084a60007f0b1ec6ec0a102fb4007f
2020-05-11stats: Add counters for Tx BSSMAP messages.Alexander Chemeris8-3/+105
We already have counters for Rx side, now we also count Tx side. See comments in the msc_ctr_description array implementation for the details. Change-Id: I89a173f6bdd9a3c21233fe01d07ab2ff0442bb10
2020-05-11handover_test: Properly allocate MSC data struct.Alexander Chemeris1-9/+1
Without a properly allocated MSC struct, touching counters crashes the test. Change-Id: I7498d2891259be9b532845627f14ac75e98e703e
2020-05-11stats: Only dereference a connection pointer after checking for NULL.Alexander Chemeris1-1/+2
Addresses CID 210261. Change-Id: Ic7e7c92c5b9ff696fa7f4cd0d69451cd22333f71
2020-05-09timeslot_fsm: Allow PDCH_ACT_ACK in BORKEN state.Alexander Chemeris1-0/+8
It should be fine if we receive PDCH_ACT_ACK late. We should just go into the PDCH state as normal. Change-Id: If816b681e0b2e76fb7122cf211e15eeee92451ee
2020-05-09lchan: Allow transition from BORKEN state to WAIT_RF_RELEASE_ACKAlexander Chemeris1-0/+1
In the lchan_fsm_borken() we request to change the state to LCHAN_ST_WAIT_RF_RELEASE_ACK in response to a late LCHAN_EV_RSL_CHAN_ACTIV_ACK event but this transition is prohibited by the FSM definition, so the channels stay in the BORKEN state forever. :( Change-Id: I17a9b935a116eb842fd0239ef53d73bef35e6511
2020-05-09bsc_subscr_conn_fsm: Fix a typo in the comment life->liveAlexander Chemeris1-1/+1
Change-Id: Ideba357678a59e3f314a0d618d181a233a43b4de
2020-05-09stats: Fix Rx DTAP error stat descriptionAlexander Chemeris1-1/+1
Change-Id: Ie6debad36a49005676ff47eda644c90eee5dc461
2020-05-09a_reset: Rename SIGTRAN connection to BSSMAP MSC assocation in log messagesAlexander Chemeris1-2/+2
Explanation from Harald: There are plenty of things that can happen above the bare SCTP/M3UA connection which can happen, such as SCCP or MTP level routing problems. The fact that a MSC responds to a BSSMAP reset tells us that all of the underlying SS7 transport network is operational and the MSC responds to us. Go draw an IP analogy: Saying "SIGTAN connection up" here is like saying "Ethernet link up" when you get an ICMP response. Change-Id: If9d37c94f2f2b6cffef97f445774766993f538db
2020-05-09bts_nokia_site: Fake 12.21 OM objet state as "OK" when boot is doneSylvain Munaut1-0/+35
Parts of Osmo-BSC want to see the NM state as valid ... Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Change-Id: I0db11819d23e40272c4aa6fd093365b9c13f7bcf
2020-05-09stats: Export connected OML/RSL links count per BTS.Alexander Chemeris3-0/+8
Change-Id: I88c8025940a0eecb034b1c70f76ea17937fa0325
2020-05-09stats: Add counters for received BSSMAP messages.Alexander Chemeris3-0/+47
Change-Id: I3f08d71b58b4e8d6f61376d85c2051e194aa8e43
2020-05-09stats: report a number of configured BTS to a stats gauge.Alexander Chemeris3-0/+26
It's useful to know how many BTS are actually configured to compare it to a number of connected BTS's. Change-Id: I41cb60f9cb962003227e4a7b63db05acbcdb6f4c
2020-05-09stats: Add a stats gauge for the MSC links count.Alexander Chemeris3-6/+78
Change-Id: Ibe4b29056ba704a27b925cfdba49f343ee34f428
2020-05-09om2k: Fix invalid use of linked list when building hopping freq listSylvain Munaut1-4/+6
I originally assumed that after a complete scan with llist_for_each_entry the loop counter would be either NULL or a valid entry. That's just not the case. Fixes: CID#210256 Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Change-Id: Iad647b74771c4ac406a88effd371ed7748c8847e
2020-05-09gsm_data: Update trx_is_usable for ericsson BTSSylvain Munaut2-0/+16
There is no bb_transc oject. Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Change-Id: I34bb808cd21575ff25d36e6df028b140935a008f
2020-05-09chan_alloc: Don't re-invent trx_is_usable and use existing helperSylvain Munaut1-2/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Change-Id: I1ca4a6ac6ec2f4e40c8421f31871d9c9e5ac5de5
2020-05-09osmo_bsc_sigtran: Fix a SSCP-> SCCP typo in a commentAlexander Chemeris1-1/+1
Change-Id: Iee7e87922f2aa034840993b4bfad3de8defbf5f1
2020-05-09chan_alloc: Add comments for the *_chan_load() functions.Alexander Chemeris1-0/+2
Change-Id: Ie199104fd4a6c0d5218f56b958d12fac4612fd78
2020-05-09Fix a comment for the handle_unitdata_from_msc() function.Alexander Chemeris1-2/+2
Change-Id: If20632cfe63b78c2cb17c1bb9d12207a4956be64
2020-05-09stats: Fix stat group index for BTS stats.Alexander Chemeris1-1/+1
osmo_stat_item_group_alloc() should be initialized with the BTS number. Change-Id: Iedef08af56ab6985894d89ff7b285246424ca9e7
2020-05-09Fix indent whitespace and log message.Alexander Chemeris1-5/+5
Change-Id: I985bf8ac4ce6136812692c06b6dc78edc6bde652
2020-05-08stats: Remove dots from the end of stats descriptions.Alexander Chemeris1-2/+2
Change-Id: I4e66b3c864f6c54332fd6dabb0ec549c3590a1f2
2020-05-08stats: Report per channel type load to statsd counters.Alexander Chemeris3-0/+82
Change-Id: I2eac4c93061204aeb8f3d223f7e78158c61c7156