Commit Graph

489 Commits

Author SHA1 Message Date
Holger Hans Peter Freyther 2657abfe35 [db] Fix compile warnings in db.c
For the compiler classmark1 is a struct and the compiler is
unaware that it fits into an unsigned int. Use memcpy to
copy it to a u_int8_t (the compiler should inline this).

dbi_conn_quote_binary_copy works on unsigned char* change
q_apdu to be unsigned char.
2009-10-22 15:34:37 +02:00
Harald Welte e73501a4f6 [ipaccess] revert commit 9bd7bc1b4c
Commit 9bd7bc1b4c caused the RSL
initialization to happen too early, resulting in the BTS
bootstrapping but missing [some of?] the system information
types.
2009-10-21 21:16:00 +02:00
Harald Welte 17ddc50338 Merge remote branch 'origin/master' 2009-10-21 20:24:09 +02:00
Holger Hans Peter Freyther 02c28a0fa8 [debug] Use gcc attribute to enable printf checking
Inform the compiler that the same rules as printf apply
to the debugp method. This will check if the arguments
match the format string.
2009-10-21 16:38:19 +02:00
Holger Hans Peter Freyther 1565bd3226 [timer] Initialize i with zero
In case no timers were registered the result was not defined.
2009-10-21 16:38:19 +02:00
Holger Hans Peter Freyther cbbd49807f [msgb] Add msgb_reset to reset an existing msgb* to the initial state
The reset is useful if one msgb is supposed to be used over and
over again and is avoiding to use msgb_free,msgb_alloc in the
application code.
2009-10-21 16:38:13 +02:00
Harald Welte d99fb99647 [ipaccess] fix ipaccess-config (we now use TEI as stream ID) 2009-10-20 21:54:06 +02:00
Harald Welte 8406ec2437 [nanoBTS] move nanoBTS initialization completely into state event handler 2009-10-20 17:31:00 +02:00
Harald Welte a8bd6d4a34 [abis_nm] introduce debugp_foh() function for object class printing 2009-10-20 09:56:18 +02:00
Harald Welte 77a838dff7 ip.access: use correct stream identifier when connecting RSL 2009-10-20 00:51:01 +02:00
Harald Welte 9bd7bc1b4c input/ipaccess: remove one more static variable 2009-10-20 00:50:03 +02:00
Harald Welte 8175e95222 ip.access: Support multi-TRX / RSL stream ID
In order to support multi-TRX configurations, we need to be able
to cope with multiple RSL streams (each with their own stream identifier)
inside one ip.access TCP connection.

Since this is very similar to using the TEI on a E1 line, we simply
recycle the logic and data fields that are used for the TEI.
2009-10-20 00:22:00 +02:00
Harald Welte 31a74906a3 [abis_nm] print ip.access TCP port in correct byte order 2009-10-19 22:50:30 +02:00
Harald Welte 35d447b022 [abis_nm] print ip.access stream_id in RSL connect ack 2009-10-19 22:49:33 +02:00
Harald Welte 746d6091d9 [abis_nm] introduce and use abis_nm_ipaccess_rsl_connect() 2009-10-19 22:11:11 +02:00
Harald Welte d004a6462a ip.access / multi-TRX: correctly identify TRX number on SW ACT REP 2009-10-19 21:47:54 +02:00
Harald Welte af7b2faf71 ip.access maximum output power depends on GSM band 2009-10-19 21:47:31 +02:00
Harald Welte a62202be31 [abis_nm]: Print Object Class of ip.access messages 2009-10-19 21:46:54 +02:00
Harald Welte 53f4b10b21 add ipaccess specific attribute set message
Partially apply 9ba65525eaa06a1768aaf35bdee98afcf8026e0a to get
rid of a compile problem. The other part of the mentioned commit
is still in the gprs branch.

