aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2011-05-22bsc: on-demand setup of nanoBTS and HSL femto socketsPablo Neira Ayuso14-35/+112
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-05-22abis: add init function for emulated ipaccess/HSL emulated E1 inputPablo Neira Ayuso3-12/+14
This patch is a cleanup. It adds an init function for the ipaccess and HSL emulated E1 input drivers.
2011-05-22bsc: fix bail out in case of problems bootstrapping BTS or E1 inputPablo Neira Ayuso1-4/+6
The error message was missing in case of problems bootstrapping the BTS. The E1 input driver initialization was displayed in the standard output, now this error is reported via logs.
2011-05-22abis: skip e1_input nesting if emptyPablo Neira Ayuso1-0/+3
With this patch, we don't include e1_input if it's empty [...] timeslot 7 phys_chan_config TCH/F hopping enabled 0 e1_input <----------------- empty, it should not show up. msc [...]
2011-05-17ipaccess: Fix the case of specifying the interfaceHolger Hans Peter Freyther1-0/+1
Pablo pointed out that my previous commit was rubish. If we have less than two arguments we want ifname to remain NULL and if we have a second argument (or more) we want to use that as the interface name to bind to.
2011-05-17nat: Use 'paging group' because we have paging forbidden.Holger Hans Peter Freyther1-7/+15
Make paging-group deprecated and introduce the new paging group.
2011-05-14ipaccess-find: Work without providing an interface nameHolger Hans Peter Freyther1-3/+2
This will use the default route of the operating system, e.g. be able to use ipaccess-find without special permission.
2011-05-12misc: Use the osmo_init code for signals and loggingHolger Hans Peter Freyther11-98/+65
Use the libosmocore code to ignore certain signals by default (e.g. SIGHUP, SIGPIPE) and use the new code to create a default stderr logging target and initialize it properly.
2011-05-11debian: update ChangelogHarald Welte1-0/+6
2011-05-11debian: examples can now be installed with a single line in .examplesHarald Welte1-6/+1
2011-05-11debian: bsc_nat is now called osmo-bsc_natHarald Welte1-1/+1
2011-05-11add examples for osmocom-bscHarald Welte1-0/+1
2011-05-11osmocom-nitb.init: remove reference to old bsc_hackHarald Welte2-3/+3
2011-05-11examples: automatically copy all examples in dist and install it to docdirHarald Welte12-1/+20
2011-05-11move config file examples to doc/examples/Harald Welte8-0/+0
2011-05-11add git-version-gen script to EXTRA_DISTHarald Welte1-0/+1
2011-05-10gprs: Add a lua script to collect buffers on the downlink.Holger Hans Peter Freyther1-0/+80
This can be used to throw the data into GNUplot. It collects the time (from the start of the trace), the buffer data in kbyte and the number of buffered PDUs. It is assuming that no PDU is delivered toward the target.
2011-05-08configure.in: Require libosmocore >= 0.3.0 for namespace changesHarald Welte1-3/+3
2011-05-07src: rename msg_entr* to osmo_config_*Pablo Neira Ayuso4-5/+5
Summary of changes: s/msg_entry_parse/osmo_config_list_parse/g s/msg_entry/osmo_config_entry/g s/msg_entries/osmo_config_list/g
2011-05-07src: use namespace prefix osmo_* for misc utilsPablo Neira Ayuso31-84/+84
Summary of changes: s/bcd2char/osmo_bcd2char/g s/char2bcd/osmo_char2bcd/g s/hexparse/osmo_hexparse/g s/hexdump/osmo_hexdump/g s/hexdump_nospc/osmo_hexdump_nospc/g s/ubit_dump/osmo_ubit_dump/g s/static_assert/osmo_static_assert/g
2011-05-06src: use namespace prefix osmo_counter*Pablo Neira Ayuso21-149/+149
Summary of changes: s/struct counter/struct osmo_counter/g s/counter_inc/osmo_counter_inc/g s/counter_get/osmo_counter_get/g s/counter_reset/osmo_counter_reset/g s/counter_alloc/osmo_counter_alloc/g s/counter_free/osmo_counter_free
2011-05-06src: use namespace prefix osmo_wqueue*Pablo Neira Ayuso12-32/+32
Summary of changes: s/struct write_queue/struct osmo_wqueue/g s/write_queue_init/osmo_wqueue_init/g s/write_queue_clear/osmo_wqueue_clear/g s/write_queue_enqueue/osmo_wqueue_enqueue/g s/write_queue_bfd_cb/osmo_wqueue_bfd_cb/g
2011-05-06src: use namespace prefix osmo_signal*Pablo Neira Ayuso36-85/+85
Summary of changes: s/signal_cbfn/osmo_signal_cbfn/g s/register_signal_handler/osmo_signal_register_handler/g s/unregister_signal_handler/osmo_signal_unregister_handler/g s/dispatch_signal/osmo_signal_dispatch/g
2011-05-06src: use namespace prefix osmo_fd* and osmo_select*Pablo Neira Ayuso39-211/+211
Summary of changes: s/struct bsc_fd/struct osmo_fd/g s/bsc_register_fd/osmo_fd_register/g s/bsc_unregister_fd/osmo_fd_unregister/g s/bsc_select_main/osmo_select_main/g
2011-05-06src: use namespace prefix osmo_timer* for timer functionsPablo Neira Ayuso42-157/+157
Summary of changes: s/struct timer_list/struct osmo_timer_list/g s/bsc_add_timer/osmo_timer_add/g s/bsc_schedule_timer/osmo_timer_schedule/g s/bsc_del_timer/osmo_timer_del/g s/bsc_timer_pending/osmo_timer_pending/g s/bsc_nearest_timer/osmo_timers_nearest/g s/bsc_prepare_timers/osmo_timers_prepare/g s/bsc_update_timers/osmo_timers_update/g s/bsc_timer_check/osmo_timers_check/g
2011-05-04bsc: Provide a show statistics commandHolger Hans Peter Freyther1-0/+11
2011-05-04nat: Keep track of the error message.Holger Hans Peter Freyther1-3/+4
2011-05-04msc: bail out if subscriber VTY command failsPablo Neira Ayuso1-1/+10
This patch adds several messages that would be displayed if: * the Ki argument is missing. * you pass an invalid Ki. * the database fails to perform the operation (add/delete/update). Before this patch, no messages were spotted on this errors. I noticed this while adding Ki to the existing subscribers in the nanoBTS setup: I introduced a wrong Ki but the VTY command line did not report any error. A quick look at the database via sqlite command confirmed that the new authkey information was not added.
2011-05-02nat: Create a Paging Group that BSCs can refer toHolger Hans Peter Freyther5-20/+191
Introduce a paging group that a BSC can refer to and is used during the LAC lookup. This way paging can be flooded through the network and just filtered at the last element in the core.
2011-05-02nat: Introduce the concept of a paging group and use itHolger Hans Peter Freyther2-0/+38
A paging group is a list of LACs, different BSCs can point to a paging group and use it for the LAC lookup.
2011-05-02nat: Rewrite the paging handling.Holger Hans Peter Freyther4-57/+59
The current code tries to find _one_ bsc for a paging message and then continues. The new code will try to find multiple BSCs for each LAC. This is done in preparation of having two BSCs handle the same LAC. This code right now is O(m*n) but it will be worse once paging groups are landed. The code to test the function was reduced to just test the lac lookup code as the other part can not be tested in a standalone setup anymore.
2011-05-02paging: Provide the number of pending requestsHolger Hans Peter Freyther3-1/+18
Address the FIXME and take code from the on-waves/bsc-master branch. This will count the number of requests.
2011-05-02paging: Initialize structs internally to avoid a crashHolger Hans Peter Freyther3-6/+11
The code to create the struct gsm_bts is in libcommon right now and we can not call paging_init from there. Right now it appears to be the easiest of doing the init internally.
2011-04-26bsc: Allow to have a list of MSCs/MUXs to connect toHolger Hans Peter Freyther10-64/+112
Be able to configure a list of destinations (duplicates allowed) that will be tried in a round robin fashion. The change is in the bsc_msc_connection to operate on a list. We achieve the round robin nature with the same trick used in the paging code to delete and append the current entry. The nat code was updated to compile but one can only configure one destination.
2011-04-26bsc: Allow the NAT to query the list of LACsHolger Hans Peter Freyther2-4/+39
Right now the code assumes that any request coming from the NAT is a query and the code responds to with a list of configured LACs.
2011-04-26bsc: Handle MGCP coming from Osmo Extensions headerHolger Hans Peter Freyther1-0/+20
Start using the new Osmo Extension header and forward MGCP to the MGCP GW.
2011-04-26bsc: Point back from struct osmo_msc_data to struct gsm_networkDaniel Willmann2-0/+6
2011-04-26nat: Introduce a block on the NAT to slowly get rid of BSCsHolger Hans Peter Freyther3-0/+50
For restarting the NAT we can now block it, it will not accept new connections and for existing connections it will attempt to drop them over time. A blocked NAT will end up with no BSC connections left and then can be safely restarted.
2011-04-26ipa: Reserve two new values for the Osmo IPA extensionsHolger Hans Peter Freyther1-0/+14
We want to send MGCP through the Osmo Extension and also want to send the list of local LACs to it.
2011-04-26abis: Use LOGL_ERROR for the Failure Event ReportHolger Hans Peter Freyther1-6/+6
It is not an error of the BSC but we will treat a BTS error like an error of the BSC for now.
2011-04-21ussd: Ignore connection release/clear from the MSCHolger Hans Peter Freyther1-0/+9
In case this is a local USSD connection we will ignore the clear command and respond with a RLC to any RLSD but will never forward that to the BSC. This way the external USSD is fully in charge of the connection. There are theoretical issues if there are multiple transactions on the same SCCP Connection but this can not be solved properly right now.
2011-04-19crc24: Include stdint.h as a possible compile fixHolger Hans Peter Freyther1-0/+2
2011-04-19ussd: Keep track of used TIs for USSD and forward messagesHolger Hans Peter Freyther3-23/+68
Keep track of the used transaction identifier and always forward messages to the USSD provider. E.g. this can be used to have a dialogue going. Right now it is still possible that the MSC will close down the connection.
2011-04-18nat: Inform the USSD Provider about lost connectionsHolger Hans Peter Freyther3-15/+44
2011-04-18nat: Remove magic numbers, use enum values for conn classificationHolger Hans Peter Freyther2-4/+14
Remove the usage of 0, 1, 2 and start using enum values. We can still assume con_local is a number.
2011-04-18nat: Clarify the documentation of the allow/deny regexpHolger Hans Peter Freyther1-3/+3
2011-04-18ho: Initialize nmp_worst as it was not initializedHolger Hans Peter Freyther1-2/+2
The compiler can't know that on the first iteration we will assign nmp_worst as we have used a high average value.
2011-04-18bsc: Move transaction.c from the libbsc to the libmscHolger Hans Peter Freyther3-2/+1
The BSC code does not use transactions, move it to the libmsc.
2011-04-18misc: Fix possible crash with setting an extensionHolger Hans Peter Freyther1-3/+3
2011-04-18misc: Remove sys/types.h includes from the filesHolger Hans Peter Freyther48-48/+0
These are not needed any more. We used them for u_int types but we now use uint which comes from stdint.h