aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gsm_04_11.c
AgeCommit message (Collapse)AuthorFilesLines
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
2009-08-15paging_request() now returns the number of started paging requestsHarald Welte (local)1-1/+1
this helps the caller to determine if he will ever get called back or not (and if he should free his data structures now or not)
2009-08-15Merge commit 'har/master'Harald Welte1-6/+13
2009-08-15Fix decoding of SMS Data Coding SchemeDaniel Willmann1-1/+1
2009-08-15provide return code from paging_request() functionHarald Welte1-2/+5
this enables the caller to detect if the paging request was rejected by the paging layer, especially in case it is already paging this very subscriber. In the case of SMS / 04.11, we used to have a memory leak of struct gsm_sms's, since we would only free them from the paging succeeded/expired callbacks.
2009-08-15Handle SMS with UCS2 and binary userdataDaniel Willmann1-2/+11
2009-08-15move talloc context creation out of on_dso / constructorsHarald Welte (local)1-3/+1
the various constructors get called in a non-obvious, linker determined order, which makes certain objects disappear from the talloc report. This change moves the talloc context creation into a new talloc_ctx.c file
2009-08-14fix sms layer timer leak/corruiption using trans_free()Harald Welte (local)1-2/+7
we only stopped the cp1* timer on reception of cp-ack, but not in error cases like rx of cp-error.
2009-08-14respect the link_id, not only the SAPI from SMS codeHarald Welte (local)1-6/+13
SMS related messages are all sent over SAPI=3. But in addition to that, we also need to send it over the correct link identifier, i.e. SACCH or main signalling channel
2009-08-14add more debugging to SMS layerHarald Welte (local)1-10/+85
2009-08-13Merge branch 'master' of git@192.168.100.10:openbscStefan Schmidt1-2/+15
2009-08-13gsm_04_11: Month in unix time starts with 0.Stefan Schmidt1-1/+1
2009-08-13Beautify septet->octet calculation (do not use ceil)Daniel Willmann1-2/+6
2009-08-13Support sms with a validity period format of noneDaniel Willmann1-0/+7
2009-08-13remove FIRST_CONTACT signal, the subscriber flag is sufficientHarald Welte (local)1-12/+0
2009-08-13allocate a token for new subscribersJan Luebbe1-0/+14
2009-08-12Fix gsm_7bit_{en,de}code function and sms user_data calculationsDaniel Willmann1-2/+7
With the 7bit alphabet the user_data_len field needs to be in septets (characters) and not in octets occupied.
2009-08-10misc: Fix warnings about returning with value...Holger Hans Peter Freyther1-0/+2
return rc in these cases.
2009-08-10misc: Add prototypes to header files, include more header filesHolger Hans Peter Freyther1-0/+1
Fix various warnings about implicit declarations of functions.
2009-08-10add SMS CP timer TC1* to tear down lchan in case MS never responds to CP-DATAHarald Welte1-0/+17
2009-08-10fix off-by-one error in calculating RPDU length for CP-USER-DATA IEHarald Welte1-1/+2
2009-08-09SMS improvementsHarald Welte1-10/+75
* send more pending messages after RP-ACK of DELIVER has been received * send pending messages after RP-SMMA has been received * clear the transaction when sending CP-ACK in MT/DELIVER case * always use the same transaction ID (since my assumptions about SMS transactions were wrong) * try to deliver messages through existing lchan rather than starting paging * send pending SM's after LOCATION UPDATE ACCEPT has been sent
2009-08-09implement proper SAPI3 handling for SMSHarald Welte1-22/+63
SM's need to be transferred over their own RLL connection on SAPI3, rather than the default SAPI0 connection that we're using for signalling like 04.08 RR/MM/CC. This is not that much of a problem in the case of SMS SUBMIT from the MS to the netwrok. In that case, the MS will start its primary RLL connection with SAPI3, and we can just respond with SAPI3. However, in the case of SMS DELIVER to a MS, we first page the MS, it then establishes SAPI0. We then need to explicitly request the establishment of a SAPI3 RLL connection, before we can send CP-DATA with our RP-DATA and DELIVER RPDU Now that we have the bsc_rll.c code, we can actually wait for a paging response, and from the paging response request the establishment of the SAPI3 connection. We will be called back once that connection is open and can successively start transmission of the SM.
2009-08-08first 'working' SMS implementationHarald Welte1-137/+215
we now have the full path from the MS into the database (SUBMIT), as well as back from the database to the MS (DELIVER). The database gets correctly updated once a SMS has been successfully delivered. What's still missing is the periodic scan over all undelivered messages, trying to deliver them to the respective MS. So far, you have to manually trigger this on the telnet interface with 'sms send pending 1'
2009-07-28Merge branch 'master' into smsHarald Welte1-8/+6
Conflicts: openbsc/include/openbsc/transaction.h openbsc/src/gsm_04_11.c openbsc/src/transaction.c
2009-07-28move allocation of talloc contexts into link-time constructorHarald Welte1-8/+6
This is much more optimal than checking if the context exists every time we allocate the respective object.
2009-07-27further steps towards better, transaction based SMSHarald Welte1-48/+260
2009-07-23Merge branch 'master' into smsHarald Welte1-0/+5
2009-07-23make sure subscr->net is always setHarald Welte1-1/+2
since a subscriber is an element of the gsm_network, we have to ensure subscr->net is always set correctly. We do this by using gsm_network as an argument to all functions that resolve or create a subscriber.
2009-07-23make sure subscr->net is always setHarald Welte1-1/+2
since a subscriber is an element of the gsm_network, we have to ensure subscr->net is always set correctly. We do this by using gsm_network as an argument to all functions that resolve or create a subscriber.
2009-07-09some more commentsHarald Welte1-0/+6
2009-07-05more SMS improvementsHarald Welte1-23/+58
* describe data structures in gsm_04_11.h * increae LCHAN RELEASE TIMEOUT for case of long SMS * convert header field in sql table from NUMERIC to BLOB * initial handling for validity period * send RP ERROR messages with meaningful RP CAUSE in case of error
2009-07-04more layering /abstraction of sms protocolHarald Welte1-40/+41
2009-06-26use named variant when allocating msgb'sHarald Welte1-1/+2
when we generate a talloc report (SIGUSR1), we can now see which system allocated a given msgb, this helps memory leak debugging
2009-06-20introduce talloc all over OpenBSCHarald Welte1-7/+19
2009-06-12SMS: fix parsing of destination phone numberHarald Welte1-2/+3
2009-06-12SMS: fix parsing of destination address BCDHarald Welte1-1/+1
this bug was introduced in Andreas' MNCC patches while altering decode_bcd_number().
2009-06-10introduce encoding/decoding functions for 04.08 CCHarald Welte1-1/+1
this patch implements the encoding/decoding of 04.08 call control information elements. It adds new functions to be used for the application interface patch, and is basis for the application patch (currently patch 36). Please ignore warnings about unused static functions for now. (Andreas Eversberg)
2009-06-10move openbsc into its own subdirectoryHarald Welte1-0/+500