aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2011-01-01License change: We are now AGPLv3+ instead of GPLv2+Harald Welte128-1023/+1963
The reason for this is quite simple: We want to make sure anyone running a customized version of OpenBSC to operate a network will have to release all custom modifiations to the source code.
2010-12-27lchan: Every SS_LCHAN signal now sends a struct lchan_sig_dataHolger Hans Peter Freyther7-26/+43
The SS_LCHAN signals now always include the lchan_sig_data. For the measurement report it will optionally include the measurement report as well. Attempt to update all handlers of this signal as well
2010-12-27bsc: Some S_LCHAN signals don't provide an lchanHolger Hans Peter Freyther1-0/+14
Check the signal and only continue if it is any of the signals we want to handle. In the case of measurement reports we would cast some random code to a lchan.
2010-12-27auth: Release the security operation after we sent out a messageHolger Hans Peter Freyther1-1/+3
The release might release the lchan we want to send the response on. Reorder the code to first send the message and then give up the security operation which might release the lchan.
2010-12-27bsc: Avoid crashing when no lchan is present in the subscriber connectionHolger Hans Peter Freyther1-1/+11
If someone wants to send a message but we have no lchan anymore we will now complain, delete the message and return.
2010-12-27gsm_04_08_utils: Fix Channel Request mode for e0/e0 and neci=1Sylvain Munaut1-1/+1
According to the specs (GSM 04.08 Table 9.9), the only possibility if neci=1 and this cause is used is "Originating call and TCH/F is needed" Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-12-26db: Quote the IMEI string before passing it into the database.Holger Hans Peter Freyther1-2/+5
2010-12-26ho: Access the network after we are known to have an entry.Holger Hans Peter Freyther1-1/+2
2010-12-26ho: Set the conn to NULL before calling lchan_releaseHolger Hans Peter Freyther1-0/+1
In case we fail to activate the lchan set the connection to NULL before calling the lchan release function.
2010-12-26[db] Properly quote name and extension for SQL accessHarald Welte1-3/+10
2010-12-26SGSN: Avoid duplicate MM contexts in case MS and SGSN disagree on P-TMSIHarald Welte3-0/+31
2010-12-26SGSN: Implement network-initiated PDP CTX DEACT when GGSN restartsHarald Welte5-4/+189
If the GGSN restarts, its restart counter will increase. We can detect that and accordingly release/delete all PDP contexts for that GGSN.
2010-12-26SGSN: some more commentsHarald Welte1-0/+4
2010-12-26sms: Make sure that this loop is broken from time to time.Holger Hans Peter Freyther1-3/+5
2010-12-26sms: Rewrite the queue to find SMS harder.Holger Hans Peter Freyther1-3/+25
With the old code it was possible that we first saw SMS that we have already in the queue. In that case we had free slots available but have not filled them. With his new loop we try harder to find SMS we can send, it attempts (and should work) to detect a loop to break the loop before finding SMS to deliver.
2010-12-26sms: Move the finding of the next SMS to handle to a new methodHolger Hans Peter Freyther1-9/+20
Prepare changing the loop to fill all the available slots. Set the last subscriber based on the SMS query.
2010-12-26sms: Change the default values for the sms_queueHolger Hans Peter Freyther2-2/+2
Increase the number of SMS we will try to send at a time and decrease the failures we handle before going to the next item. With the default timeout we will attempt to page the subscriber for 60 seconds and we can increase the queue speed by going to the next item faster.
2010-12-26sms: Workaround a bug in the db layer and update the dataHolger Hans Peter Freyther1-0/+3
The sync with the database might fail. Reread the updated subscriber after we have written it. The source of this failure is unknown.
2010-12-26sms: Always go through the database and the smsqueue to send messagesHolger Hans Peter Freyther1-8/+7
This is also fixing a memory and subscriber leak. Make sure to always release the gsm_sms structure.
2010-12-26sms: Allow setting amount of failures through the vty.Holger Hans Peter Freyther3-0/+21
2010-12-26sms: Make the amount of failures configurable as well.Holger Hans Peter Freyther1-1/+3
2010-12-26sms: Add vty command to clear the pending messageHolger Hans Peter Freyther3-0/+26
2010-12-26sms: Make the max_pending tunable via a vty runtime settingHolger Hans Peter Freyther3-0/+21
Make it possible to change the max pending via the vty. This can be useful to play with the performance of the queue.
2010-12-26sms: Add vty command to trigger running the queue.Holger Hans Peter Freyther2-1/+12
Allow to manually trigger running the queue. This can be useful if SMS were manually added to the database or such.
2010-12-26sms: Provide some simple vty command for the state of the SMS queueHolger Hans Peter Freyther3-0/+33
2010-12-26sms: Begin sending SMS messages, handle failuresHolger Hans Peter Freyther2-2/+300
The sms queue will attempt to send one SMS per subscriber to fill all the available slots. It will handle the case where paging has not started, timed out or if there was any kind of other failure. It is also retransmitting SMS in case of failures.
2010-12-26sms: Introduce a SMS queue that will be responsible for deliveryHolger Hans Peter Freyther8-34/+116
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-12-26sms: Create signal data for SMS with more informationHolger Hans Peter Freyther3-13/+36
This is providing access to the paging result, the sms, the transaction. This will allow the SMS queue to do decisions based on the source of the failure.
2010-12-26sms: Dispatch a failed signal in many of the MT-sms pointsHolger Hans Peter Freyther2-2/+11
This attempts to dispatch a signal whenever a MT-sms is failing. In some cases, e.g. with freeing the transaction, this will also happen for MO-sms.
2010-12-26sms: Use the SMS in the signals where it makes sense.Holger Hans Peter Freyther1-2/+2
The signal_data was inconsistent. Sometimes we passed the transaction and sometimes we passed the sms. Change it to always pass the sms. The S_SMS_SMMA is a bit special as it does not involve any SMS.
2010-12-26sms: Add a simple SystemTap probe to see SQL queriesHolger Hans Peter Freyther1-0/+5
This will proble all queries done in the system. This can help to identify some issues with libdbi's performance.
2010-12-26sms: Add a script to query for unsent SMSHolger Hans Peter Freyther1-0/+10
This is generating the query statement. It can be used to play with database indexes and such.
2010-12-26sms: Add dummy script to create subscribers and SMSHolger Hans Peter Freyther1-0/+66
This is creating 1000 subscribers and 30 SMS each. The SMS itself is badly formatted (not a valid 7bit encoding) but it should be enough for a stress test.
2010-12-25sms: Fix a small typo.Holger Hans Peter Freyther1-1/+1
2010-12-25db: Introduce a limit in delivery attempts for the SMS searchHolger Hans Peter Freyther3-5/+8
We do not want to attempt submitting SMS that has failed for too many times. The failure could be due RF failure or due a bug in the message handling.
2010-12-25db: Add method to load a SMS by id.Holger Hans Peter Freyther2-0/+23
2010-12-25subscr: Sync the database before sending the attached signalHolger Hans Peter Freyther1-1/+10
If a signal handler accesses the database he will still see the old lac. Make sure he is seeing the new one. Update the subscriber from the database in case the query failed or other things have changed.
2010-12-25subscr: Print the lac of the subscriber.Holger Hans Peter Freyther1-0/+2
2010-12-25paging: Introduce a GSM_PAGING_BUSY event for a special timeoutHolger Hans Peter Freyther8-2/+19
Start counting the attempts of each paging request and call the callback with the PAGING_BUSY type when the paging request timed out but the subscriber was not paged at all. This can only happen with a huge paging backlog. In case the system has so many pending paging
2010-12-24subscr: Add a VTY command to update the subscriber from the database.Holger Hans Peter Freyther5-19/+80
2010-12-24subscr: Add VTY command to purge subscribers that are held in memoryHolger Hans Peter Freyther1-0/+14
Call the subscr_purge_inactive function and mention how many subscribers were removed from the RAM.
2010-12-24subscr: Introduce VTY option to keep subscribers in ram.Holger Hans Peter Freyther1-0/+14
2010-12-24subscr: Introduce subscr_purge_inactive to free unused subscribersHolger Hans Peter Freyther2-0/+17
Introduce a method that will remove all subscribers that have a zero use count. This is useful if someone wants to purge subscribers from memory or wants to disable the everything in RAM feature.
2010-12-24subscr: Make it possible to keep subscribers in RAM.Holger Hans Peter Freyther2-1/+4
This is implemented by not freeing the subscriber when the reference count becomes smaller than zero. We hope that this will save many database accesses during the congres.
2010-12-24BSC Call Control: Actually implement call statisticsHarald Welte4-10/+21
The existing call realated statistics counters apparently were never used. This introduces a new set of counters, two for the MO and MT case.
2010-12-24BSC VTY: Print some more of the already-generated statisticsHarald Welte1-0/+7
2010-12-24SGSN / GMM: Only allow non-roaming IMSIsHarald Welte1-1/+10
As we do not yet use the HLR from the SGSN, we allow all MS to attach to our GPRS network. However, if this is running in a public environment, it could cause service interruption to users of commercial GPRS networks. Thus, we now check if the first 5 digits of the IMSI match the MCC/MNC of the cell that they want to register to. Thus, any subscribers with SIM cards from real operators will no longer be accepted.
2010-12-24BSC API: Make 'Got data in non active state' message as LOGL_INFOHarald Welte1-1/+2
LOGL_ERROR will make this message shpw up in everey default log config. However, as it seems, this is commonly observed in case a MS still sends a MS STATUS (in respons to the MM INFO) at the end of a location area update. It might be best to actually change the channel release procedure to make sure we can still pass such 'late' data to the MSC until the time the Layer2 has been completely released.
2010-12-24RSL: Make "waiting for SAPI=%d to be released" LOGL_DEBUGHarald Welte1-1/+1
2010-12-24Fix some stupid typos resulting in compile errors.Harald Welte1-2/+2