Commit Graph

6676 Commits

Author SHA1 Message Date
Harald Welte 1844d68a5d don't return a value in a void function 2009-01-01 00:32:49 +00:00
Harald Welte 5828a034ec * fix check for null-pointer in release_loc_updating_req()
* fix endianness of operator name
2008-12-31 23:59:18 +00:00
Holger Freyther c1e1192c2e Move the db_test.c to a specific test directory 2008-12-31 23:25:05 +00:00
Holger Freyther c5851c96b3 Make the test compile again 2008-12-31 23:24:37 +00:00
Holger Freyther 3b0599cb21 Introduce logical updating request operation on the gsm_lchan
We are going to have logical operations like Phone Call, SMS,
Paging, Updating Request on a logical channel and for each of
these operations we might need to store state. For now pointers
in gsm_lchan look like the best way of doing this and we start
by introducing an operation for the location updating request.

The new flow of things are:
    - We get the location updating request and update/create
      the subscriber and maybe send the identity requests to
      the mobile station
    - We start the updating timer, if it times out we will
      reject the mobile station.
    - Once we get the Identity Responses we have asked for
      and the reject timer did not fire yet we might accept
      the user.
2008-12-31 18:53:57 +00:00
Holger Freyther a157df1951 We have freed the channel there is no subscriber associated anymore
FIXME: Introduce refcounting on the subscriber record. This looks like
a genuine memory leak to me.
2008-12-31 18:52:54 +00:00
Holger Freyther 15be88550f Add an option to set the global reject cause
This will need to be moved into bsc_hack.c together with the
policy to accept/reject a UPDATING LOCATION REQUEST.
2008-12-31 18:52:11 +00:00
Holger Freyther aad390d447 Fix the compile the timer got renamed 2008-12-31 18:50:58 +00:00
Holger Freyther 240358f84d Recylce a gsm_lchan when the refcount drops to zero
When a channel is allocated, start a timeout, when a lchan_use
is used the timer will be restarted, when the timeout fires
we will try to recycle or restart the timer.
2008-12-30 19:18:21 +00:00
Holger Freyther 284fa771e4 Document where Channel release is coming from 2008-12-30 19:15:20 +00:00
Holger Freyther 16146e4771 Fix the reference. The names and values are described in 9.1 of 04.08 2008-12-30 19:13:13 +00:00
Holger Freyther f233bad976 Fix indenting... use tabs here 2008-12-30 19:10:47 +00:00
Harald Welte fb718bfe5a * 04:08: add MM INFO information elements
* gsm_data: add network name to gsm_network
2008-12-30 18:01:02 +00:00
Harald Welte 85b54b940c * add network name information to GSM network
* disable callbacks for now
2008-12-30 18:00:15 +00:00
Harald Welte dcc9598fd5 * fix IMSI parsing of last two digits
* add MM INFO packet support and send it after LOCATION ACCEPT
* send 'ALL YOUR BASE ARE BELONG TO US'
2008-12-30 17:56:55 +00:00
Holger Freyther 1280444164 Add an option to allow everyone to the network.
This should move out of gsm_04_08 and the accept, reject
policy should be controllable by the higher levels.
2008-12-30 16:18:18 +00:00
Holger Freyther 4998ecba6b [gsm0408] Add enum values for the LOCATION UPDATING REJECT cause
Convert spec to the enum
2008-12-30 16:18:16 +00:00
Holger Freyther d18f0bee02 Fix regression and send the accept message again
I removed gsm48_sendmsg(msg) when removing the send_sms from the
_acc method. This is obviously wrong. Fix the regression, spotted
while testing with LaF0rge. This regression was introduced in r120.
2008-12-30 16:18:15 +00:00
Holger Freyther c42ed2bf8c Channel opened not from a PAGING COMMAND... remove message 2008-12-30 16:18:14 +00:00
Harald Welte 2916ed48f2 use 'ALL YOUR PHONE ARE BELONG TO US' as SMS 2008-12-30 15:00:14 +00:00
Harald Welte 800b0ec121 export debug_flags 2008-12-30 14:59:01 +00:00
Harald Welte fbed21553e update the timestamp in the db 2008-12-30 14:58:44 +00:00
Harald Welte 126163326f suppress hexdumps for better console readability 2008-12-30 14:58:19 +00:00
Harald Welte 5f4ecccf56 add missing return statement 2008-12-30 14:57:59 +00:00
Daniel Willmann 858eef2953 Nothing to see here, move along; 2008-12-30 14:03:09 +00:00
Daniel Willmann 60c66e3b76 Change TPDU of welcome message 2008-12-30 13:56:46 +00:00
Holger Freyther 999b7268df Fix documentation so one is finding it in GSM04.08
UPDATE => UPDATING
2008-12-30 13:28:30 +00:00
Holger Freyther 63c197f780 Introduce new callbacks, remember that we have LOC UPD REQ, reject things only once
gsm_data.h add new callbacks, add some parameters, update bsc_hack and
other call sites.

