aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2013-07-31nat: Introduce a prefix lookup tree (trie) for number rewritingHolger Hans Peter Freyther1-1/+1
* It is a trie. The max depth of the trie is the length of the longest prefix. The lookup is O(lookuped_prefix), but as the prefix length is limited, the lookup time is constant. * Each node can hold the entire prefix, has place for the rewrite rule with up to three digits. * A trie with 20k entries will take about 3MB ram. * Filling the trie 100 times takes ~800ms on my i7 laptop * 10.000.000 lookups take 315ms.. (for the same prefix). * 93/99 lines are tested, 6/6 functions are tested, 49 of 54 branches are tested. Only memory allocation failures are not covered * A late addition is to handle the '+' sign and to increase the number of chars in the rewrite prefix. The timing/line coverage has not been updated after this change.
2012-10-22si: Partially implement the range encoding for the SI.Holger Hans Peter Freyther1-1/+2
I saw the old copy of the "Appendix J" code too late and I have discovered some quirks and I am more familar with my implementation. Most noticable 'w' only needs to be as big as the input arfcn but requires the 'w' to be initialized. The power_of_2 implementation differs as well (mine matches the output of wirehsark). The f0 could be chosen in a better way but right now picking the lower bound is the easiest. It is not clear if to use modulo if the range is chosen in the middle. This can be improved in the future. Right now I have no bit fiddling for range128, 256 and 1024 as I was running out of time.
2012-06-16split libgb into a separate library for outside useHarald Welte1-2/+2
This also removes the dependency to osmo_sock() inside libcommon and replaces it with osmo_sock_* from libosmocore
2011-10-10add missing include files to noinst_HEADERS to make distcheck workHarald Welte1-1/+2
2011-09-03Add VTY command to specify default speech codecHarald Welte1-1/+1
In order to have the MNCC application reliably decide on the codec type, it needs to know if we are running on a TCH/F or TCH/H. Thus, we pass lchan_mode as a new parameter to the 'struct gsm_mncc'
2011-08-23add missing ipaccess.h to Makefile.amHarald Welte1-1/+1
2011-08-23add control_cmd.h to Makefile.amHarald Welte1-1/+1
2011-08-19src: port openBSC over libosmo-abis0.9.15Pablo Neira Ayuso1-2/+1
This is a big patch that ports openBSC over libosmo-abis. Sorry, the changes that are included here are all dependent of libosmo-abis, splitting them into smaller pieces would leave the repository in some intermediate state, which is not desired. The main changes are: - The directory libabis/ has been removed as it now lives in libosmo-abis. - new configuration file format for nanoBTS and HSL femto, we need to define the virtual e1_line and attach it to the OML link. - all the existing BTS drivers (nanoBTS, hsl femto, Nokia site, BS11 and rbs2000) now use the new libosmo-abis framework. - use r232 input driver available in libosmo-abis for bs11_config. - use ipa_msg_recv instead of old ipaccess_read_msg function. - delete definition of gsm_e1_subslot and input_signal_data. These structures now lives in libosmo-abis. Most of this patch are deletions of libabis/ which has been moved to libosmo-abis. This patch also modifies openBSC to use all the new definitions available in libosmocore and libosmo-abis. In order to do that, we have replaced the following: - DINP, DMI, DMIB and DMUX by their respective DL* correspondences. - SS_GLOBAL by SS_L_GLOBAL - SS_INPUT by SS_L_INPUT - S_GLOBAL_SHUTDOWN by S_L_GLOBAL_SHUTDOWN - SS_INPUT by SS_L_INPUT - S_INP_* by S_L_INP_* sub-signals - E1INP_NODE by L_E1INP_NODE vty node This patch has been tested with: - one nanoBTS - the HSL femto with the examples available under libosmo-abis - BS11 with both dahdi and misdn drivers.
2011-06-03split gsm_data.h in gsm_data_shared.h and gsm_data.hHarald Welte1-1/+1
gsm_data.h is the part that contains BSC-specific data, whereas gsm_data_shared.h is now shareda with osmo-bts
2011-05-22bsc: on-demand setup of nanoBTS and HSL femto socketsPablo Neira Ayuso1-1/+2
The daemons set up nanoBTS and HSL femto sockets by default, ie. the three sockets to support these two drivers are open even if we have no BTS of that kind. This patch enables on-demand socket creation, ie. we only enable them if we have one BTS at least that requires it. I added two new attributes to the gsm_bts object, they are: * the start() function includes the code that we need to run to start the BTS. This new function contains the socket creation in the particular case of nanoBTS and HSL femto. * the started boolean, which is used to know if we have already started the BTS, ie. we have already invoked start(). Note that, I have splitted the bts_model_*_init() function into two functions, the _init() functions that register the BTS driver and the _start() functions that start BTS driver on-demand. While I was at it, I added several changes/cleanups to this patch: * Group all bts_model_*_init() calls into one function bts_init(), which is called in the initialization path of osmo-nitb and osmo-bsc. * Add openbsc/bss.h that contains the declaration of bsc_bootstrap_network, bsc_shutdown_net and bts_init. * Add missing e1inp_init() in osmo-bsc. * Fix missing declaration of hsl_setup in openbsc/e1_input.h
2011-02-28misc: Fix the make distcheck of the sources.0.9.12Holger Hans Peter Freyther1-1/+1
2010-12-26sms: Introduce a SMS queue that will be responsible for deliveryHolger Hans Peter Freyther1-1/+1
The SMSqueue will be responsible of sending to the user. It will do so in a loop and will also try not to overload the BTS. This means the throughput of SMS will be limited.
2010-09-16bsc: Add the osmo_bsc_grace from the on-waves/bsc-master branchHolger Hans Peter Freyther1-1/+1
The grace code will decide if a given connection is allowed to be made or if it is going to be rejected. For active connections it is going to send a USSD message.
2010-09-15bsc: Create struct osmo_msc_data to hold MSC information, handle signalsHolger Hans Peter Freyther1-1/+2
2010-07-31nat: Fix compilation with nat not being enabled.Holger Hans Peter Freyther1-1/+1
common_vty.c was including bsc_nat.h which tried to get the sccp/sccp_types.h which is not required to be installed. Move all structs using/embedding SCCP structures into the bsc_nat_sccp.h and include. This should fix the compilation.
2010-07-22move ip.access netowrk listen (NWL) to network_listen.cHarald Welte1-1/+1
Also, we now re-start the network listen test after it has finished, so if you run a test from ipaccess-find, the test will get re-started and re-started all the time.
2010-07-05bsc: Add header file for the true BSC API.Holger Hans Peter Freyther1-1/+1
2010-06-30osmo-bsc: Start adding code for the osmo_bsc..Holger Hans Peter Freyther1-1/+2
This adds the unix domain socket rf control protocol into the new subdirectory.
2010-06-15nat: Add the OSMO NAT to the build process.Holger Hans Peter Freyther1-1/+1
2010-06-15bsc_api: Create osmo_msc, and initialize the MSC API in the bsc_init.Holger Hans Peter Freyther1-1/+1
2010-06-14auth: Add missing include/auth.hSylvain Munaut1-1/+1
Doh ! Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-05-25add gprs_ns_frgre.h to Makefile.amHarald Welte1-1/+2
2010-05-25Migrate VTY code to libosmovtyHarald Welte1-1/+1
2010-05-19socket: Add support for GRE socketsHarald Welte1-1/+1
2010-05-18[GPRS] add missing header file gprs_gmm.hHarald Welte1-1/+1
2010-05-04[gprs] Add GPRS header files to noinst_HEADERSHarald Welte1-1/+3
2010-04-06[vty] Move the VTY logging commands to a new fileHolger Hans Peter Freyther1-1/+2
Currently vty_interface.c is used for the BSC config, in case of the MGCP Gateway or the BSC Nat process these logging commands are not available. Move the commands to a new vty_interface_cmds.c file to allow to share basic commands across different programs.
2010-03-25bsc: Start creating 08.08 like APIHolger Hans Peter Freyther1-1/+1
The 08.08 API will interface with the internal BSC code and it is the boundary between MSC and BSC. So nothing that calls the BSC functionality should know about lchan or such.
2010-02-26Merge remote branch 'origin/master' into on-waves/mgcpHolger Hans Peter Freyther1-8/+11
Conflicts: openbsc/include/openbsc/Makefile.am openbsc/src/Makefile.am
2010-02-22[mgcp] Move away from global variables and split out VTY codeHolger Hans Peter Freyther1-1/+1
In separation of using the MGCP parsing in another context, refactor the code to operate on a struct mgcp_config, split out the vty code from the mgcp_protocol.c, and move the callbacks into the mgcp code. There should be no functional changes.
2010-02-20finish openbsc / libosmocore separationHarald Welte1-9/+5
* use pkg-config from openbsc to find header and library * move sms and timer tests to libosmocore itself * ensure "make distcheck" works on both packages
2010-02-16Install gsm_04_08.h and required headers into a openbsc/Holger Hans Peter Freyther1-0/+3
2010-02-12Move debug.c into the liblaf0rge1.a tooHolger Hans Peter Freyther1-2/+3
The msgb class is using the debug framework and needs to be able to output data. We would need a way to add custom areas or to have the struct of areas outside of the default debug.c... but this can happen at a later point.
2010-02-09Create a liblaforge with OpenBSC utility functions to be used for other projectsHolger Hans Peter Freyther1-3/+6
2009-12-22statistics: Introduce 'struct counter' instead of using unsigned longHarald Welte1-1/+1
This has the advantage that counters can be added all over the code very easily, while having only one routine that stores all of the current counter values to the database. The counters are synced every 60 seconds, providing relatively fine grained statistics about the network usage as time passes by.
2009-12-17add handover.h file to Makefile.am to make distcheck happyHarald Welte1-1/+1
2009-12-06Fix make distcheck by adding the new headers...Holger Hans Peter Freyther1-1/+2
2009-11-20[misc] Fix the make distcheckHolger Hans Peter Freyther1-1/+2
Mention the two new header files, do not list isdnsync twice
2009-10-27misc: Fix make distcheck and welcome the two new header files to OpenBSCHolger Hans Peter Freyther1-1/+1
2009-08-10misc: Fix make distcheckHolger Hans Peter Freyther1-1/+1
Add some missing header files
2009-08-09Add new BSC RLL layer of codeHarald Welte1-1/+2
A caller can call rll_establish(lchan, link_id) and a callback to the GSM RLL code. He will get called back if the RLL link is established or receives some error message, or the establishment times out. We need this for proper SMS implementation, where we need to restablish a SAPI3 RLL link before transmitting the actual CP-DATA messages.
2009-07-28add RTP proxy mode for ip.accessHarald Welte1-1/+1
Up until now, we only supported direct RTP streams between ip.access BTS. With this commit, the user can specify '-P' to the command line to enable a RTP/RTCP proxy inside OpenBSC. The nanoBTS will then send all their voice data to OpenBSC, which will relay it to the respective destination BTS (which can be the same BTS). The default behaviour remains unchanged. Without '-P' on the command line, RTP/RTCP is exchanged directly.
2009-06-10move openbsc into its own subdirectoryHarald Welte1-0/+5