Commit Graph

6696 Commits

Author SHA1 Message Date
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
Daniel Willmann 31b3d1146f Print out info about CP-ERROR 2008-12-29 03:53:50 +00:00
Daniel Willmann a371dcc5a6 RP-ACK needs to be sent in a CP-DATA 2008-12-29 03:45:50 +00:00
Daniel Willmann 9fa8cbe57d Send transaction index when sending an CP-ACK 2008-12-29 03:24:29 +00:00
Harald Welte 23357c86c6 Split out rach_control, missing mask from the last commit 2008-12-29 02:37:23 +00:00
Harald Welte acc1018751 disable paging, send SETUP after LOCATION UPDATE ACCEPT 2008-12-29 01:55:35 +00:00
Daniel Willmann 4bac3ad596 ACK sms-submit 2008-12-29 01:54:02 +00:00
Daniel Willmann c7ebf54ae1 Parse sms-submit messages 2008-12-29 00:44:41 +00:00
Harald Welte f0d88c0f1b turn gsm_cc_tx_simple into gsm_tx_simple 2008-12-29 00:39:37 +00:00
Harald Welte fed79b43f8 * use 16bit for network and country code
* use aligned attribute for more data structures
* add command line arguments for operator/country code
2008-12-28 23:42:04 +00:00
Holger Freyther cdc499ff50 make it optional where the hlr database is stored
Add --database to define where the database is stored. The default
was changed to not store the file in /tmp anymore.
2008-12-28 22:51:39 +00:00
Holger Freyther ec5b1d8681 Add stubs to test gsm0408 functionality including LAI 2008-12-28 21:55:40 +00:00
Daniel Willmann 2e497db12f Add second test SMS 2008-12-28 21:38:26 +00:00
Daniel Willmann 28af5f80f9 Add coloring for SMS debug messages 2008-12-28 21:38:25 +00:00
Holger Freyther 6f21e7f5fe Add the new options to the getopt_long call as well
This should allow to set the MCC and MNC now
2008-12-28 16:57:19 +00:00
Harald Welte ad85a36bdf Fix compile, on rebase the static_assert change got lost...
at the beginning we had  l2 pseudo length in type5 and type6
messages as well but that got removed.
2008-12-28 16:36:11 +00:00
Holger Freyther f0bdea1377 [bsc_hack] Patch the tables before we setup the rsl
Currently we just patch the MCC, MNC and LAC. Allow to change
the siX packages by removing the const.
2008-12-28 16:32:45 +00:00
Holger Freyther 127f9c1aee [gsm0408] Make the generate_lai usable by other code
Prefix generate_lai with gsm0408 and update call sites. It will
be used from within bsc_hack.c
2008-12-28 16:32:44 +00:00
Holger Freyther 08c125b8b5 [bsc_hack] Start to understand the SI packages we send
Add comments in front of the bytes to define where they
are coming from.
2008-12-28 16:32:42 +00:00
Holger Freyther 45b047c0de [bsc_hack] Make sure that the newly defined structs match the current packets
For System Information Type 5 and System Information Type 6 the L2 pseudo
length is not transmitted. This is why we substract the struct size with -1.
2008-12-28 16:32:41 +00:00
Holger Freyther e6fdb22d2e [debug.h] Introduce a static assert using the array with negative size trick
It is inspired by the COMPILE_ASSERT from WebKit and is using the well
known trick to get compile time assertions.
2008-12-28 16:32:41 +00:00
Holger Freyther e204ece517 [gsm_04_08] Add structs for system information type 1 to 6
system information type 4 is a bit tricky as it has
a variable length and is terminated by a manadantory field.

System Information Type 6 has a mandantory SI 6 Reset Octet
but our BTS is happy with not receiving it. Make it optional
by the adding a 'pointer'.

System Information Type 5 and System Information Type 6 are
send through rsl_sacch_filling and it looks like we do not
need to send the L2 pseudo length. So far we have not found
the documentation confirming this. This is why the header
from Type 1 to Type 4 is not used.
2008-12-28 16:32:39 +00:00
Holger Freyther ff24fec5bb bsc_hack: Add command line parameter to set the MCC and MNC
The patching of the system information type1-type4 messages
are still to be done.
2008-12-28 14:14:56 +00:00
Jan Luebbe c0adbd420e fix typo in debug message 2008-12-28 12:37:15 +00:00
Harald Welte b1d452fb93 working state up to location update and classmark inquiry 2008-12-28 02:26:27 +00:00
Daniel Willmann b2208696cc Add SMS (GSM 04.11) testing program 2008-12-28 01:51:14 +00:00
Daniel Willmann 30cd3ecd42 Start implementing GSM 04.11 (short message service) 2008-12-28 00:31:09 +00:00
Daniel Willmann f7f22ac9dc sms.txt: Analyze CP-DATA, RP-DATA, TPDU 2008-12-27 23:37:16 +00:00
Stefan Schmidt 334ea0fd81 Draft ideas for high level call handling 2008-12-27 22:59:48 +00:00
Jan Luebbe b80e0a142e add extension field to subscriber struct and name column to db 2008-12-27 22:33:34 +00:00
Harald Welte d7351dc232 fix TMSI length in Mobile Identity IE of LOCATION UPDATE ACCEPT 2008-12-27 22:13:43 +00:00