Signed-off-by: Holger Hans Peter Freyther <zecke@selfish.org>
2009-10-09 05:26:46 +02:00
Harald Welte 4d0481dbe9 [bsc_init] use new NM_AVSTATE_* enum instead of hard-coded numbers 2009-10-08 20:53:42 +02:00
Harald Welte 2d820ccf67 add availability state abis_nm enum 2009-10-08 20:52:35 +02:00
Harald Welte 4bd0a98a77 [abis_nm] print object class/instance for NACK 2009-10-08 20:49:51 +02:00
Harald Welte 15c44179c3 [abis_nm]: print ip.access SET ATTR [N]ACK 2009-10-08 20:49:44 +02:00
Andreas Eversberg 38ae5cb2c2 use tx delay timer instead of usleep() in ip.access input driver
this fixes the delay of audio caused by stalling of the openbsc process.
the use of 'usleep(100000)' for slowing down transmission to nanoBTS is
replaced by the tx-delay timer. i did this on bs11 code, so i did it the
same way. it actually queues frames for transmission not nanoBTS. on
transmission a timer is started and when this timer expires, the next
frame in the queue is transmitted (timer restarted) until the queue is
empty.
2009-10-08 12:53:16 +02:00
Holger Hans Peter Freyther ca6bc1d10f [gsm0408] Add parameter to gsm48_send_rr_ciph_mode for controling the response
This parameter controls if the response should include the
IMEISV or not. This will be set by the MSC and this is why
this parameter was added.
2009-10-06 04:34:25 +02:00
Holger Hans Peter Freyther ea4088a7ea [gsm0408] Move encryption message creation to gsm_04_08_utils.c
Be able to use the cipher mode command message from the MSC code.
2009-10-06 04:34:25 +02:00
Mike Haben e2d8227499 [ipaccess] Add nanoBTS 1900 support
Add support for 1900 nanoBTS by using unified bts_type
GSM_BTS_TYPE_NANOBTS for 900, 1800 and 1900 versions.

Reduce the nanoBTS enum values to one and derive the
version from the user supplied band. In the future we
might want to do auto band detection.

The configuration file needs to be changed to refer
to nanobts instead of nanobts900/nanobts1800.

