aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gsm_04_11.c
AgeCommit message (Collapse)AuthorFilesLines
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>
2009-12-24gsm_04_11: Release SMS transaction only after starting next one.Sylvain Munaut1-4/+6
This ensures that we don't re-use the same transaction ID. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-24gsm_04_11: In gsm411_send_sms_lchan fix transaction id error handlingSylvain Munaut1-1/+1
We need transaction_id to be a int (as returned by trans_assign_trans_id) to detect the error condition -1. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-24introduce multiple log levels (DEBUG/INFO/NOTICE/ERROR) to SMS codeHarald Welte1-31/+40
2009-12-22statistics: Introduce 'struct counter' instead of using unsigned longHarald Welte1-5/+6
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-22keep some internal statistics inside OpenBSCHarald Welte1-1/+8
the statistics will give us some idea about the network load and performance.
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-19Use 'new' rather than 'unknown' when starting transactionSylvain Munaut1-1/+1
'unknown' has a negative connotation for a case that's totally normal so refer to it as 'new' so it doesn't sound like a problem. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-19Fix transaction_id displayed in debug messageSylvain Munaut1-1/+1
In SMS debug messages, we always display the transaction ID as if we were 'sending' the message. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-19Fix typos in debug message / commentsSylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-05[sms] trivial: Removed unneeded double check in unbcdifySteffen Neubauer1-2/+1
2009-11-26[SMS] Implement TP-VPF-ENHANCEDSteffen Neubauer1-93/+156
While doing so, we also restructure/reorganize the vailidity period parsing in general.
2009-11-12move 'struct value_string' and 'get_value_string()' to gsm_dataHarald Welte1-18/+0
2009-11-11[SMS] implement GSM340_TP_VPF_ABSOLUTESteffen Neubauer1-3/+50
- Added function "gsm340_scts" to decode the service center time stamp into a UTC/GMT timestamp - in function gsm340_validity_period: can now decode validity period format absolute.
2009-10-22Fix warnings by removing unused variablesHolger Hans Peter Freyther1-3/+1
2009-09-27[gsm_04_11] Free transaction on RX_RP_ACK for SMSSylvain Munaut1-1/+2
When only one SMS is sent, the freeing of the lchan will automatically free all transactions on the lchan. However, if there are several SMS sent at once, the call to gsm411_send_sms_lchan will create a new transaction with the same caracteristics as the previous one. If the old one is not free'd, the next call to trans_find_by_id (triggered by the next incoming RP-ACK) will not return the good transaction and things go haywire. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-08-17actual code running at end of har2009Harald Welte (local)1-0/+8