Commit Graph

25 Commits

Author SHA1 Message Date
Harald Welte (local) aa9dc19ca7 remove FIRST_CONTACT signal, the subscriber flag is sufficient 2009-08-13 13:49:51 +02:00
Jan Luebbe 336f8ec57a allocate a token for new subscribers 2009-08-13 10:15:09 +02:00
Daniel Willmann 6b1e822611 Fix gsm_7bit_{en,de}code function and sms user_data calculations
With the 7bit alphabet the user_data_len field needs to be in
septets (characters) and not in octets occupied.
2009-08-12 23:49:48 +02:00
Holger Hans Peter Freyther 09e364b167 misc: Fix warnings about returning with value...
return rc in these cases.
2009-08-10 08:26:12 +02:00
Holger Hans Peter Freyther 34e97495a6 misc: Add prototypes to header files, include more header files
Fix various warnings about implicit declarations of functions.
2009-08-10 07:54:02 +02:00
Harald Welte 4198561305 add SMS CP timer TC1* to tear down lchan in case MS never responds to CP-DATA 2009-08-10 00:24:32 +02:00
Harald Welte 0d544e7db5 fix off-by-one error in calculating RPDU length for CP-USER-DATA IE 2009-08-10 00:22:19 +02:00
Harald Welte cf6a3819aa SMS improvements
* 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-09 19:07:41 +02:00
Harald Welte cb8f443399 implement proper SAPI3 handling for SMS
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-09 14:59:02 +02:00
Harald Welte 76042188e0 first 'working' SMS implementation
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-08-08 16:03:15 +02:00
Harald Welte 3366a94d6c Merge branch 'master' into sms
Conflicts:
	openbsc/include/openbsc/transaction.h
	openbsc/src/gsm_04_11.c
	openbsc/src/transaction.c
2009-07-28 00:44:49 +02:00
Harald Welte 7bfc267496 move allocation of talloc contexts into link-time constructor
This is much more optimal than checking if the context exists every
time we allocate the respective object.
2009-07-28 00:41:45 +02:00
Harald Welte f3efc597d1 further steps towards better, transaction based SMS 2009-07-27 20:11:35 +02:00
Harald Welte 88f0425197 Merge branch 'master' into sms 2009-07-23 21:24:28 +02:00
Harald Welte 761e944182 make sure subscr->net is always set
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-23 19:21:02 +02:00
Harald Welte 9176bd46e3 make sure subscr->net is always set
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-23 18:46:00 +02:00
Harald Welte 3e0f6173f1 some more comments 2009-07-09 23:52:59 +02:00
Harald Welte b9c758b2ac more SMS improvements
* 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-05 14:02:46 +02:00
Harald Welte 87f5d637c5 more layering /abstraction of sms protocol 2009-07-04 17:39:00 +02:00
Harald Welte 966636f39f use named variant when allocating msgb's
when we generate a talloc report (SIGUSR1), we can now see which system
allocated a given msgb, this helps memory leak debugging
2009-06-26 19:39:35 +02:00
Harald Welte 2cf161be08 introduce talloc all over OpenBSC 2009-06-20 22:36:41 +02:00
Harald Welte 3cfdb22214 SMS: fix parsing of destination phone number 2009-06-12 02:42:11 +08:00
Harald Welte a718780253 SMS: fix parsing of destination address BCD
this bug was introduced in Andreas' MNCC patches while altering
decode_bcd_number().
2009-06-12 01:53:29 +08:00
Harald Welte 0c3893078e introduce encoding/decoding functions for 04.08 CC
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-10 12:08:54 +08:00
Harald Welte 13e10daa33 move openbsc into its own subdirectory 2009-06-10 05:40:52 +08:00