summaryrefslogtreecommitdiffstats
path: root/openbsc
AgeCommit message (Collapse)AuthorFilesLines
3 daysdb_test: Disable using color in log outputPau Espin Pedrol2-2/+2
It's really not used and only adds unneeded variabilities to output. Older libosmocore versions had a bug where extra color format characters were printed while newer versions have that fixed. Fixes: OS#4759 Change-Id: Idce85aa355d334929d8abdf5b99dad0622ecff58
2020-06-02fix typo in osmo_bts_variant_names: s/omso/osmo/Vadim Yanitskiy1-1/+1
Change-Id: I4645da18fde48165c846ba714cd03e604aef5ad6
2020-04-20fix compilation with gcc-10Harald Welte2-4/+8
See also: https://alioth-lists.debian.net/pipermail/debian-mobcom-maintainers/Week-of-Mon-20200413/000648.html Change-Id: I0e9596c3ef26231999c729b5cc408fcaca3790fc
2020-03-27rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messagesKeith1-0/+7
Backport of osmo-bsc 6b9e0e4e8834428f85f169106ed7b6141f5b185b (1) and 60d6d530ac6883db4f5c0394541ad654ddfd526c (2) (1) TS 48.058 sec 8.4.1 CHANNEL ACTIVATION and state: """ The BS and MS Power Parameters elements are included to indicate that BS and/or MS power control is to be performed by BTS. The maximum power to be used is indicated in the BS and MS Power elements respectively. """ Since we always want the BTS to do autonomous MS power control, let's add it. (2)Send IE MS Power Param to osmocom BTS models only Since MS Power Param IE content is operator dependant, it's currently not known which kind of content non-osmocom BTS support/allow, so let's avod possibily breaking those BTS until each BTS has been checked separately. Change-Id: Ieb51d5f2202ebd2861d3c33f2b5598e6b29d78eb
2019-12-12osmoappdesc.py, tests, ipa.py: switch to python 3Oliver Smith5-442/+452
Make build and external tests work with python3, so we can drop the python2 dependency. This should be merged shortly after osmo-python-tests was migrated to python3, and the jenkins build slaves were (automatically) updated to have the new osmo-python-tests installed. Related: OS#2819 Depends: osmo-python-tests I3ffc3519bf6c22536a49dad7a966188ddad351a7 Change-Id: Id7d006f892198bb8a7c0d4a8a8ea00b8d0e62df4
2019-08-05Remove undefined param passed to {logging,osmo_stats}_vty_add_cmdsPau Espin Pedrol3-5/+5
Since March 15th 2017, libosmocore API logging_vty_add_cmds() had its parameter removed (c65c5b4ea075ef6cef11fff9442ae0b15c1d6af7). However, definition in C file doesn't contain "(void)", which means number of parameters is undefined and thus compiler doesn't complain. Let's remove parameters from all callers before enforcing "(void)" on it. API osmo_stats_vty_add_cmds never had a param list but has seem problem (no "void"), so some users decided to pass a parameter to it. Change-Id: I7d9d477b983b0d62f01237d90acaa7ce455c3c3d Related: OS#4138
2019-08-05nat: Remove unused func bsc_vty_init()Pau Espin Pedrol1-8/+0
The function is never called in osmo-bsc-nat, and logging_vty_add_cmds() is called directly in main(). Change-Id: Ie13cf5dc7f8dfa6fc6c3953dfcacaed7d5feb114
2019-07-18manuals: Generate vty/counter documentation for osmo-bscnatDaniel Willmann1-3/+4
Change-Id: Ice7f15192a57e2c964d07d364732af888972ba0f Depends: I44bb395009582f5e1399f277e15203553c2dcf78 (docker-playground.git) Depends: I52c3cb2cdcfb143e71ac2c1aa40bb466e41a0f5c (docker-playground.git) Related: OS#1700
2019-06-21bsc-nat: Remove whitespace at the end of CTR descriptionsPau Espin Pedrol1-13/+13
Change-Id: Ia7ff352de1fb1997066f72e84a7d517c7642853a
2019-06-19manuals: Add script to regenerate counter/vty documentationDaniel Willmann2-0/+23
Related: OS#1700 Change-Id: I3e6e6603300d2d7f6221720fa7ce35b3a6aa0b7a
2019-05-26mgcp: Handle CI and X-Osmux param name as case insensitivePau Espin Pedrol2-13/+66
RFC3435 states most text (except SDP) must be handled as case insensitive. Since we are no longer using strstr(msg->l2h), we need to iterate per line and call related extract/handle function for that line. Call to bsc_mgcp_osmux_confirm() is left at the end because it needs to be called too in case no matching line is found. In that case, it will release the CID. Similar stuff ocurrs for bsc_mgcp_extract_ci(). Related: OS#4001 Change-Id: Iadc004064a5a237c93009f242cb943ebc4d2d7e6
2019-05-23tests: Mute stdout during db_prepare()Keith1-1/+21
libdbi on debian unstable (at least) outputs: "no table in statement !" breaking the db_test. Redirect stdout to /dev/null and restore after the function completes. Closes OS#4016 Change-Id: I8227aa8fa44d3237019db52dd0825f827797261b
2019-05-16nat: Allocate bsc_nat_parsed on the stack instead of heapPau Espin Pedrol6-174/+136
There's no real need to allocate it using talloc. Allocating it on the stack simplifies the code, avoids mem leaks and makes it faster. Change-Id: I66c44890952339f15131081e2f629a2824b6d3ba
2019-05-08nat: Fix crash (double-free) in forward_sccp_to_mscPau Espin Pedrol1-2/+2
In bsc_nat_parse(), parsed is allocated this way: """parsed = talloc_zero(msg, struct bsc_nat_parsed);""" So parsed is a child of msg, and so it's freed when msg is freed. Since libosmocore c7f52c4c84d6a8898048738c4db9266289c40b45, osmo_wqueue_enqueue() correctly detects queue full and returns an error, and then queue_for_msc() calls msgb_free(). Code in osmo-bsc-nat was probably written before that change in behavior, so that's why probably the bug was not hit before. The "if (parsed)" condition is removed since it's actually fine to talloc_free(NULL). Related: SYS#4548 Change-Id: I209d3e2d809a67915ec43c874e68f7f746a565f0
2019-05-03tests: Fix selection of python versionPau Espin Pedrol5-9/+12
According to documentation (and personal experience), AM_PATH_PYTHON selects the highest version of python, no matter if major version is different, which means if both python2 and 3 are available, 3 will be chosen an PYTHON will point to "/.../python" which is python3. Apparently, the macro cannot be easily used to pick highest python2 version. chosen an PYTHON will point to "/.../python" which is python3. Apparently, the macro cannot be easily used to pick highest python2 version. As {vty,ctrl}_test_runner.py require python2 and are incompatible with python3, let's instead rely on the system having a "python2" binary available, which is the case in most distros. cherry-picked from: osmo-bsc.git 7e78681f0f740bd68ed5255b506a1efa08a231b1. Change-Id: Icc147c8457116ad551d166313f3a79e1c2107a22
2019-05-02nat: Return error code in queue_for_mscPau Espin Pedrol1-4/+8
Might be useful in the future for its callers, since sometimes actions need to be taken place based on whether enqueuing failed (and msg was freed). Change-Id: I9f172f9c9ca9db18f6adcf9267db23c73e9d5bc6
2019-04-30libmgcp: Parse CI as hex string in verify_ci()daniel/wipDaniel Willmann1-1/+1
In verify_ci CI needs to be parsed as hex instead of dec number as well. Fixes: OS#3951 Change-Id: I687b467756fa30cbc454e3583c86159d9abcc7d9
2019-04-23osmo-bsc_nat: Parse MGCP Connection ID as hexDaniel Willmann4-8/+11
Our ttcn3-bscnat-tests would randomly fail. After the CRCX ACK returns from the MSC the bsc-nat reports it could not find a CI it it and deletes the connection on the BSC-side. This happens because the field is parsed as a decimal value instead of hexadecimal. So a value of 00FED122 is parsed as '0' which is a reserved value in our program. This fix parses the field as hexadecimal value and also logs an error if the value happens to be 0. make check will now test if a hexadecimal CI is parsed correctly. Fixes: OS#3951 Change-Id: I49b8b61644bf706162102dce268cae2265536fc5
2019-04-21Fixed MNCC_RTP_CREATE after MNCC_DISC_IND.Rafael Diniz1-0/+3
Change-Id: I3690acebf882d3a8abbeabe0e3aefdfcd066a052
2019-03-29Write configuration correctly from vty (alert notifications)Keith1-2/+2
The default is [yes] alert-notifications, therefore write "no alert-notifications" in the case that this has been set, in order to preserve configuration after write is called from vty. Change-Id: I4b0363fa34dd9ac0a221844974e4ebf7465b56f4
2019-03-28vty_test_runner: Handle MGCP message recv len dynamicallyPau Espin Pedrol1-1/+12
Change-Id: I536d78a2a1962240e5e369cda9927d8c9955ab86
2019-03-28Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id onesPau Espin Pedrol4-12/+10
ipa_ccm_idtag_parse_off is broken, and can only be used with len_offset=1 on ID Request messages, otherwise won't work correctly. Modify ipa_ccm_idtag_parse to at least parse those correctly, and document the limitations. Those two functions are already deprecated and only used in openbsc by 3 callers: * ipa_ccm_idtag_parse in ussd_read_cb(): Broken, that function can only work for Requests and it's used to parse a Response. * ipa_ccm_idtag_parse_off in forward_sccp_to_msc (NAT): Broken, it can only be used to parse Requests and it's used to parse a Response. Furthermore, len_offset=2 is passed which makes no sense and most probably it fails always, or can even make the program crash. * ipa_ccm_idtag_parse_off in (answer_challenge): This one is fine and could actually be replaced with ipa_ccm_id_get_parse after libosmocore commit (see below) is merged. See libosmocore I6efc852dfc041192f554e41a58290a0f63298021 for more information. As a consequence of the fixes, osmo-bsc-nat now parses messages sent from VTY test correctly and thus it goes into processing them instead of silently dropping them. As a result, some VTY tests fail because they are sending incorrect format (missing NULL char in unit id strings) and osmo-bsc-nat closses its connection (due to bad auth). Change-Id: I3b995f8ef0b48c0a5b3375e42926641934359cd2
2019-03-26Drop Iu*S support and related dependenciesMax7-918/+0
There's optional libiu for Iu*S support but it's just a leftover from pre repo-split times: * it's not used by any code * it's not checked by gerrit verification in osmo-ci * it's disabled by default * it's not supported in .deb packages Instead of dragging old code in unknown stage of bit-rotting, let's just drop it completely. Change-Id: Id5678a74504b4456aba0438ccc34731770801128
2019-03-22talloc_ctx_init: Use public API osmo_signal_talloc_ctx_initPau Espin Pedrol1-2/+2
There's already a public API to allocate libosmocore's signal ctx, so let's use it instead of accessing the global variable. This will allow to eventually Make the global variable in libosmocore static and private. Change-Id: I8dab0ef810adba17fdd242e3a127908dd09b2b42
2019-03-20osmo-bsc-mgcp.service: Fix parsing of cmdline option sPau Espin Pedrol1-1/+1
From journald output: /usr/bin/osmo-bsc_mgcp: invalid option -- 's' Change-Id: I995d2f5909640fc007aa39dd6c6b54ff97ee45f7
2019-02-28Don't deliver alert notifications to an ESME thatKeith3-5/+10
is not yet bound. We create a new ESME in smsc->esme_list on establishment of a TCP connection, yet we do not know the system id or anything else, until the ESME identifies and authenticates. So do not send alert notifications until we know the bind status (and system_id) Change-Id: I0e5d55d3fb6ac46d253902df2fe304e1b0fc8bbf
2019-01-30Bump version: 1.1.0.120-9981 → 1.2.01.2.0Pau Espin Pedrol1-9/+9
Change-Id: I33e1c83a0000789f65acc0b7584d1629a50b384c
2019-01-24Remove openbsc-dev packageMax3-14/+0
There're no external utilities which rely on it anymore so we can simplify our packaging by removing it. Change-Id: I9a96c217999416099aa7ce690845f56fc132274c
2019-01-24Remove meas_* utilsMax7-1199/+0
The counterparts in OsmoBSC repo are actively maintained and (partially) packaged for .deb - let's drop old versions to minimize user confusion. Change-Id: Ia0cedaad4b717c8c5198842e2acd610f8e03f957
2019-01-22fix build: apply msgb_wrap_with_TL() renameMax1-7/+7
After libosmocore commit If1e851ac605c8d2fde3da565b0bd674ea6350c2e b27e6feb699712345373e87a48187dc622e4fa92 the openbsc master build is broken. Apply the msgb_wrap_with_TL() rename to msgb_push_tl() to unbreak the build. Also related is commit e8cd09dd6f3378a8137afb581dcd7ed554daa24c in this repository, which removed the locally defined msgb_wrap_with_TL() definition. The libosmocore mistake should have become obvious then and there... Change-Id: I6fece7bbbea84962daff885e54f0bc0108c8d0a5
2019-01-17Cosmetic: Fix spelling in smpp vtyKeith1-2/+2
Change-Id: If2180828e2acd28d96754c593c317c2868644c4b
2019-01-17Make alert notifications vty configurable per ESMEKeith4-2/+34
OSMO-MSC backport Adds (no) alert-notifications as a per-esme vty command, in order to allow some ESMEs to be excluded from alerts. The default is still to send alert notifications to all esme, so no changes are required to the config file to maintain identical operation after this patch. Change-Id: I2b52f2778b24eebc82b2e5e2fb3c2250b1f9e5b0
2019-01-12Don't send SMS STATUS REPORT locally if the ESME accepted it.Keith1-1/+1
Backport of https://gerrit.osmocom.org/11792/ When using smpp-first, after the ESME accepts our STATUS REPORT, we were sending it locally into gsm340_rx_sms_submit() anyway. In the case of the ESME mirroring the report back to us, this would result in two copies of the status report in the SMS database, which were also both then delivered to the MS. Some MS then display the REPORT to the user as if it were a normal SMS. With this patch, we check if it is the sms_report that has had receiver set in sms_route_mt_sms() and not the original SMS we are reporting on, which of course already has receiver set. Change-Id: I2136489bd21c4755463278a4048a446e5bc4a9d2
2018-12-06contrib: fix makedistcheck with disabled systemdOliver Smith1-1/+6
EXTRA_DIST files need to be distributed, no matter if the systemd option is configured or not. Change-Id: I8dbb17571df5d6cea040498af2fe57f087bdeb24
2018-12-06Remove ipaccess utilsMax9-2922/+0
There's increasing gap in functionality between ipaccess utils from this repo and from osmo-bsc due to ongoing development in new repository. To avoid potential user confusion let's drop them similar to the way SGSN was removed earlier. Change-Id: I9c04f9b469e60802461a2a6e421d3ba27e6dafa1
2018-12-04Fix DISTCHECK_CONFIGURE_FLAGS overrideOliver Smith1-1/+1
Set AM_DISTCHECK_CONFIGURE_FLAGS in Makefile.am instead of DISTCHECK_CONFIGURE_FLAGS. This is the recommended way from the automake manual, as otherwise the flag can't be changed by the user anymore. Related: OS#3718 Change-Id: I88cc2058bc4ff07d092b060d4cc4e28c3203c625
2018-11-27bsc-nat: Enable octet-aligned when ensuring mode setPau Espin Pedrol2-6/+6
From RFC 4867: octet-align: Permissible values are 0 and 1. If 1, octet-aligned operation SHALL be used. If 0 or if not present, bandwidth-efficient operation is employed. Change-Id: Ic4db7f6d18f650f36f3186965096771f748de5fd
2018-11-19Fix build with latest libosmocoreMax1-9/+0
Remove locally defined function which conflicts with the one in libosmocore. Change-Id: Ifcc13c4f8998af7680fc17414b2720feee7d386a
2018-10-16mgcp: osmux_send_dummy: Fix return without valuePau Espin Pedrol1-1/+1
Not really critical since only user of this function doesn't check the return value. Fixes commit: 4a2cc9eb0a0f9424c16b26fcb757483a39d67482 Change-Id: I438349bffaa46a10ad8983090a4b17aed7e00d82
2018-10-12osmux.h: Document enum osmux_statePau Espin Pedrol1-4/+4
Change-Id: If5de6e981e9af7b667dd3365d758f868f38bf6e0
2018-10-12mgcp: osmux: Improve checks around activating and using enabled osmuxPau Espin Pedrol1-42/+43
* Refactor code to have unified checks on all paths activating Osmux. * Improve checkings at activation time and add logging. * Code now enforces endp osmux status to be enabled before processing the frame through endp->osmux.out. Before, a delayed or bad pkt could arrive and be processed by an endp with osmux not enabled, using endp->osmux.out that was not initialized and ended up crashing: libosmo-netif/src/osmux.c:281:3: runtime error: member access within null pointer of type 'struct msgb' This could also happen if a BSC started sending or we received (non legacy dummy) osmux frames before we received the BSC CRCX ACK agreeing on osmux negotiation and switching to ACTIVATING state. Related: SYS#4350 Change-Id: I3536169c94e65f999aaa9c9e43cc7dab8551d30f
2018-10-12mgcp: osmux: allow enabling osmux only on correct activating statePau Espin Pedrol1-3/+3
State ACTIVATING is set once negotiation between the 2 parts went successfuly. Change-Id: I21eb30fa8d48f3d592ff197bd74e673fdac51c1d
2018-10-12mgcp: osmux: Make func handling dummy frames independent of endp typePau Espin Pedrol1-3/+3
Change-Id: I285f1cb693b243ecd404337f2bb5b74ddd32b123
2018-10-12mgcp: osmux: Move parse_cid of legacy dummy frames to own functionPau Espin Pedrol1-10/+15
Change-Id: If9249fb0ee2e33c7dd2ab817480776acaa784cc2
2018-10-12mgcp: osmux: Don't process regular osmux frames if disabled by cfgPau Espin Pedrol1-6/+12
Prior to this commit, the check was only done on legacy dummy frames. Change-Id: Ief4e62fe68a11a60d90292c72d1263fd1f728356
2018-10-12mgcp: osmux_send_dummy: Avoid logging incorrectly and sending if osmux not ↵Pau Espin Pedrol1-0/+8
enabled Change-Id: I5244cb9304adef3aa612b8126bf95e77562c801c
2018-10-12nat: Log state of pending transactionPau Espin Pedrol1-2/+2
Change-Id: I9f686404517bf8a2044cf59dd5bfaf90eb4f798f
2018-10-12nat: Log endpoint nr consistently as hexPau Espin Pedrol1-1/+1
Change-Id: I581f40da47614223219800e97a334f8b5e06b13f
2018-10-12mgcp: Log endpoint nr consistently as hexPau Espin Pedrol3-9/+9
Change-Id: I281964935312161d1da49e8035c5bf3bb7bf9c5c
2018-10-12mgcp: Avoid initing output without enabling osmuxPau Espin Pedrol1-4/+4
Otherwise we end up in a weird state where we have timers set up but osmux is still flagged as not enabled. Change-Id: I15c3a1a6bdf2566b03d1d543d8d15e4117a53622