aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src
AgeCommit message (Collapse)AuthorFilesLines
2011-06-02mgcp: Fix a typo in the function nameHolger Hans Peter Freyther1-5/+5
2011-06-01nat: Add VTY code to configure the SMSC rewritingHolger Hans Peter Freyther1-9/+47
2011-06-01nat: Look into the TPDU/SMS-SUBMIT and use the TP-DestAddress for matchesHolger Hans Peter Freyther1-0/+60
Match the used SMSC and the destination of the SMS and change the SMSC address if both are matched.
2011-06-01nat: Patch the destination SMS address of a messageHolger Hans Peter Freyther2-6/+135
Use the same filtering infrasturcture to patch the SMSC address in a CP-DATA/RP-DATA message. Add a very simple testcase for this code.
2011-06-01nat: Move the common new message generation code into the base methodHolger Hans Peter Freyther1-26/+28
2011-06-01nat: Prepare to patch more than the CC Setup messageHolger Hans Peter Freyther2-25/+32
Refactor the code to allow having different handlers. The goal is to be able to patch some SMS messages too.
2011-06-01nat: Allow to have a regexp to match the MSISDNHolger Hans Peter Freyther2-31/+99
The idea that MCC and MNC is enough to classify a subscriber turns out to be wrong. Certain operatos license a number range of IMSIs to others. When we see a '^' in the MCC field we treat it as a regexp. The code now turns the MCC/MNC into a regexp for the IMSI. It is not using extended POSIX regexp to match the behavior of the access list.
2011-05-31nat: Allow to rewrite any non international numberHolger Hans Peter Freyther1-2/+0
Remove the arteficial limitation of the number format of an unknown number.
2011-05-31nat: Refactor the number patching code into a new methodHolger Hans Peter Freyther1-45/+56
Separate the code to patch the code and the code to find a new number based on the old number. This will allow to add multiple targets for number changing.
2011-05-31abis: Get the structs and values from libosmocoreHolger Hans Peter Freyther1-0/+2
Remove the forward declarations for functions and structs that have been moved to libosmocore.
2011-05-24move some more abis_nm related code into libosmocoreHarald Welte1-19/+0
This syncs openbsc.git with libosmocore.git commit rev 11c7193ad8ceb4f3898799dc44b700b8b93a59b8
2011-05-24libabis: fix segfault on malformed ipaccess RSL linkAlexander Huemer1-1/+4
This patch fixes a segfault that occured when a ipaccess RSL link gets closed unexpectedly. The segfault can be provoked by connecting to the RSL port with ncat and hitting ^C.
2011-05-24Move system information related defines and code to libosmocoreHarald Welte2-110/+11
This brings openbsc in sync with the following libosmocore commit: b5503136fa234690d5493b19a8aee3a4ef74190d
2011-05-24prepare gsm_data.h header file sharing with osmo-btsHarald Welte2-0/+2
This should not introduce any functional changes, it just re-arranges some definitions in the header file, and introduces the ROLE_BSC define that we enable for the BSC-specific fields.
2011-05-23abis_nm: Some more fall-out from the abis_nm move to libosmocoreHarald Welte3-3/+5
we want get_string_value(), not the equivalent of get_value_string()
2011-05-23abis_nm: fix some fallout regarding abis_nm migration to libosmocoreHarald Welte4-6/+7
Thanks to Holger for noticing this.
2011-05-22abis_nm: Move lots of generic definitions + code to libosmocoreHarald Welte1-388/+26
2011-05-22bsc: on-demand setup of nanoBTS and HSL femto socketsPablo Neira Ayuso10-34/+89
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 Freyther9-87/+61
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-11move config file examples to doc/examples/Harald Welte8-864/+0
2011-05-07src: rename msg_entr* to osmo_config_*Pablo Neira Ayuso2-2/+2
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 Ayuso29-78/+78
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 Ayuso18-111/+111
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 Ayuso7-24/+24
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 Ayuso28-191/+191
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 Ayuso29-126/+126
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 Freyther3-20/+183
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 Freyther1-0/+24
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 Freyther2-36/+55
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 Freyther2-1/+15
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 Freyther2-3/+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 Freyther7-53/+93
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 Freyther1-3/+38
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 Willmann1-0/+3
2011-04-26nat: Introduce a block on the NAT to slowly get rid of BSCsHolger Hans Peter Freyther2-0/+47
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-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-19ussd: Keep track of used TIs for USSD and forward messagesHolger Hans Peter Freyther2-23/+65
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 Freyther2-15/+36