aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2009-12-24Merge remote branch 'origin/master'Harald Welte4-14/+130
2009-12-24[authentication] Code for retrieving authentication data from SQL DBHarald Welte2-0/+111
This is the first step towards supporting actual A3/A8 authentication.
2009-12-23ipaccess-proxy: Fix two memory leaksHarald Welte1-5/+2
2009-12-23debug: Fix typo DMM -> DNM (we don't need DMM twice)Harald Welte1-1/+1
This prevented NM related log messages from showing up at stderr
2009-12-23input/ipaccess: Differentiate between LOGL_ERROR and DEBUGHarald Welte1-13/+18
also: make sure we properly reset the OML/RSL UP flags on a dead socket.
2009-12-23introduce #defines for ip.access RSL and OML UDP portsHarald Welte3-8/+13
2009-12-23Add ipaccess-proxy, a proxy for ip.access A-bis over IPHarald Welte2-1/+1129
This proxy allows us to restart OpenBSC while the BTS's are kept running with their CCCH/BCCH alive. This is very useful to make sure the phones don't roam to other networks while restarting OpenBSC. The proxy also intrduces UDP sockets for injecting UDP packets into the A-bis data stream.
2009-12-23Fix segfault in case BTS has more TRX than we have configuredHarald Welte1-0/+2
2009-12-23[ipaccess] The next byte appears to be size...Holger Hans Peter Freyther1-0/+12
Using okteta to display the size in bigendian and then selecting from the start to the " SDP" I get the same number...
2009-12-23[ipaccess] The second four bytes appear to be always the sameHolger Hans Peter Freyther1-0/+14
2009-12-23[ipaccess] Start adding a tool that analyzes the ipaccess headerHolger Hans Peter Freyther2-1/+70
So far I have not much idea about the format. It is starting with the magic byte and the header is spanning until the next occurence of the " SDP" marker.
2009-12-23[sw_load] It turns out there is a header that needs to be readHolger Hans Peter Freyther1-2/+10
The magic " SDP" is occuring twice in the file. The first time seems to be the file header and the second time it is with the payload. We will need to parse this somehow...
2009-12-23[sw_load] For the nanoBTS just open the firmwareHolger Hans Peter Freyther1-0/+11
* The two version strings are not in an easy to parse header and from my trace it appears like the whole file is sent to the BTS. So just open the firmware file..
2009-12-23[ipacess-config] Remove one of my bogus debugging statementsHolger Hans Peter Freyther1-1/+0
2009-12-23[statistics] Do the syncing to db from within the bsc_hackHolger Hans Peter Freyther3-19/+27
Change the counters_store_db function to be a generic for_each function taking a function pointer and data. Use that in bsc_hack to store it to the DB. This is removing the DB requirement and will allow to handle the counter values in different ways without making the counter list public. I verified that the syncing is still taking place.
2009-12-23[statistics] Make counter_db_store internalHolger Hans Peter Freyther2-2/+1
Do not expose DB functionality on this level
2009-12-23[sccp] Provide dummy db_store_counter...Holger Hans Peter Freyther1-0/+2
2009-12-23[channel] Compile statistics.c into the test.Holger Hans Peter Freyther1-1/+2
2009-12-23[debug] Make the test case compile and it is still passingHolger Hans Peter Freyther1-7/+14
2009-12-22Import the new logging architectureHolger Hans Peter Freyther12-77/+571
This is the new logging architecture, including * support for multiuple logging targets like stderr and vty * log levels in addition to categories/subsystems * filtering based on imsi, i.e. only see events for one subscriber * dynamically change log level for each category for each vty
2009-12-22pretty-print statistics in 'show statistics'Harald Welte1-7/+7
2009-12-22print last measurement report during 'show lchan'Harald Welte1-0/+42
2009-12-22fix sql table creation for 'Counters' tableHarald Welte1-2/+2
2009-12-22statistics: Introduce 'struct counter' instead of using unsigned longHarald Welte15-66/+255
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-22[gsm_04_11] Replace hardcoded transaction_id by real allocationHarald Welte1-1/+5
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-22bts: Allow config of RACH control parameters tx-integer & max retransSylvain Munaut4-5/+43
Tweaking theses can be useful especially tx-integer that influence both the spread of rach attemps and the delay between two attemps. Looking up GSM 04.08 3.3.1.1.2 & 10.5.2.29 can help determine good values. The default are choosed with a wide spacing between attemps (tx integer = 9 -> T=12 & S=217 (non-combined CCCH/SDCCH) or 115 (for combined CCCH/SDCCH)). This alleviates the problem of responding to several RACH attempts by a same MS, allocating several RF channels when only 1 is needed. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-22Implement a better sending of pending SMSSylvain Munaut2-10/+34
The previous implementation had some shortcomings: - If the MIN ID given was not the exact id of the first unsent SMS, it would try to submit the same sms several time until id++ finally made id go to the next one. - If a subscriber had several SMS pending it would try to submit them individually (only to get rejected because a paging for that subscriber was already in progress) Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-22missing semicolon at end of statementHarald Welte1-1/+1
2009-12-22Display current channel usage load in 'show bts' and 'show network'Harald Welte3-0/+93
This is just the load at one given instant. We definitely also want to see some averages and record the measurements in a database later.
2009-12-22[vty] Document the various T??? we are ausing.Holger Hans Peter Freyther1-13/+13
Provide a small individual documentation string.
2009-12-22[misc] Move handover into libmsc.aHolger Hans Peter Freyther1-3/+4
Handover is a high level decision, it can span multiple BSCs and belongs mostly into the MSC domain.
2009-12-22[misc] Move rtp_proxy.c into the libbsc.cHolger Hans Peter Freyther1-2/+2
For the time being RSL has to know about Layer4 and upwards and is using the RTP socket class....
2009-12-22[gsm48] Move gsm48_parse_meas_rep to gsm_04_08_utilsHolger Hans Peter Freyther2-68/+69
Move the function over to the _utils side as handover measurement is compiled into libbsc and we don't want to end up with linking errors.
2009-12-22keep some internal statistics inside OpenBSCHarald Welte8-1/+128
the statistics will give us some idea about the network load and performance.
2009-12-21it's LOGL_ERROR, not LOG_ERRORHarald Welte2-3/+3
2009-12-21[sms] bugfix: additional functionality indicator only appears in ↵Steffen Neubauer1-1/+2
TP_VPF_ENHANCED - not in TP_VPF_ABSOLUTE
2009-12-21make sure bootstrap_bts() only contains static initializationHarald Welte1-3/+5
values that might change at runtime are moved to set_system_infos() which we might now also call at runtime to update the BTS with changes in the SI
2009-12-21remove duplicate flag for cell barringHarald Welte3-7/+4
it's sufficient if we keep the state of cell barring in one place
2009-12-21ipaccess: Fix two minor bugs regarding multi-TRX setupHarald Welte1-2/+3
we need to set newbfd->priv_nr to 2+trx_id, rather than keeping it '2' all the time, as it is used to look-up the e1i_ts when we receive a packet. A constant '2' would always match to TRX 0. we also need to keep one separate bit for each TRX state in order to properly generate the EVT_E1_TEI_UP event for trx > 0.
2009-12-21[gprs] SI 13 should only be generated on C0 (BCCH-carrying TRX)Harald Welte1-7/+8
2009-12-21[abis] Do not access an array with N elements at index NHolger Hans Peter Freyther1-3/+3
Possible crash fixes by preventing accessing the array out of bounds.
2009-12-21[abis] Properly compare obj_inst->trx_nr to bts->num_trxHolger Hans Peter Freyther1-2/+2
* Use >= in this case as we start counting the trx from 0 * This is fixing a problem with multi trx config
2009-12-21make handover algorithm parameters configurable from VTYHarald Welte1-0/+65
2009-12-21[handover] Real handover algorithmHarald Welte5-27/+241
This implements the handover algorithm (and associated parameters) as described in Chapter 8 of the book "Performance Enhancements in a Frequency |Hopping GSM Network" by Thomas Toftegard Nielsen and Jeroen Wigard. The parameters such as averaging windows are configured in struct gsm_network. We keep some state to trakc up to 10 neighbors as they are being reported from the MS. This has so far only been tested in a network with two BTS that have each other as neighbor. Networks with morge neighbors might encounter bugs.
2009-12-21handover: set old channel to INACTIVE stateHarald Welte1-1/+4
After receiving the HANDOVER COMPLETE on the new channel, we mark the old channel as INACTIVE and try to release it ASAP.
2009-12-21RSL: keep track if a channel is active or notHarald Welte2-0/+19
This allows us to block packets that we have received after the channel is no longer being used. This is visible during handover, where we still receive a measurement report after the MS has switched to the new channel. This leftover measurement report then attempts to trigger another handover, which si bogus and will fail - and thus only consumes resources. With the new LCHAN_S_ACTIVE state, we can check for this when processing the measurement report.
2009-12-21meas_rep: utility function for processing of measurement reportsHarald Welte3-1/+142
This provides two functions: get_meas_rep_avg() to obtain the sliding window average of one particular field, and meas_rep_n_out_of_m_be() to check if at least N out of M measurments are >= BE.
2009-12-21Fix typo s/memcpy/memcmp in trau_frame.cAndreas Eversberg1-1/+1
2009-12-21chan_alloc: Delete T3101 on lchan_free as wellSylvain Munaut1-0/+1
If a RF channel is assigned but no response is ever heard from the phone, we will receive a CONNECTION FAIL from the BTS, triggering a RF release freeing the channel. Then sometime later, T3101 will expire as well and free the channel again ... Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-21[db] Fix queries for unsent SMSSylvain Munaut1-3/+5
- Need to use sms.id for the ORDER BY since 'subscriber' also has 'id' - Need to add the join clause between 'SMS' and 'subscriber' - Add a LIMIT 1 (probably no impact for the db size we're dealing with here, but with large DB and mysql/postgresql this can help the planner) - (fix a wrong comment in passing ...) Signed-off-by: Sylvain Munaut <tnt@246tNt.com>