path: root/configure.ac
AgeCommit message (Collapse)AuthorFilesLines
2019-08-07Bump version: โ†’ Espin Pedrol1-7/+7
Change-Id: I4b73d0a83b1ed1a4dfd17066182820da5e401c9b
2019-07-23turn -Werror=null-dereference into a warningEric Wild1-1/+1
There is unfortunately no way to suppres this witha pragma, and gcc 9 uncovers quite a few new instaces with enabled LTO that can't/won't be fixed Related: OS#4123 Change-Id: I571a85b6ea53af7661248afd84e61cf34b7b5641
2019-03-14configure.ac: Add flag to enable/disable build of ipaccess related utilsPau Espin Pedrol1-0/+5
Change-Id: Iff70dc46c77b2ac58351ad9a91caf3f524c6fd89
2018-11-27build manuals included from osmo-gsm-manuals.gitOliver Smith1-0/+43
Moved to doc/manuals/, with full commit history, in preceding merge commit. Now incorporate in local the build system. Build with: $ autoreconf -fi $ ./configure --enable-manuals $ make Shared files from osmo-gsm-manuals.git are found automatically if - the repository is checked out in ../osmo-gsm-manuals; or - if it osmo-gsm-manuals was installed with "make install"; or - OSMO_GSM_MANUALS_DIR is set. Related: OS#3385 Change-Id: I92c0f771d4ffc2b0401d26e25cb0b3817e6f95ea
2018-09-13Install systemd services with autotoolsPau Espin Pedrol1-0/+18
Change-Id: I015ac3fbe5adc551b76bac5c15ad93d30d0d2b6e
2018-07-27Bump version: โ†’ Espin Pedrol1-9/+9
Change-Id: Ic8f12e8a6e3a98f7c69920b27d08a5e7e3eebc31
2018-07-22codec_pref: move match_codec_pref() to separate c-file and add unit-testPhilipp Maier1-0/+1
At the moment there are three sources that may advertise a list of supported audio codec/rate settings. There is the MS that advertises advertises a speech codec list and the MSC that sends a channel type information element over A and there are also settings in the bsc configuration file that may restrict the codec/rate types that are allowed to use. The function match_codec_pref() looks at all of the three buckets and selects a codec that satisfies all three. This is already a somewhat complicated process, overit is very isolated, so lets give it its own c-file. Due to the lack of unit-tests it is very hard to make changes here so lets add also unit-test to make sure that regressions are catched early. - Put match_codec_pref() and all its helper functions into a separate c-file. - Add a unit test. Change-Id: Iabedfdcec8b99a319f2d57cbea45c5e36c7b6e29 Related: OS#3361
2018-06-07dissolve libbsc: move all to src/osmo-bsc, link .o filesNeels Hofmeyr1-1/+0
Move all of libbsc/ into osmo-bsc/, and separate/move some implementations to allow linking from utils/* and ipaccess/* without pulling in unccessary dependencies. Some utilities use gsm_network and gsm_bts structs, which already include data structures for fairly advanced uses. Move initialization that only osmo-bsc needs into new bsc_network_init() and bsc_bts_alloc_register() functions, so that the leaner tools can use the old gsm_* versions without the need to link everything (e.g. handover and lchan alloc code). In some instances, there need to be stubs if to cut off linking "just before the RSL level" and prevent dependencies from creeping in. - abis_rsl_rcvmsg(): the only program currently interpreting RSL messages is osmo-bsc, the utils are merely concerned with OML, if at all. - paging_flush_bts(): ip.access nanobts models call this when the RSL link is dropped. Only osmo-bsc actually needs to do anything there. - on_gsm_ts_init(): the mechanism to trigger timeslot initialization is related to OML, while this action to take on init would pull in RSL dependencies. utils/ and ipaccess/ each have a stubs.c file to implement these stubs. Tests implement stubs inline where required. From src/utils/, src/ipaccess/ and tests/*/, link in .o files from osmo-bsc/. In order for this to work, the osmo-bsc subdir must be built before the other source trees. (An alternative would be to include the .c files as sources, but that would re-compile them in every source tree. Not a large burden really, but unless linking .o files gives problems, let's have the quicker build.) Minor obvious cleanups creep in with this patch, I will not bother to name them individually now unless code review asks me to. Rationale: 1) libbsc has been separate to use it for osmo-nitb and osmo-bsc in the old openbsc.git. This is no longer required, and spreading over libbsc and osmo-bsc is distracting. 2) Recently, ridiculous linking requirements have made adding new functions cumbersome, because libbsc has started depending on osmo-bsc/*.c implementations: on gscon FSM and bssap functions. For example, neither bs11_config nor ipaccess-config nor bts_test need handover_cfg or BSSMAP message composition. It makes no sense to link the entire osmo-bsc to it, nor do we want to keep adding stubs to each linking realm. Change-Id: I36a586726f5818121abe54d25654819fc451d3bf
2018-06-07tests: remove channel_testNeels Hofmeyr1-1/+0
Rationale: channel_test is trivial and useless, probably only exists as a legacy from openbsc.git. - it tests two printf()s of "(bts=45,trx=0,ts=3,ss=4)", hardly useful. - it tests ts_subslots() behavior for dyn ts, which will soon be replaced by a most trivial mapping that does no longer need complex dyn ts state evaluation (when introducing the new timeslot FSM to handle dyn TS switchover). Change-Id: Ib2232da8e7fa964b92492d7b778320401dc97703
2018-06-07tests: remove bssap_testNeels Hofmeyr1-1/+0
Rationale: - All it does is compose four Paging Requests and feed it into the osmo-bsc bssap_udt, and expects the cell identifier to be decoded properly. - To do so it employs a comparatively huge linking effort. This linking effort is becoming annoying in my ongoing work and is just not worth it. - We have comprehensive cell identifier tests in ttcn3, verifying that the proper cells are paged, and that actually for *all* cell identifier types. Change-Id: I07cf23b66de36cfa1142a11b9f85e9c0190ee314
2018-05-27remove remaining bits of osmo-bsc_natHarald Welte1-6/+0
osmo-bsc_nat is too heavily tied into legacy SCCPlite code, as it is not using libosmo-sigtran/osmo_ss7 so far. It's also full of customer-specific code and it's shared use of some libbsc code here has been complicating osmo-bsc development. The current plan is to continue to use osmo-bsc_nat from openbsc.git for those legacy users that need it, and not use osmo-bsc_nat in new 3GPP AoIP setups. Should we ever get a strong demand for an AoIP based bsc_nat, we can still revisit this later. Change-Id: Ia05dc76336a64a7f08962843b9a7cc19f2c83387
2018-05-03Bump version: โ†’ Espin Pedrol1-10/+10
Change-Id: Ie6ad5c769dd11c79b2bfd0d19f0feda8416e09cd
2018-05-02cosmetic: Add note about libosmo-legacy-mgcp to configure.acPhilipp Maier1-0/+3
Change-Id: Ia496bd9ec02c0028aa541a798b1358a68ad18e21 Closes: OS#3226
2018-03-13configure: add --enable-werrorNeels Hofmeyr1-0/+21
Provide a sane means of adding the -Werror compiler flag. Currently, some of our jenkins.sh add -Werror by passing 'CFLAGS="-Werror"', but that actually *overwrites* all the other CFLAGS we might want to have set. Maintain these exceptions from -Werror: a) deprecation (allow upstream to mark deprecation without breaking builds); b) "#warning" pragmas (allow to remind ourselves of errors without breaking builds) As a last configure step before generating the output files, print the complete CFLAGS and CPPFLAGS by means of AC_MSG_RESULT. Change-Id: I8cf0f135131c348d0b43f25b1d444af5827f148d
2018-02-19HO: Implement load based handover, as handover_decision_2.cNeels Hofmeyr1-0/+1
Change-Id: Ie597eae82722baf32546331e443dd9d94f1f25e6
2018-02-14drop libcommon-cs completelyNeels Hofmeyr1-1/+0
Change-Id: I07d4a48af3154ee4d904686f230a51b8b8a94ff9
2018-02-14drop libcommon completely, move remaining files to libbscNeels Hofmeyr1-1/+0
Move gsm_data.c and handover_cfg.c to libbsc, where they belong. This leaves libcommon utterly empty, drop it. Change-Id: I6178061fa30c7e1a4c22c29d3c8f508b1033569f
2018-01-02Remove obsolete ./configure optionMax1-5/+0
The '--enable-vty-tests' is just alias to '--enable-external-tests' anyway. Change-Id: I9492d8e988b464aa41f572611cbf2461bb8be3eb
2017-12-28Add optional profiling supportMax1-0/+9
This facilitates the use of programs like uftrace. It's disabled by default due to associated overhead. Change-Id: Ia5a48a38962fc99446887a34008c40efd8344d9b
2017-12-27Migrate from OpenSSL to osmo_get_rand_id()Max1-1/+0
This avoids potential licensing incompatibility and makes integration of Debian packaging patches easier. The libosmocore version requirements are fine already but for jenkins tests to pass we have to have Ic77866ce65acf524b768882c751a4f9c0635740b merged into libosmocore master. Change-Id: Ia57bf1300525cf3c247284fe966b1c415c2d53e2 Related: OS#1694
2017-12-19Remove dead code left over from NITB splitHarald Welte1-2/+0
There still is a lot of dead code that we inherited from the NITB days, let's remove more of it. libtrau will be re-introduced as part of osmo-mgw later. Change-Id: I8e0af56a158f25a4f1384d667c03eb20e72df5b8
2017-12-19Remove unneeded .py scriptsMax1-1/+0
The ipa.py has been moved to osmo-python-tests as osmo_ipa - use it for vty and ctrl tests instead of local copy. The soap.py and twisted_ipa.py are not BSC-specific: leftovers from repository split which are now available in osmo-python-tests as well. Change-Id: Ia4285b18b152b070c148228604d1e61a8adedba1
2017-11-24tests: Fix selection of python versionPau Espin Pedrol1-1/+4
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. 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. Change-Id: Id22e157d1bee453babdfa7ed04c506390b0f17bb
2017-11-18add --enable-sanitize config optionNeels Hofmeyr1-0/+12
Change-Id: Ie6888cc29b9815d3dc7aa6673599a0d6cb010e6b
2017-11-11configure.ac/debian: Require libosmo-mgcp-client-dev >= 1.2.0Harald Welte1-1/+1
We recently started to use some symbols that were not available in libosmo-mgcp-client-dev 1.0.0 or even 1.1.0. Let's depend on a newly tagged version of libosmo-mgcp-client. Change-Id: Ic5d3add1c69181aabbdb684a01a6ba7bcea1fe2c
2017-11-07mgcp: use osmo-mgw to switch RTP streamsPhilipp Maier1-2/+2
osmo-bsc currently negotiates the RTP stream directly with the BTS and reports back the RTP IP/Port on the BTS. This works fine for a single BTS, but for Handover the port/ip pointing to the MSC side must not change, so an entity in between the BTSs and the MSC is required. Integrate the mgcp-client and use osmo-mgw to switch the RTP streams. Depends: osmo-mgw Ib5fcc72775bf72b489ff79ade36fb345d8d20736 Depends: osmo-mgw I44b338b09de45e1675cedf9737fa72dde72e979a Depends: osmo-mgw I29c5e2fb972896faeb771ba040f015592487fcbe Change-Id: Ia2882b7ca31a3219c676986e85045fa08a425d7a
2017-11-07bssap: paging: page entire BSS for unimplemented cell id listNeels Hofmeyr1-0/+1
3GPP TS ยง 08.08 defines various types of Cell Identifier List IEs, but we only implement "entire BSS" and "one LAC". If the MSC sends a Cell Identifier List that we don't implement, it is best for interoperability to page the entire BSS and post a log message instead of rejecting the paging altogether. Apart from resource management, it is not harmful to page more than the MSC requested; if use of resources becomes an issue, the log message will guide towards the solution of providing an actually implemented Cell Identifier List IE. Upon IE length that is other than we expect, log the error, but also fall back to paging the entire BSS. Overall message length correctness has been checked earlier. The particular case observed is that a Huwaei MSC sends a LAI for Cell Identifier List (MCC+MNC in bcd, followed by a LAC), parsing of which we may want to add later. Improve logging: identify the subscriber that is being paged. Coding style: use a switch() statement to clarify flow and provide a place to add more implementations later. Add regression test bssap_test.c: fabricates BSSAP Paging messages with the two implemented Cell Identifier List IEs as well as the unimplemented LAI identifier, verify the resulting paging LAC in wrapped function and stderr. Change-Id: Ie934c5d229140a89763bf2efff86d6a3766cd351
2017-10-28connfigure.ac: Depend on latest versions of libosmo-*Harald Welte1-7/+7
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-10Remove pkg-config fileMax1-1/+0
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-09-06move include/openbsc to include/osmocom/bscNeels Hofmeyr1-1/+2
Change-Id: I39e7b882caa98334636d19ccd104fd83d07d5055
2017-09-06rename openbsc.pc to osmo-bsc.pcNeels Hofmeyr1-1/+1
Change-Id: I99ab9fea01c11841437b587dffd4e1fff17a291f
2017-09-03configure.ac: Package is now called osmo-bsc, not openbscHarald Welte1-1/+1
Change-Id: I85511946316a34877080ac55553c5b88e34bd1be
2017-09-03configure.ac: Remove check for GMTOFFHarald Welte1-25/+0
this was from NITB days and now in osmo-msc.git Change-Id: I337201ec2c2457100b229b5df2cbabbcb801236f
2017-09-03configure.ac: Remove checks for libgtp + c-aresHarald Welte1-17/+0
Those are requirements of sgsn/gtphub and live in osmo-sgsn.git Change-Id: I6054444aba84b37e5c05da065e1e73e5c8669205
2017-09-03configure.ac: Remove --enable-iuHarald Welte1-12/+0
There is no Iu in a BSC, this was from old times with OsmoNITB. This configure option now lives in osmo-msc.git Change-Id: I9cf1c430855fe8a59fea1cf0abb3242c38d45cea
2017-09-03configure.ac: Remove --enable-mgcp-transcodingHarald Welte1-16/+0
This was for osmo-bsc_mgcp, whichc is now in osmo-mgw.git Change-Id: I5bf619922001ce4a8a229fe028109361a3fad986
2017-09-03configure.ac: remove smpp_mirror, which has no relation to a BSCHarald Welte1-10/+0
smpp_mirror is maintained in osmo-msc.git, so let's remove it (and the associated libsmpp34 build requirement). Change-Id: Ia7b242cc52cf261b1a5dd3c287da2868e1a2b9a8
2017-09-03configure.ac: remove --enable-osmo-bsc, --enable-natHarald Welte1-18/+1
This is the OsmoBSC project. Disabling the build of the BSC would be somewhat odd, so let's remove the option. Also, OsmoBSC depends on libosmo-sccp now, so we must unconditionally depend on it. As a result, we can remove the --enable-nat option, as this was only to avoid a mandatory libosmo-sccp requirement in historical times. Change-Id: Icfee8a904d33b7c13ab8d185d64fb5c2337d8640
2017-09-03configure.ac: No more libosmogb dependencyHarald Welte1-1/+0
Change-Id: I7c96d74687847964fd6d73c9e903e1d26ae47e1e
2017-08-30split off osmo-bsc: remove files, apply buildNeels Hofmeyr1-17/+1
Change-Id: I64d84c52f6e38e98144eb9be8f0ab82e0e1f6cca
2017-08-30move to osmo-mgw.git: osmo-bsc_mgcp and libmgcp as libosmo-legacy-mgcpNeels Hofmeyr1-3/+1
Rewire build and includes to libosmo-legacy-mgcp. Drop osmo-bsc_mgcp and related python tests, now found in osmo-mgw.git. libosmo-legacy-mgcp is installed from osmo-mgw, hence add the dependency to jenkins.sh (so far using the pre_release branch). Change-Id: Ic99d681759edce11564da62500c2aac5cf5fffe2
2017-08-30move libiu to osmo-iuh/libosmo-ranapNeels Hofmeyr1-1/+0
Remove libiu here, use the functions from libosmo-ranap instead, by applying the ranap_ / RANAP_ prefix. Corresponding change-id in osmo-iuh.git is I6a3f7ad15be03fb94689b4af6ccfa828c25f45c0 To be able to run the msc_vlr tests for RAN_UTRAN_IU without Iu client headers available, add iu_dummy.h, containing mere function signatures that match iu_dummy.c and a mostly empty struct ranap_ue_conn_ctx. Make sure we can build with and without --enable-iu: include osmo-iuh headers only with --enable-iu. Change-Id: Ib8c4fcdb4766c5e575618b95ce16dce51063206b
2017-08-30Implement AoIP, port to M3UA SIGTRAN (large addition and refactoring)Philipp Maier1-1/+1
This was originally a long series of commits converging to the final result seen in this patch. It does not make much sense to review the smaller steps' trial and error, we need to review this entire change as a whole. Implement AoIP in osmo-msc and osmo-bsc. Change over to the new libosmo-sigtran API with support for proper SCCP/M3UA/SCTP stacking, as mandated by 3GPP specifications for the IuCS and IuPS interfaces. From here on, a separate osmo-stp process is required for SCCP routing between OsmoBSC / OsmoHNBGW <-> OsmoMSC / OsmoSGSN jenkins.sh: build from libosmo-sccp and osmo-iuh master branches now for new M3UA SIGTRAN. Patch-by: pmaier, nhofmeyr, laforge Change-Id: I5ae4e05ee7c57cad341ea5e86af37c1f6b0ffa77
2017-08-30Use release helper from libosmocoreMax1-0/+4
See https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release for details. Change-Id: I869395d5c9ab5ec1a487aff15418d1517f47e831 Related: OS#1861
2017-08-27increase libsmpp34 version requirement to 1.12Harald Welte1-1/+1
Only 1.12 contains some of the #defines that we're using with recent commits. Change-Id: I3743b10a1a5d2f1d42a61204273c1d00dc22b600
2017-08-27Implement IuCS (large refactoring and addition)Neels Hofmeyr1-2/+2
osmo-nitb becomes osmo-msc add DIUCS debug log constant add iucs.[hc] add msc vty, remove nitb vty add libiudummy, to avoid linking Iu deps in tests Use new msc_tx_dtap() instead of gsm0808_submit_dtap() libmgcp: add mgcpgw client API bridge calls via mgcpgw Enable MSC specific CTRL commands, bsc_base_ctrl_cmds_install() still needs to be split up. Change-Id: I5b5b6a9678b458affa86800afb1ec726e66eed88
2017-08-27cosmetic: make osmo-python-tests dependency more accurateNeels Hofmeyr1-1/+1
Change-Id: I4f84a13b7fa6ec4173bdc155e6114d4d7328b619
2017-08-27Add msc_vlr test suite for MSC+VLR end-to-end testsNeels Hofmeyr1-0/+1
Change-Id: If0e7cf20b9d1eac12126955b2f5f02bd8f1192cd
2017-08-27Use libvlr in libmsc (large refactoring)Harald Welte1-2/+1
Original libvlr code is by Harald Welte <laforge@gnumonks.org>, polished and tweaked by Neels Hofmeyr <nhofmeyr@sysmocom.de>. This is a long series of trial-and-error development collapsed in one patch. This may be split in smaller commits if reviewers prefer that. If we can keep it as one, we have saved ourselves the additional separation work. SMS: The SQL based lookup of SMS for attached subscribers no longer works since the SQL database no longer has the subscriber data. Replace with a round-robin on the SMS recipient MSISDNs paired with a VLR subscriber RAM lookup whether the subscriber is currently attached. If there are many SMS for not-attached subscribers in the SMS database, this will become inefficient: a DB hit returns a pending SMS, the RAM lookup will reveal that the subscriber is not attached, after which the DB is hit for the next SMS. It would become more efficient e.g. by having an MSISDN based hash list for the VLR subscribers and by marking non-attached SMS recipients in the SMS database so that they can be excluded with the SQL query already. There is a sanity limit to do at most 100 db hits per attempt to find a pending SMS. So if there are more than 100 stored SMS waiting for their recipients to actually attach to the MSC, it may take more than one SMS queue trigger to deliver SMS for subscribers that are actually attached. This is not very beautiful, but is merely intended to carry us over to a time when we have a proper separate SMSC entity. Introduce gsm_subscriber_connection ref-counting in libmsc. Remove/Disable VTY and CTRL commands to create subscribers, which is now a task of the OsmoHLR. Adjust the python tests accordingly. Remove VTY cmd subscriber-keep-in-ram. Use OSMO_GSUP_PORT = 4222 instead of 2222. See I4222e21686c823985be8ff1f16b1182be8ad6175. So far use the LAC from conn->bts, will be replaced by conn->lac in Id3705236350d5f69e447046b0a764bbabc3d493c. Related: OS#1592 OS#1974 Change-Id: I639544a6cdda77a3aafc4e3446a55393f60e4050
2017-08-27Add libvlr implementationHarald Welte1-0/+1
Original libvlr code is by Harald Welte <laforge@gnumonks.org>, polished and tweaked by Neels Hofmeyr <nhofmeyr@sysmocom.de>. This is a long series of trial-and-error development collapsed in one patch. This may be split in smaller commits if reviewers prefer that. If we can keep it as one, we have saved ourselves the additional separation work. Related: OS#1592 Change-Id: Ie303c98f8c18e40c87c1b68474b35de332033622