aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gsm_04_11.c
AgeCommit message (Collapse)AuthorFilesLines
2011-03-03re-structure the OpenBSC directory layoutHarald Welte1-1240/+0
The new structure divides the code into a number of libraries for the BSC core functionality, MSC core functionality, Abis transport, TRAU and other bits. This doesn't introduce any functional code change but simply moves around files and alters Makefile.am accordingly. Next step would be to disentangle a lot of the inter-library dependencies and make the individual bits of code more independent.
2011-01-10sms: Allow to specify the DCS for the SMS.Holger Hans Peter Freyther1-2/+2
2011-01-10sms: Move the sms_from_text to gsm_04_11Holger Hans Peter Freyther1-0/+25
Move the SMS from text code from the VTY interface into the gsm_04_11.c code next to the sms_alloc and sms_free.
2011-01-06sms: Improve the logging of the paging callback.Holger Hans Peter Freyther1-1/+3
2011-01-06sms: Fix crash by saving the gsm_networkHolger Hans Peter Freyther1-1/+4
The conn might be released during the loop and then conn->bts is a null pointer and we end up crashing. Store the gsm_network in a local variable and access this one.
2011-01-06subscr: Make the subscr_put_channel work with the subscrHolger Hans Peter Freyther1-2/+5
The active channel might or might not be gone when the transaction has been released. Instead of passing an invalid subscriber conn we will pass the subscr that is ref-counted and guranteed to be valid at this point. subscr_put_channel could search the connections for an active connection if that is ever needed.
2011-01-01License change: We are now AGPLv3+ instead of GPLv2+Harald Welte1-6/+5
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-26sms: Introduce a SMS queue that will be responsible for deliveryHolger Hans Peter Freyther1-32/+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-12-26sms: Create signal data for SMS with more informationHolger Hans Peter Freyther1-12/+25
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 Freyther1-2/+10
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-25sms: Fix a small typo.Holger Hans Peter Freyther1-1/+1
2010-12-25paging: Introduce a GSM_PAGING_BUSY event for a special timeoutHolger Hans Peter Freyther1-0/+1
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-11-15bsc_api: Change submit dtap to allow to automatically use the SACHHolger Hans Peter Freyther1-1/+1
For SAPI=3 on a TCH it might be nice to use the SACH to submit the message. The api allows to automatically use the SACH if a message like this is submitted.
2010-10-06misc: Once again go from "On Waves" to "On-Waves"..Holger Hans Peter Freyther1-1/+1
Try to get the company name of our sponsor right...
2010-09-17gsm 04.11: increase the delivery attempt counter for an SMS right away in ↵Nico Golde1-1/+1
gsm411_send_sms Signed-off-by: Holger Hans Peter Freyther <zecke@selfish.org>
2010-09-16gsm_04_11: count SMS delivery attempts for each CP-DATANico Golde1-0/+2
Signed-off-by: Holger Hans Peter Freyther <zecke@selfish.org>
2010-06-28bsc_msc: Remove use_count from the subscriber connectionHolger Hans Peter Freyther1-5/+0
A channel will be released in case of * Errors via the clear_request callback... * no more transactions and operations are going on. This means that if we do something without a transaction the channel might be closed down right away. The bug fix will be to create a transaction/operation.
2010-06-21[SMS] avoid mktime on NULLNico Golde1-1/+1
gmtime(NULL) returns NULL at least in glibc and *can not* be used as time(NULL). Since we compare two time_t values when checking the validity period this can be replaced by time(NULL)
2010-06-17AW: Problem compiling OpenBSC on Kubuntu HardyAndreas.Eversberg1-5/+5
2010-06-17bsc_api: Move gsm48_rcvmsg into the BSC API and dispatch.Holger Hans Peter Freyther1-2/+2
The next step in the way to the BSC API. We have a clear a new connection was opened signal now... and the MSC could use it...
2010-06-17bsc_api: Make paging/silent call work with the subscriber_connectionHolger Hans Peter Freyther1-5/+5
Do not use the lchan for the paging but operate on the subscriber_connection, change the signals too to not carry the lchan but the subscriber connection... the silent call and vty code still assume there is a lchan inside the subscriber connection.
2010-06-16bsc_api: Pass the subscriber connection to the SMS...Holger Hans Peter Freyther1-7/+7
2010-06-16bsc_api: Remove the _lchan and make the method static..Holger Hans Peter Freyther1-6/+8
2010-06-16bsc_api: Remove some more occurences of the lchan.Holger Hans Peter Freyther1-5/+1
2010-06-16bsc_api: Operate on the subscriber connection for subscriber managementHolger Hans Peter Freyther1-2/+2
2010-06-16bsc_api: Rename lchan_for_subscr to connection_for_subscr and update codeHolger Hans Peter Freyther1-10/+10
With handover and late/early assignment there might be two channels for one subscriber and only the BSC knows which one to use, so use the gsm_subscriber_connection everywhere...
2010-06-16gsm_04_11: Fix a crash... in case there is a already a connectionHolger Hans Peter Freyther1-1/+1
If there is a connection, return before paging... otherwise we will delete the SMS twice.
2010-06-15gsm_04_11: Place subscr_put_channel whenever being done with SMS.Holger Hans Peter Freyther1-1/+24
2010-06-15gsm_04_11: Speculative leak fix for the SMS...Holger Hans Peter Freyther1-2/+6
2010-06-15bsc_api: Do not use RLL inside the SMS code, handle SAPI n REJECTHolger Hans Peter Freyther1-38/+23
Directly send a SMS using the send method, in case of an error we will need to find the transaction and free the SMS and the transaction.
2010-06-14gsm_04_11: Attempt to fix some possible memory leaks in the SMS codeHolger Hans Peter Freyther1-1/+7
Sometimes we need to free the SMS, sometimes also the transaction.
2010-06-14gsm_04_11: Remove some old code.Holger Hans Peter Freyther1-25/+1
2010-06-10gsm_04_11: Start using the GSM Subscriber class to ask for a channelHolger Hans Peter Freyther1-5/+1
The paging message should not be called directly and the GSM Subscriber can handle multiple requests at the same time... Now a subscr_put_channel should be called after the message sending. But it is not very clear when this can be called. The current code works by luck that the SAPI=0 will be released... The MT-SMS was tested via the VTY interface and a N900.
2010-06-10gsm_04_11: Handle OOM same as expired and clean the message.Holger Hans Peter Freyther1-3/+1
2010-06-10gsm_04_11: Fix a typo..Holger Hans Peter Freyther1-1/+1
2010-06-09[SMS] Properly reject processing of compressed SMSHarald Welte1-1/+5
As we don't support compressed SMS, we have to properly reject it. In the existing code, we segfaulted at some later point since the error handling was incomplete. This was triggered by some obscure STK SIM card that insisted on sending a compressed SMS after registering to the OpenBSC network.
2010-06-08gsm_04_11: Remove direct RSL calls from the SMS code...Holger Hans Peter Freyther1-9/+0
Do not use RSL to release the SAPI/Channel from within the code, the normal channel release procedure will take care of releasing the SAPIs and there should be no issue in keeping the SAPI=3 established until the end of the session.
2010-05-23gsm_04_11: Include bsc_api.h for the dtap signature.Holger Hans Peter Freyther1-0/+1
2010-04-30gsm_04_11.c: Use msgb->l4h instead of sms->smsh, as the latter is goneHarald Welte1-1/+1
2010-03-29[misc] Remove whitespace from the end of the line.Holger Hans Peter Freyther1-6/+6
2010-03-25sms: Remove some more occurences of the GSM lchanHolger Hans Peter Freyther1-4/+2
2010-03-25Store the GSM BTS in the gsm subscriber connectionHolger Hans Peter Freyther1-7/+6
Remove further usage of lchan from the gsm 04.11 bits
2010-03-25bsc: Start creating 08.08 like APIHolger Hans Peter Freyther1-12/+4
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-03-25sms: First run of removing lchan usage from MSC code paths.Holger Hans Peter Freyther1-11/+19
2010-03-25lchan: Change transaction to work on the GSM Subscriber ConnectionHolger Hans Peter Freyther1-6/+6
Change the MSC transaction code to operate on a GSM Subscriber Connection instead of the lchan. This will help us to separate the two commands properly.
2010-03-25lchan: Create a structure for MSC data of the lchanHolger Hans Peter Freyther1-12/+12
Prepare to split the BSC and the MSC part by putting the MSC data for a connection into a "gsm_subscriber_connection" struct and renaming the macros.
2010-03-07move large parts of mncc.h and gsm48 encode/decode into libosmocoreHarald Welte1-2/+2
2010-02-20split 'libosmocore' from openbsc codebaseHarald Welte1-4/+4
This library is intended to collect all generic/common funcitionality of all Osmocom.org projects, including OpenBSC but also OsmocomBB The library currently includes the following modules: bitvec, comp128, gsm_utils, msgb, select, signal, statistics, talloc, timer, tlv_parse, linuxlist msgb allocation error debugging had to be temporarily disabled as it depends on 'debug.c' functionality which at the moment remains in OpenBSC
2009-12-27gsm_04_11: Support for implicit CP-ACK in case of multi-SMSSylvain Munaut1-0/+27
See GSM 04.11 Chapter 5.4 for details. The idea is that when multi-SMS are mobile originated, it's possible the CP-ACK of the previous transaction to be lost and the reception of a new CP-DATA for a new transaction should close previous transaction "as-if" we had received the CP-ACK ... Note that testing is hard since it's an exceptional condition that's hard to create. I tested by temporarly disabling CP-ACK processing and checked it worked as expected. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>