Remember that we need to ACCEPT/REJECT the LOCATION UPDATE REQUEST and
then send the ACCEPT or schedule the sending of the reject. Currently
it is possible that for a new subscriber that we do not have a !subscbr
yet, we will trigger an IDENTITY REQUEST and schedule the reject timer.
This may lead to rejecting AND accepting (a new subscriber). This issue
is triggered when allowing everyone to connect to the network.
2008-12-29 17:44:08 +00:00
Daniel Willmann 89a69e6959 Regenerate a valid TPDU and send it at first registration 2008-12-29 16:04:14 +00:00
Daniel Willmann 3bb4a843dd Send real SMSC no 2008-12-29 16:03:54 +00:00
Holger Freyther fb21e34dc6 Up on call released release the channel and take the next item
Once a call is released, release the gsm_lchan and move to the
next item in pending_stations or wait for more work.
2008-12-29 06:42:17 +00:00
Holger Freyther a3f4b7ca0b Initiate a call once we have a channel assigned 2008-12-29 06:42:15 +00:00
Daniel Willmann 197f2c7ad1 Add RPDU length 2008-12-29 06:23:56 +00:00
Holger Freyther fac20e6e63 Unite the acked/nacked handling in a common response... 2008-12-29 06:23:52 +00:00
Holger Freyther f59e9c78b2 Inform the bsc about acked or nacked channels...
On channel allocation the bsc_hack added a cookie to the lchan on
ack and nack we will take a look and then assume it is the channel
we have allocated. This can be easily exploited by a MS sending fake
responses to paging commands. After the channel has been acked we would
have to ask for the tmsi or find the information on the channel
allocation. For now we will guess.
2008-12-29 06:23:51 +00:00
Holger Freyther dd1ef553db Add callback for allocated lchannels
Currently it is not possible to know for which tmsi the channel
is going to be allocated. The bsc_hack will guess.. in the future
it might be forced to ask for the tmsi after the channel has been
opened...
2008-12-29 06:23:49 +00:00
Holger Freyther 085de4aa60 Remove duplicate call... semantic should stay the same 2008-12-29 06:23:47 +00:00
Holger Freyther a8b6fd204b Improve page command handling in the bsc_hack
Add a callback to the gsm_network. When updating the location and
assigning a new tmsi callback into the bsc_hack.c and have a queue
of mobile stations to page, allocate a channel for and ultimately
dial.
2008-12-29 06:23:46 +00:00
Holger Freyther 3050765284 [gsm_04_08] Do not automatically initiate a call
Do not automatically dial but release the channel immediately. The
idea is that this was the paging command will be handled by the mobile
station.
2008-12-29 06:23:44 +00:00
Harald Welte 998c91614e fix big memory leak in E1 TS2 handling 2008-12-29 06:06:35 +00:00
Stefan Schmidt 643a493a11 AUTHORS: Add Jan Luebbe 2008-12-29 06:06:25 +00:00
Harald Welte 1d5c0b3ff6 add small statistics script for HLR database 2008-12-29 05:35:02 +00:00
Harald Welte 92fa873169 Add GPLv2 or later 2008-12-29 04:50:25 +00:00
Harald Welte c1fd70a2e9 add README 2008-12-29 04:50:01 +00:00
Harald Welte 4de65d8dc4 add authors file 2008-12-29 04:46:17 +00:00
Daniel Willmann 3691ae11ad Implement sending SMS and send one on network registration 2008-12-29 04:20:41 +00:00
Harald Welte c4849be5b0 Documentation update and where we found the information 2008-12-29 04:11:14 +00:00
Harald Welte 20329efaba Print channel requests coming from paging command, print the reason in every message 2008-12-29 04:09:31 +00:00
Harald Welte 119ae45e11 Create request channel reason to see channel requests originating from PAG 2008-12-29 04:08:28 +00:00
Harald Welte ab12e4c8e8 debug: Create a region for Paging Command 2008-12-29 04:06:41 +00:00