aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/configure.ac
AgeCommit message (Collapse)AuthorFilesLines
2017-03-16osmo-nitb becomes osmo-mscNeels Hofmeyr1-2/+2
Change-Id: I3787050b524954d8a4dd13495c458f3ee293807b
2017-03-16add libiudummy, to avoid linking Iu deps in testsNeels Hofmeyr1-0/+1
Change-Id: I4a66c4122011dbc87c6fcb336ab0461b86522c98
2017-03-16vlr: get SMS working, by SMS recipient MSISDN round-robinNeels Hofmeyr1-0/+1
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. Change-Id: I1acf9debb6ba9164e6edcfd5bc5e48e8c98f2b01
2017-03-16Add msc_vlr test suite for MSC+VLR end-to-end testsNeels Hofmeyr1-1/+1
Change-Id: Ic073f3a069a7f5e7e421e0e56140f069ee9b10b8
2017-03-16Use libvlr in libmsc (large refactoring)Neels Hofmeyr1-1/+0
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 development collapsed in one patch. The original history may still be available as branch neels/vlr_orig. TODO: This commit may be split in several smaller changes before merging to master. Related: OS#1592 Change-Id: I702ba504ce2de93507312c28eca8d11f09f4ee8b
2017-03-16Add libvlr implementationHarald Welte1-0/+3
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 development collapsed in one patch. The original history may still be available as branch neels/vlr_orig. Related: OS#1592 Change-Id: I3f75de5f0cc2ff77f276fd39832dd3621309c4b9
2017-02-07Attempt to fix nightly buildsMax1-3/+0
The fix introduced in dac5867af5ff90d4beb70fc30a5743f60f159e3a did not work because autotools in our OE are too old. Use alternative way to include custom m4 macros to fix it. Change-Id: I5fe6d1180c2624cfe1d3673314f6846527a43464
2017-01-31Remove dependency to autoconf-archiveMax1-0/+3
It is generally not a good idea to add more and more external dependencies unless absolutely needed. autoconf-archive is a good example of that, as we need to update all build machines, and older OpenEmbedded versions do not appear to have (the right?) autoconf-archive recipe. Provide local copy of necessary m4 files to fix the build there. The dependency to autoconf-archive was introduced in Change-Id Ied9c950dafa65f324cf31298b13b590f56139700 Change-Id: Iacc1958b471ec3fc65307259039e1d496845f528
2017-01-21Turn some compiler warnings into errorsMax1-0/+12
Re-apply the reverted commit 98bc7fa50d0731864297f8fb82932d480c426ff6, this time with a clear error message in case autoconf-archive is not installed. Change-Id: I631bde22e79ec0318eb9c8114db5861a1d635816 Tweaked-by: Neels Hofmeyr <nhofmeyr@sysmocom.de>
2017-01-13Revert "Turn some warnings into errors"Neels Hofmeyr1-8/+0
This introduces a failure with ./configure on my machine: ../configure: line 6612: syntax error near unexpected token `-Werror=implicit,' ../configure: line 6612: `AX_CHECK_COMPILE_FLAG(-Werror=implicit, CFLAGS="$CFLAGS -Werror=implicit")' Makefile:420: recipe for target 'config.status' failed make[1]: *** [config.status] Error 2 Installing autoconf-archive did not fix the error. So even though jenkins seems to accept this, I cannot build with this patch. Let's find out how to do this in a way that all systems can still build and then re-apply this patch. This reverts commit fd161ccce8ecaad3ddd32dd8b696902e81593ae3. Change-Id: I2b368500b07f233882ef854eca1fa21f6df39e29
2017-01-11Turn some warnings into errorsMax1-0/+8
Make warnings (when available) related to common memory-related issues into errors to harden the source and decrease chance of errors. Change-Id: Ied9c950dafa65f324cf31298b13b590f56139700
2016-12-13move OAP messages implementations to libosmocoreHarald Welte1-1/+1
This corresponds to change-id If5099e60681a215e798b6675f21813f26769c253 in libosmocore, which is now required to build openbsc. Related: OS#1592 Change-Id: I2f06aaa6eb54eafa860cfed8e72e41d82ff1c4cf
2016-12-13gsup client, gsup_test_client: move logging to DLGSUP categoryNeels Hofmeyr1-1/+1
Use the DLGSUP logging category for GSUP. Bump the required version of libosmocore to 0.9.5 to benefit from the DLGSUP logging category fix in core/logging.[hc]. (Id974c7be158e4d60421a98110f5c807aefd31119) Todo: we're using a "Library" logging category, which is not really what the library category was intended for. Instead, the GSUP client should probably be given a logging category like DVLR or DGPRS in its initialization API. Related: OS#1592 Change-Id: Id3938267fa062e1a997d3704cd678874306f86ee
2016-12-13build: bump required libosmocore, libosmogsm to 0.9.4, for GSUPNeels Hofmeyr1-2/+2
GSUP was added to libosmocore in 0.9.4. We're using it here, so make up for a previously missing bump. (BTW: I'm pretty sure that other dependencies are also in dire need of a bump, but leaving that for another patch) Change-Id: I4f245a7d78d0889b37084c52478372bddb8289d6
2016-11-24Add empty libcommon-csNeels Hofmeyr1-0/+1
This will gradually soak up code shared by libbsc and libmsc. Change-Id: If34e2bd38a099d0799238337468d56e0305ab8ae
2016-11-01OML: Improve OML attribute handlingPhilipp1-0/+1
the OML attribute tables are hardcoded. To set variable parameters, the hardcoded data structure (tlv) is patched on byte level during runtime. This patch replaces this mechanism. - Replace hardcoded OML attribute tables with dynamically generated TLV structures. - Add unit tests to check if the OML attribute tables are generated correctly - Put OML attribute table generator code in a separate file: bts_ipaccess_nanobts_omlattr.c Change-Id: Ibeb34a84912d6cf695f553a34c69320fca7d08fa
2016-10-01configure: check for pkg-config presenceNeels Hofmeyr1-0/+7
Change-Id: I1484fc8b870df6f0aeef0c13078c66d0cfa97e75
2016-10-01build: be robust against install-sh files above the root dirNeels Hofmeyr1-0/+3
Explicitly set AC_CONFIG_AUX_DIR. To reproduce the error avoided by this patch: rm install-sh # in case it was already generated. touch ../install-sh # yes, outside this source tree autoreconf -fi This will produce an error like ... configure.ac:16: error: required file '../ltmain.sh' not found configure.ac:5: installing '../missing' src/Makefile.am: installing '../depcomp' autoreconf: automake failed with exit status: 1 See also automake (vim `which automake`) and look for 'sub locate_aux_dir'. Change-Id: I3b6d9ad4e5af44c2bdf3844c7bf8e8517bd61d8e
2016-09-24V.42bis: integration and unit testPhilipp1-0/+1
- Edit previously committed V.42bis implementation to function outside IAXmodem. - Add unit test to verify the correct function of V.42bis Change-Id: I689413f2541b6def0625ce6bd96f1f488f05f99d
2016-09-24RFC1144: integration and unit-testPhilipp1-0/+1
The previously pushed slhc implementation has been modified to compile and function outside of the kernel. Also debug log messages were added and datatypes ware matched. The implementation is now ready to be used Change-Id: I7a638e88a43b3eb9d006751a03ef2570e36613f0
2016-09-24SNDCP: add SNDCP-XID encoder/decoder and unit testPhilipp1-0/+1
The SNDCP-XID (or layer-3 xid) is used to exchange layer-3 parameters such as compression. The encoder encodes a bytestream that is then sent as regular XID field from LLC. We will need the SNDCP-XID to negotiate the parameters for our upcomming GPRS data and header compression features Change-Id: If2d63fe2550864cafef3156b1dc0629037c49c1e
2016-08-27add libiuNeels Hofmeyr1-0/+1
Co-Authored by dwillmann, laforge, nhofmeyr Change-Id: Iffc26f9c73cb15463948f7435b72ac1747aabdb3
2016-08-27Adding LLC-XID encoder / decoder and unit testPhilipp1-0/+1
The lle-xid encoder/decoder is needed to encode and decode llc xid parameter messages. We need this to exchange sndcp-parameters (SNDCP-XID) and also simple parameters such as encryption IOVs Change-Id: Ia06e4cb08bf9b48c2a4682606d1b1a91d19a9d37
2016-06-17configure: require libgsm for --enable-mgcp-transcodingNeels Hofmeyr1-1/+1
Fail in configure if libgsm is not found. Before this, the --enable-mgcp-transcoding would gladly accept that libgsm is missing and the build would fail later because of missing linking and undefined references. Change-Id: Ic23157cc5b75694f400a176c31f97d71e861ea02
2016-06-05configure.ac: add --enable-iu with deps asn1c, ranap, sigtranDaniel Willmann1-0/+12
For upcoming 3G support. Change-Id: I6209423d71f94d5cd0ca9daf065d0a9df521ef02
2016-03-31Add MM Auth test; add auth_action_str() functionNeels Hofmeyr1-0/+1
Add basic MM Authentication test setup, with fake DB access and RAND_bytes(). So far implement simple tests for IO error during DB access and missing auth entry. To print the auth action during tests, add struct auth_action_names and auth_action_str() inline function in auth.[hc].
2016-01-22dahdi: The driver has moved to libosmo-abisHolger Hans Peter Freyther1-1/+0
We can remove this check from openbsc as the handling is done in libosmo-abis.
2015-12-03tests: fix condition to run sgsn, oap, gtphub testsNeels Hofmeyr1-0/+6
Sponsored-by: On-Waves ehi
2015-11-20Depend on libgtp >= 0.92, as previous versions don't have gtpie.h installedHarald Welte1-1/+1
this fixes compilation for people having older gtp libraries installed.
2015-11-16Add GTP hub initial code base.Neels Hofmeyr1-0/+1
First steps towards a new GTP hub. The aim is to mux GTP connections, so that multiple SGSN <--> GGSN links can pass through a single point. Background: allow having more than one SGSN, possibly in various remote locations. The recent addition of OAP to GSUP is related to the same background idea. (This is a collapsed patch of various changes that do not make sense to review in chronological order anymore, since a lot of it has thorougly transmorphed after it was first committed.) Sponsored-by: On-Waves ehf
2015-11-02oap: add oap testsuite skeletonNeels Hofmeyr1-0/+1
Sponsored-by: On-Waves ehf
2015-10-12libmsc: Use RAND_bytes when choosing a tmsiDaniel Willmann1-1/+1
Require openssl version to be >= 0.9.5 because we rely on the RAND_bytes return value. [hfreyther: Add cast to uint8_t*]
2015-09-15openbsc/configure.ac: check for pcap/pcap.h.Neels Hofmeyr1-0/+1
The build process requires pcap/pcap.h in openbsc/src/utils/meas_pcap2db.c, but the configure script did not check for that file.
2015-07-02configure: Do not link all applications against libgsmHolger Hans Peter Freyther1-1/+2
Use the same trick as done by the dlopen check to not have everyone link against the library.
2015-07-02configure: No need to check for crypt hereHolger Hans Peter Freyther1-2/+0
We just link to libosmovty and if it requires crypt internally it needs to link to that (and not us). This looks like a left-over from when we moved the VTY code out of OpenBSC
2015-07-01nat: Use RAND_bytes instead of /dev/urandomHolger Hans Peter Freyther1-0/+1
We don't need to consume all the entropy of the kernel but can use libcrypto (OpenSSL) to generate random data. It is not clear if we need to call RAND_load_file but I think we can assume that our Unices have a /dev/urandom. This takes less CPU time, provides good enough entropy (in theory) and leaves some in the kernel entropy pool.
2015-05-25sgsn: Integrate c-ares with the osmocom event loopHolger Hans Peter Freyther1-0/+5
c-ares is an asynchronous DNS resolver and we need it to resolve the GGSN address. This is integrating the library into our infrastructure. We will create and maintain a list of registered FDs (c-ares is currently only using one of them) and (re-)schedule the timer after events occurred.
2015-05-03filter: Move the gsm 04.08 filter to a common placeHolger Hans Peter Freyther1-0/+1
For customer requirements we want to be able to do filtering on the BSC as well. The same messages need to be scanned and the same access-lists will be looked at. In the future we might even split traffic based on the IMSI. Begin with moving the code to a new top level directory and then renaming and removing the nat dependency.
2015-01-10meas: Unbreak the build once moreHolger Hans Peter Freyther1-0/+5
The code assumes that sqlite3.h is in the standard include path. Maybe sqlite3 wasn't installed or resides in a non standard (/usr/local) location? Fix the build as it has been broken since 1st of January.
2015-01-01build meas_vis only if libcdk is availableHarald Welte1-0/+4
2014-12-05bsc/test: Add tests for gsm_subscriber baseJacob Erlbeck1-0/+1
This commit adds test for the generic part of gsm_subscriber like reference counting and flag usage. Sponsored-by: On-Waves ehf
2014-10-09sgsn: Add boilerplate code for a SGSN testHolger Hans Peter Freyther1-0/+2
2014-09-01configure: fix unrecognized option --enable-external-testsPablo Neira Ayuso1-1/+1
./configure --help indicates: --enable-external-tests Include the VTY/CTRL tests in make check [default=no] but ./configure ... --enable-external-tests configure: WARNING: unrecognized options: --enable-external-tests the name of the option seems to be --enable-ext-tests.
2014-08-22misc: Introduce a more neutral configure option for CTRL/VTYHolger Hans Peter Freyther1-9/+14
We started with only testing the VTY but now test VTY and CTRL interface with this python framework and might even extend this to SMPP. So add and "--enable-external-tests" directive which enables the external interface tests.
2014-08-21configure.ac: Depend on libosmocore 0.7.0Harald Welte1-2/+2
2014-08-21move libctrl from openbsc to libosmoctrl (libosmocore.git)Harald Welte1-1/+1
2014-06-05mgcp: Add RTP audio transcodingJacob Erlbeck1-0/+15
This patch implements audio transcoding between the formats GSM, PCMA, L16, and optionally G.729. The feature needs to be enabled by using the autoconf option '--enable-mgcp-transcoding'. In this case mgcp_transcode.c will be compiled and linked to osmo-bsc_mgcp, and the transcoding functions provided will be registered as processing callbacks. If G.729 support is required, libcg729 needs to be installed and '--with-g729' must be passed to ./configure. Ticket: OW#1111 Sponsored-by: On-Waves ehf
2014-05-22mgcp: add voice muxer supportPablo Neira Ayuso1-0/+1
This patch adds the voice muxer. You can use this to batch RTP traffic to reduce bandwidth comsuption. Basically, osmux transforms RTP flows to a compact batch format, that is later on decompacted to its original form. Port UDP/1984 is used for the muxer traffic between osmo-bsc_nat and osmo-bsc_mgcp (in the BSC side). This feature depends on libosmo-netif, which contains the osmux core support. Osmux is requested on-demand via the MGCP CRCX/MDCX messages (using the vendor-specific extension X-Osmux: on) coming from the BSC-NAT, so you can selectively enable osmux per BSC from one the bsc-nat.cfg file, so we have a centralized point to enable/disable osmux. First thing you need to do is to accept requests to use Osmux, this can be done from VTY interface of osmo-bsc_nat and osmo-bsc_mgcp by adding the following line: mgcp ... osmux on osmux batch-factor 4 This just initializes the osmux engine. You still have to specify what BSC uses osmux from osmo-bsc_nat configuration file: ... bsc 1 osmux on bsc 2 ... bsc 3 osmux on In this case, bsc 1 and 3 should use osmux if possible, bsc 2 does not have osmux enabled. Thus, you can selectively enable osmux depending on the BSC, and we have a centralized point for configuration from the bsc-nat to enable osmux on demand, as suggested by Holger. At this moment, this patch contains heavy debug logging for each RTP packet that can be removed later to save cycles. The RTP ssrc/seqnum/timestamp is randomly allocated for each MDCX that is received to configure an endpoint.
2014-05-15misc: Use the right mailinglist address for OpenBSCHolger Hans Peter Freyther1-1/+1
2014-04-01ipa: Use enhanced ipa_msg_recv_buffered() to cope with partioned IPA messagesJacob Erlbeck1-1/+1
The old ipa_msg_recv() implementation didn't support partial receive, so IPA connections got disconnected when this happened. This patch adds the handling of the temporary message buffers and uses ipa_msg_recv_buffered(). It has been successfully tested by jerlbeck with osmo-nitb and osmo-bsc. Ticket: OW#768 Sponsored-by: On-Waves ehf