Signed-off-by: Mike Haben <michael.haben@btinternet.com>
Signed-off-by: Holger Hans Peter Freyther <zecke@selfish.org>
2009-10-05 12:12:54 +02:00
Mike Haben a03f97775b [ipaccess] Parse Software Activate parameters
Addresses a FIXME in abis_nm.c, parsing the parameters
passed by a Software Activate request.  I've tested this
on three different IpAccess BTSs (including one which
didn't work with the original code), would be good if
someone could check it on a BS11.

Signed-off-by: Mike Haben <michael.haben@btinternet.com>
Tested-by: Holger Hans Peter Freyther <zecke@selfish.org>
2009-10-01 14:58:30 +02:00
Holger Hans Peter Freyther e48b9562a4 [lac] Do not use the reserved LAC 0x0 for two different things
We are using LAC=0 for remembering that a GSM subscriber is
detached. I recently added code to gsm_bts_by_lac that will
return every BTS in case the lac is 0. Harald highlightes
that we would now search for detached subscribers at every
BTS of our network which is clearly not what we want.

Introduce two defines for the two reserved LAC, add a
pointer to the specification, check that our config files
do not contain these reserved values, use the define
and change gsm_bts_by_lac to use the other define.
2009-10-01 04:07:15 +02:00
Sylvain Munaut 86538c7fab input/ipaccess: Fix segv caused by use of uninitialized var
This is a regression coming from the recent split of the
handle_ts1_read method in two.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Holger Hans Peter Freyther <zecke@selfish.org>
2009-10-01 03:53:31 +02:00
Holger Hans Peter Freyther f734a14485 [ipaccess] Add SCCP/A descriminator 2009-09-30 06:27:21 +02:00
Holger Hans Peter Freyther d5f052230c [ipaccess] Prepare to reuse parts of the code for the A-link
For the MSC<->BSC connection we are going to use the same header
as used from BTS<->BSC but we are not having an E1-Link, a gsm network
or a gsm_bts available and can not use this part of the code.
2009-09-30 06:27:16 +02:00
Holger Hans Peter Freyther 0b7f4b36be [lac] The lac must be 16 bit. Change it in gsm_bts and vty parsing
The LAC can be 16bit of size. the generation of the LAI, struct
gsm_subsriber and the BSC<->MSC was already using it as a
16bit (short) value.

Change struct gsm_bts to parse 16bit and change the vty configuration
parsing code to deal with a short too.
2009-09-30 05:49:26 +02:00
Holger Hans Peter Freyther 927f056f34 [paging] Use paging_request_stop to stop all paging requests
This loop looks a lot like the one inside the paging code. Call
it instead and change the code in paging_request_stop to cope
with a NULL _bts.
2009-09-28 12:50:49 +02:00
Holger Hans Peter Freyther 45f9b3d3fc [paging] Use one of the two reserved LAC to page every BTS
For the on-waves.com MSC case we want to page every BTS reached
of the network. Our gsm_subscriber entry does not have a LAC
entry set and defaults to zero. Use the reserved 0x0000 to
indicate that we want to use every bts in the network.

This will influence the paging code to start and stop paging.
2009-09-28 12:50:49 +02:00
Holger Hans Peter Freyther 3ee5d3e8af [gsm0408] Move paging handling to gsm_04_08_utils.c
Add one method to extract the MI which will allow to load
the gsm_subscriber depending on the MSC/BSC setup and then
use gsm48_handle_paging_resp to finish the paging response
handling.
2009-09-28 12:50:49 +02:00
Holger Hans Peter Freyther adc1478a47 [gsm0408] Move send_siemens_mrpci to gsm_04_08_utils.c 2009-09-28 12:50:49 +02:00
Holger Hans Peter Freyther 9f16a869a5 [subscr] subscr_paging_cb is called for expire and success
Gracefully handle a case where success and expire could fire... I'm
only hitting this when doing something evil to simulate network code
but it seems appropriate to handle this gracefully.
2009-09-28 12:50:45 +02:00
Holger Hans Peter Freyther 049935b9cc [subscr] When paging fails to start, send an expired event 2009-09-28 06:04:40 +02:00
Holger Hans Peter Freyther c4a49e3e2d [bsc] Store the cell_identity in gsm_bts and set it on the SI3 and SI6
Transfering the cell_identity from BSC to MSC is required for the
on-waves.com support. Allow to set the cell_identity in the cfg
file and patch the system information tables to set it.
2009-09-28 06:04:40 +02:00
Holger Hans Peter Freyther 98dd1c85ab [paging] Kill old defines from paging.c 2009-09-28 06:04:40 +02:00
Holger Hans Peter Freyther b28285d8e7 [paging] Implement paging by IMSI.
Try to page by IMSI when the TMSI is not set. This will be required
to properly support the MSC/BSSMAP.
2009-09-28 05:14:25 +02:00
Holger Hans Peter Freyther 2223025e21 [tmsi] Make the tmsi a 4 octet number
tmsi is four octets long, there is no need to make it a string
and then jump through hoops to convert it to a number. Keep the database
using it as a string to benefit from the NULL handling of the db.

Introduce the reserved tmsi which has all bits set to 1 according
to GSM 03.03 §2.4 and start checking for it and make sure the db
code will never allocate such a tmsi.
2009-09-28 05:14:25 +02:00
Sylvain Munaut 6b0b103bdc [gsm_04_11] Free transaction on RX_RP_ACK for SMS
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-09-27 11:16:22 +02:00
Harald Welte 23b710fa4f Merge branch 'master' into encryption 2009-09-27 11:13:55 +02:00
Sylvain Munaut 82aa6843ba [abis_rsl] Fix rsl_encryption_cmd L3 length computation
msg->l3h doesn't have any coherent value at that point,
can't use that.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-09-27 11:13:18 +02:00
Sylvain Munaut 1dcfc00192 [gsm_04_08] Fix gsm48_send_rr_ciph_mode algorithm ID
The algorithm ID used in the GSM 04.08 RR message is
(x-1) for A5/x. In RSL it's (x+1) for A5/x so there is
a difference of 2.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-09-27 11:11:41 +02:00
Sylvain Munaut 849f554c87 [gsm_04_08] Fix gsm48_tx_mm_auth_req implementation
It was mainly missing the key_seq field, causing the
command to just be rejected by the ME.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-09-27 11:10:17 +02:00
Mike Haben 59d284e8cf non-call related SS (USSD) is not unknown, but unimplemented
also, if we write 0x in front of a number, it should be hex.
2009-09-26 19:00:03 +02:00
Harald Welte 55726d73d7 Use correct capitalization on SQL statements
otherwise, SQLite seems to return the wrong data types ?!?

Signed-off-by: Mike Haben <michael.haben@btinternet.com>
2009-09-26 18:54:59 +02:00
Harald Welte 4381cfe41b add VTY/configfile command for setting encryption (A5) level
This is just configuring the gsm_network property, nobody uses it yet
2009-08-30 15:47:06 +09:00
Harald Welte 08d91a5b26 A5 support for RSL and 04.08 (not used yet)
This just adds the 04.08 and RSL bits for A5, but not the logic
for performing authentication.

The caller would first set lchan->encr and then call
gsm48_send_rr_ciph_mode(lchan), which encapsulates the 04.08
CIPHERING MODE COMMAND into a RSL ENCRYPTION COMMAND and sends it
to the BTS for execution + forwarding.
2009-08-30 15:37:11 +09:00
Harald Welte 196d0528ff [abis_rsl] Set lchan->tch_mode properly when responding to CHAN_RQD
This fixes the 'only first call works' problem that some of us were
having with the nanoBTS.
(the field just happenned to be 0 == GSM48_CMODE_SIGN after startup)

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-08-28 23:28:28 +09:00
Holger Hans Peter Freyther 5d0e56f722 [gsm48] Introduce a gsm48_generate_mid_from_imsi method
Prefix generate_mid_from_tmsi with a gsm48_, create a new method
to binary encode the imsi. Add a unit test for parsing and decoding.

The implementation can parse the data it generated and the
last octet seems to be filled with the end mark.
2009-08-20 13:59:14 +02:00
Holger Hans Peter Freyther d1862d7cf9 [gsm48] Move parsing of the MI from to gsm_04_08_utils.c
The parsing of the IMSI is needed for the MSC part as well. Move
it to the gsm_04_08_utils.c so it can be used.
2009-08-20 13:57:12 +02:00
Holger Hans Peter Freyther 081c00d885 [paging] Better use ';' for the command... 2009-08-20 13:57:12 +02:00
Holger Hans Peter Freyther e4e8bf4dd0 [subscr] Change the signature... the gsm_network is in the subscr
Remove the extra parameter from the method, the network can be
taken from the subscriber.
2009-08-20 13:56:45 +02:00
Holger Hans Peter Freyther 4a5cf5f23d [cleanup] Remove old and dead code from the telnet_interface.c 2009-08-20 13:56:45 +02:00
Holger Hans Peter Freyther e78074eb07 [debug] Make the hexdump parameter const
This way it can be used from values coming TLVP_VAL.
2009-08-20 13:56:45 +02:00
Holger Hans Peter Freyther 5859de86de [misc] Create a gitignore to ignore files
Make git status more useful. Ignore autoconf files, compiled
artefacts, executables and test programs.
2009-08-20 13:56:45 +02:00
Holger Hans Peter Freyther 5ce73fed26 [bsc] Remove HAR feature to advertize neighbor cells
Do not advertize to broadcast on a different frequency, this
was only useful for the HAR2009. The frequency list of the cell
probably needs to migrate into the vty config file.

Revert of ee4410a4f3
2009-08-17 15:56:38 +02:00
Holger Hans Peter Freyther 8b457fb350 [bsc_init] Create a bsc_init.c that can be used for setting up hings.
Share the initialization and bootstraping of the network by moving
the code to a new file and making boostrap_network and shutdown_net
external.

Cleanup the header list after the move and remove trailing whitespace.
2009-08-17 09:52:42 +02:00
Holger Hans Peter Freyther cfa90d4165 [vty] Move layer3+ functionality to vty_interface_layer3.c
Move everything that is policy, requires access to a DB or is
generally in the domain of the MSC to vty_interface_layer3.c.
2009-08-17 09:52:42 +02:00
Holger Hans Peter Freyther 1494a768c1 [bsc] Move the GSM 04.08 helper functions to gsm_04_08_utils.c
The existing gsm_04_08.c implementation is mixing BSC and MSC
behavior. Move some simple parsing and generation functions over
to gsm_04_08_utils.c to allow a different MSC to define the policy.
2009-08-17 09:52:42 +02:00
Holger Hans Peter Freyther 93d4394d1d [msc] Move gsm_04_08.c, mncc and various others to libmsc
Currently we have circular dependencies from libbsc to libmsc
and this requires to play some linker tricks. The problem will
be solved in two ways, first we will get rid of the circular
dependencies and second we can start using --start-group and
--end-group of the linker to play the tricks for us.
2009-08-17 09:52:42 +02:00
Holger Hans Peter Freyther 857e5e6e30 [subscr] Split gsm_subscriber.c in BSC and MSC part
For the BSC part we still assign a gsm_subscriber to lchan but it
might only contain the TMSI of this subscriber.

For the MSC part we will need the HLR/VLR feature of the gsm_subscriber,
specially the lookup's by number...

So if libbsc.a/libmsc.a are compiled in one app and used the
subscribers will be shared, and if only libbsc.a gets used we will
have more empty gsm_subscriber.c..
2009-08-17 09:52:42 +02:00
Holger Hans Peter Freyther 42e327b52f [msc] Introduce a libmsc.a library
Attempt to split up bsc/msc functionality according to the specs. The
libbsc.a will be responsible for communicating with the BTS, configuring
it, paging, channel allocation and passing layer3 messages in both
ways. libmsc.a will implement the policy and such.
2009-08-17 09:52:42 +02:00
Harald Welte 712573b66a Merge commit 'har/master' 2009-08-17 09:41:48 +02:00
Harald Welte (local) ee4410a4f3 actual code running at end of har2009 2009-08-17 09:39:55 +02:00
Holger Hans Peter Freyther 9085cda959 tests: Remove the sms sending from the sms test
The test for the 7bit encoding and decoding remains in the code. The
test didn't compile and the code changed too much so the current test
didn't make any sense.
2009-08-17 06:35:59 +02:00
Harald Welte (local) b8afe81e96 trigger RRLP position requests after paging succeeded and after subscriber attach 2009-08-16 13:18:51 +02:00
Harald Welte (local) 026531ec92 store all APDU's received from the MS in the database
This helps us to analyze data such as RRLP location information for
later analysis.
2009-08-16 10:40:10 +02:00
Harald Welte (local) 6eef564e2d add support for APPLICATION INFO RR messages 2009-08-15 23:32:44 +02:00
Harald Welte (local) db552c56bb don't try to deliver sms to a subscriber that's not registered 2009-08-15 20:15:14 +02:00
Harald Welte (local) 0abaf33297 paging_request() now returns the number of started paging requests
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-15 11:25:45 +02:00
Harald Welte 10250e657b sms_from_text needs to return struct gsm_sms * 2009-08-15 03:28:15 +02:00
Harald Welte 731fd91b24 fix printing of TMSI on VTY 2009-08-15 03:24:51 +02:00
Harald Welte b2dc37f512 Merge commit 'har/master' 2009-08-15 03:21:45 +02:00
Daniel Willmann d5d5e1d460 Fix decoding of SMS Data Coding Scheme 2009-08-15 03:19:40 +02:00
Harald Welte e903edf580 provide return code from paging_request() function
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-15 03:16:17 +02:00
Daniel Willmann 6b024cb83a Handle SMS with UCS2 and binary userdata 2009-08-15 03:15:08 +02:00
Harald Welte (local) d19e58b13c move talloc context creation out of on_dso / constructors
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-15 02:30:58 +02:00
Harald Welte (local) efc92311e2 allow vty to set periodic location updating timer t3212 2009-08-14 23:09:25 +02:00
Harald Welte (local) 143fd51da9 display TMSI in 8 digit hex 2009-08-14 21:17:44 +02:00
Harald Welte (local) 15920de8ce add 'show subscriber cache' vty command to debug subscriber refcount leaks 2009-08-14 20:27:16 +02:00
Harald Welte (local) 05e676356f sms send pending now sends _all_ pending at the same time 2009-08-14 16:01:20 +02:00
Harald Welte (local) 86b17172fd fix sms layer timer leak/corruiption using trans_free()
we only stopped the cp1* timer on reception of cp-ack, but not
in error cases like rx of cp-error.
2009-08-14 14:52:17 +02:00
Harald Welte (local) fed176ab90 implement a timer_list check before we return into the select() loop
this helps us to debug timer_list corruption
2009-08-14 14:30:00 +02:00
Harald Welte (local) daef606502 respect the link_id, not only the SAPI from SMS code
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-14 11:41:12 +02:00
Harald Welte (local) c89a511616 add more debugging to SMS layer 2009-08-14 10:42:43 +02:00
Stefan Schmidt 2c2ecdf610 Merge branch 'master' of git@192.168.100.10:openbsc 2009-08-13 21:34:02 +02:00
Stefan Schmidt aa665876c0 Merge branch 'master' of git@192.168.100.10:openbsc 2009-08-13 21:01:25 +02:00
Stefan Schmidt 689537af9d gsm_04_11: Month in unix time starts with 0. 2009-08-13 21:00:44 +02:00
Harald Welte (local) ee9afe332d when in token auth mode, accept phones that are authorized 2009-08-13 20:44:23 +02:00
Harald Welte (local) 2928bc0233 add the allocated subscriber extension to the auth token SMS 2009-08-13 20:43:58 +02:00
Daniel Willmann bc9e9f856b Merge commit 'har/laforge' 2009-08-13 20:30:46 +02:00
Harald Welte 7f69816144 disable emergency call bit (i.e. cell does not support emergency call) 2009-08-13 20:26:10 +02:00
Daniel Willmann eea9337e9e Encode the network name int the MM info messages in GSM 7bit alphabet. 2009-08-13 16:38:56 +02:00
Daniel Willmann 9aef14547a Beautify septet->octet calculation (do not use ceil) 2009-08-13 16:35:00 +02:00
Daniel Willmann 58c83d8368 Support sms with a validity period format of none 2009-08-13 16:08:09 +02:00
Harald Welte (local) 50d127199d fix token auth implementation 2009-08-13 13:52:14 +02:00
Harald Welte (local) aa9dc19ca7 remove FIRST_CONTACT signal, the subscriber flag is sufficient 2009-08-13 13:49:51 +02:00
Harald Welte (local) 3feef255d2 fix token allocation sql strings 2009-08-13 13:26:11 +02:00
Harald Welte (local) 571602f43c fix segfault in vty sms sending code 2009-08-13 13:25:32 +02:00
Jan Luebbe 336f8ec57a allocate a token for new subscribers 2009-08-13 10:15:09 +02:00
Jan Luebbe 06513f26a1 replace the command line option -a with the auth-policy config option 2009-08-13 10:14:59 +02:00
Harald Welte (local) 0e451d0f2e add 'ms max power' vty command to set the maximum MS power in dBm 2009-08-13 10:14:26 +02:00
Harald Welte ccceef8fe9 add code for token auth sequencing
* When we first see a subscriber, send the sms
* when the sms completes, send auth req + auth reject and close the channel
2009-08-13 00:57:54 +02:00
Harald Welte 8c340fee21 factor out the function to generate struct gsm_sms from a string 2009-08-13 00:57:31 +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
Harald Welte 7984d5c260 add functions to send AUTH REQ and REJECT 2009-08-12 22:56:50 +02:00
Jan Luebbe f0b4cef137 fix random extension generation 2009-08-12 22:22:53 +02:00
Jan Luebbe 9eca37f93c fix problems with tmsi uniqueness in the subscriber table 2009-08-12 22:22:42 +02:00
Jan Luebbe 1da59edf83 fix a wrong format specifier 2009-08-12 22:22:26 +02:00
Jan Luebbe ebcce2aae1 allocate an extension when creating the subscriber 2009-08-12 22:22:20 +02:00
Jan Luebbe 31bef49be2 token support in the DB 2009-08-12 22:21:56 +02:00
Harald Welte c70979a337 add help message about timestamp option 2009-08-12 21:52:11 +02:00
Harald Welte 61cd8831eb patch power reduction into NM attributes 2009-08-12 21:50:41 +02:00
Harald Welte 000c0f44f3 patch the SI and NM attr tables independently 2009-08-12 21:45:02 +02:00
Harald Welte (local) 37a7d361f4 remove printf for every packet in pcap code 2009-08-12 21:04:50 +02:00
Jan Luebbe 370b41d7f1 look up subscriber in memory before loading from DB 2009-08-12 21:04:33 +02:00
Jan Luebbe b0dfc31d7d flag new subscriber structs in memory and send a signal 2009-08-12 21:03:00 +02:00
Harald Welte (local) 7f28cd559a set nominal TRX power for BS-11 and nanoBTS 2009-08-12 20:56:16 +02:00
Harald Welte (local) 5dececfa41 implement bts->cell_barred feature, configurable in VTY 2009-08-12 20:55:00 +02:00
Harald Welte (local) 69de397ff4 add a authorization policy field to the network and VTY
this is not being used yet
2009-08-12 20:53:36 +02:00
Stefan Schmidt a29216b1e1 vty/command: Use CONFIGFILE_MASK as mask in chmod and not as mode. 2009-08-12 20:52:35 +02:00
Stefan Schmidt beccbc3fbe vty_interface: Remove bogus checks for Site ID and BTS ID. 2009-08-12 20:49:18 +02:00
Harald Welte 4321feeb20 siemens vendor specific message type and IE definitions 2009-08-10 17:40:43 +02:00
Harald Welte d069deabe4 Merge commit 'origin/master' 2009-08-10 14:45:08 +02:00
Harald Welte 65676fe73f when channel allocator operates in reverse order, prefer SDCCH/8 over SDCCH/4 2009-08-10 14:44:24 +02:00
Harald Welte 9c31b5eeca now that we send MRPCI, we can treat T_MSRFPCI error message as fatal 2009-08-10 14:43:59 +02:00
Holger Hans Peter Freyther 557ca78b49 bsc_hack.c: Unconditionally listen for the nanoBTS
As proposed on the mailinglist, initialize the socket once
and wait for the nanoBTS to connect.
2009-08-10 14:16:08 +02:00
Harald Welte e991c26387 BS11: send measurement report every 5 SACCH frames 2009-08-10 14:09:28 +02:00
Harald Welte 7a8fa412fd add "channel allocator (ascending|descending)" command to VTY 2009-08-10 13:48:16 +02:00
Harald Welte fc0d952602 introduce bts->chan_alloc_reverse flag
The channel allocator can be set in ascending or descending order.

Ascnending means we first try to allocate channels on TRX0, then TRX1, etc.
Descending means we first try to allocate cahnnels on TRXn, then n-1 down to 0.
2009-08-10 13:46:55 +02:00
Harald Welte 8836726348 use list iteration macros to iterate over list of TRX 2009-08-10 13:25:55 +02:00
Harald Welte 349aba603c perform A-bis OML configuration based on config file
This means that the config file is now finally the central source of not only
the E1 configuration on the BSC, but also the E1 and GSM channel configuration
on the BTS.
2009-08-10 12:31:31 +02:00
Harald Welte 21bd3a52f1 move chcomb4pchan to public abis_nm_chcomb4pchan() function 2009-08-10 12:21:22 +02:00
Daniel Willmann 65f68fa961 Add {create, delete}-bport1 and bport0-{star, multidrop} to bs11-config
This adds the possibility to bs11-config to add the second bport and
change the line config to star or multidrop.
2009-08-10 11:49:36 +02:00
Harald Welte 99b4ecd78a Merge commit 'origin/master' 2009-08-10 11:43:52 +02:00
Harald Welte 115d1036d6 rename rsl_channel_release to rsl_rf_channel_release
and add some more comments to help understand the complex release
procedures.
2009-08-10 11:43:22 +02:00
Harald Welte f1676e5f9d add support for more nanoBTS 12.21 tests
* perform a channel usage test
$ ./ipaccess-config -l 64 192.168.100.100
paccess-config.c:142 ==> ARFCN    3, RxLev 16
[...]
<0020> ipaccess-config.c:142 ==> ARFCN    4, RxLev 33
<0020> ipaccess-config.c:142 ==> ARFCN    8, RxLev  6
<0020> ipaccess-config.c:142 ==> ARFCN    5, RxLev 16
<0020> ipaccess-config.c:142 ==> ARFCN   11, RxLev  5
<0020> ipaccess-config.c:142 ==> ARFCN   12, RxLev  8
<0020> ipaccess-config.c:142 ==> ARFCN   10, RxLev  6
[...]

* perform a BCCH usage test
$ ./ipaccess-config -l 65 192.168.100.100
[...]
<0020> ipaccess-config.c:107 TEST REPORT: test_no=0x41 test_res=SUCCESS
<0020> ipaccess-config.c:142 ==> ARFCN    4, RxLev 32
<0020> ipaccess-config.c:142 ==> ARFCN    8, RxLev  6
<0020> ipaccess-config.c:142 ==> ARFCN   12, RxLev  6
<0020> ipaccess-config.c:142 ==> ARFCN   20, RxLev  9
<0020> ipaccess-config.c:142 ==> ARFCN   31, RxLev  6
<0020> ipaccess-config.c:142 ==> ARFCN   37, RxLev 23
<0020> ipaccess-config.c:142 ==> ARFCN   49, RxLev  7
<0020> ipaccess-config.c:142 ==> ARFCN   53, RxLev 14
<0020> ipaccess-config.c:142 ==> ARFCN   57, RxLev 19
<0020> ipaccess-config.c:142 ==> ARFCN   60, RxLev 63
<0020> ipaccess-config.c:142 ==> ARFCN   71, RxLev 15
<0020> ipaccess-config.c:142 ==> ARFCN   90, RxLev  4

* perform a frequency sync test
$ ./ipaccess-config -l 66 192.168.100.100
[...]
<0020> ipaccess-config.c:107 TEST REPORT: test_no=0x42 test_res=SUCCESS
<0020> ipaccess-config.c:130 ==> ARFCN    4, Frequency Error     -2
<0020> ipaccess-config.c:130 ==> ARFCN    8, Frequency Error    -40
<0020> ipaccess-config.c:130 ==> ARFCN   20, Frequency Error    -21
<0020> ipaccess-config.c:130 ==> ARFCN   31, Frequency Error      1
<0020> ipaccess-config.c:130 ==> ARFCN   37, Frequency Error     -4
<0020> ipaccess-config.c:130 ==> ARFCN   45, Frequency Error     -4
<0020> ipaccess-config.c:130 ==> ARFCN   53, Frequency Error     22
<0020> ipaccess-config.c:130 ==> ARFCN   57, Frequency Error      3
<0020> ipaccess-config.c:130 ==> ARFCN   60, Frequency Error      0
<0020> ipaccess-config.c:130 ==> ARFCN   69, Frequency Error      2
<0020> ipaccess-config.c:130 ==> ARFCN   73, Frequency Error     30
<0020> ipaccess-config.c:130 ==> ARFCN   89, Frequency Error     44
<0020> ipaccess-config.c:130 ==> ARFCN   90, Frequency Error      8
<0020> ipaccess-config.c:130 ==> ARFCN  123, Frequency Error     27
2009-08-10 11:39:47 +02:00
Harald Welte d26d3d953a add some document about the channel release procedure
also note how we are not doing what the spec says :)
2009-08-10 11:35:33 +02:00
Harald Welte ddfdef1529 Merge commit 'origin/master' 2009-08-10 11:28:33 +02:00
Harald Welte 3c456d06e0 use proper message discriminator for MRPCI
Siemens overloaded the definition for location based services, so
our automatic determination of the message discriminator no longer
works fine.
2009-08-10 11:26:14 +02:00
Holger Hans Peter Freyther 100325a87e bsc_hack.c: Explain why the program will exit... 2009-08-10 10:36:06 +02:00
Harald Welte 3ac7f10450 add code to GSM 04.08 to send MRPCI message once we have classmark2
* afert we receive a CM SERVICE REQUEST
* after we receive a PAGING RESPONSE
2009-08-10 10:12:45 +02:00
Harald Welte 5b570676cd add new 'is_siemens_bts()' function 2009-08-10 10:08:01 +02:00
Harald Welte 31c489390c make rsl_siemens_mrpci() use struct rsl_mrpci 2009-08-10 10:07:33 +02:00
Harald Welte 67fa91bf42 Add function to generate siemens-specific MRPCI RSL message
MRPCI (MS RF Power Indicator) informs the BTS about the power
capabilities of the MS.
2009-08-10 09:51:40 +02:00