Commit Graph

523 Commits

Author SHA1 Message Date
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 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 (local) ee4410a4f3 actual code running at end of har2009 2009-08-17 09:39:55 +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 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 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 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
Holger Hans Peter Freyther d5d1cef7c2 bsc_hack.c: Allow to use a different file for the config file 2009-08-10 08:39:27 +02:00
Holger Hans Peter Freyther 850326e377 db.c: Move the schema revision check after creating the tables
When starting the first time there are no tables, doing a revision
check will fail and bsc_hack will exit without tables created. Do
the revision check within db_prepare and allow new tables to be
created before.
2009-08-10 08:36:04 +02:00
Holger Hans Peter Freyther 6d30a35d21 vty: Avoid implicit declaration warning and check result code 2009-08-10 08:26:15 +02:00
Holger Hans Peter Freyther c423a12392 vty: Fix format string issue 2009-08-10 08:26:15 +02:00
Holger Hans Peter Freyther 656b129812 vty: Make the argument const 2009-08-10 08:26:14 +02:00
Holger Hans Peter Freyther 336f509941 ipaccess.c: Make the compiler happy...
The compiler thinks the variables might not be initialized, we
know it is wrong... but just make it happy.
2009-08-10 08:26:14 +02:00
Holger Hans Peter Freyther 4e2973d2d3 misdn.c: Fix warning about redefining AF_ISDN..
We use the same construct in e1_inpit.c, use it here too.
2009-08-10 08:26:13 +02:00
Holger Hans Peter Freyther e4042c72d7 misc: Remove some obviously unused and unneeded variables.. 2009-08-10 08:26:13 +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 1ddb356912 rtp_proxy: Add two case and a DEBUG statement..
Handle the case values to make the compiler happy and a runtime
warning... This is similiar to other places of the code
2009-08-10 08:26:12 +02:00
Holger Hans Peter Freyther 966de68539 db: Fix warning about truncating the size
We are truncating the size and might should simply use a MIN
here to get the returned size or the maximum we can hold..
2009-08-10 08:26:07 +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 e58ca7c181 revert commit b400dd8f64 regarding NECI=0
As it turns out, we start to allocate SDCCH for voice calls.  Since we
don't yet implement switching from SDCCH to TCH during call setup,
this leads to various problems.
2009-08-10 02:14:46 +02:00
Harald Welte 0b2124be48 set BS power to Pn == nominal output power
This is only relevant for TRX1, since TRX0 will always opwerate at constant
power.  However, when channels on TRX0 are activated, we should provide
a reasonable BS poewr level.
2009-08-10 00:45:40 +02:00
Harald Welte b400dd8f64 We're using NECI=0, but the channel reauest reasons we're seeing from MS's are wrong
So we don't know what's the problem.  Using the NECI=1 tables makes us allocate SDCCH
for MO SMS, which is good.
2009-08-10 00:26:50 +02:00
Harald Welte b7e8116bfa add T3101 to release lchan in case MS never responds to IMMEDIATE ASSIGN 2009-08-10 00:26:10 +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 6c3d2edebf the RELEAESE MODE IE is mandatory 2009-08-10 00:19:36 +02:00
Harald Welte 89e9d5927e chane TRX0/TS0 channel combination to not include a CBCH
We don't support CBCH anyway, and using CBCH will reduce the number of uesable
SDCCH/4 channels to 3 on TS0
2009-08-09 22:01:26 +02:00
Harald Welte 39c7debc9c verify bs11 channel combination constraints 2009-08-09 21:49:48 +02:00
Harald Welte 1e0a8ea4d5 Merge branch 'master' into config_file
Conflicts:
	openbsc/src/vty_interface.c
2009-08-09 19:55:21 +02:00
Harald Welte 369cc27f3b Merge commit 'origin/master'
Conflicts:
	openbsc/src/vty_interface.c
2009-08-09 19:53:12 +02:00
Harald Welte 3073a9f241 if we receive CHANNEL ACTIVATE NACK, we should release the lchan 2009-08-09 19:50:08 +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 ee5ad16582 ensure we send the LOCATION UPDATE ACCEPT before issuing any signal 2009-08-09 19:07:00 +02:00
Harald Welte d11ea93e26 ensure that we use the SACCH where apropriate for RLL connections 2009-08-09 19:06:24 +02:00
Harald Welte 2ebabca32a new db_sms_get_unsent_for_subscr() function
The function retrieves the oldest not-yet-sent SM for the given subscriber
2009-08-09 19:05:21 +02:00
Harald Welte d0b7b7719f add ud_hdr_ind to SMS table
we also implement verification of the database schema number by
using the 'Meta' table.
2009-08-09 19:03:42 +02:00
Harald Welte 1a6f79818e move search for existing lchan for subscriber to new function
There's now a new function called 'lchan_for_subscr()' which can be
used to determine if there is any existing lchan for this subscriber.
2009-08-09 18:52:33 +02:00
Harald Welte f9daefd65b add SMS sending commands to vty
You can now type commands like
	'sms send extentsion 1003 This is a test message'
to trigger paging and delivery of the message 'This is a test message'
to the subscriber with extension 1003.  There's also a variant that uses
the IMSI of the subscriber.

Messages sent this way are only attempted to deliver immediately.  If
immediate delivery fails, there is no attempt to store it in the database.
2009-08-09 15:13:54 +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 66b6a8dde0 move ms_pwr utility function to gsm_utils.c
also, they should both take the gsm_band parameter, not a BTS
2009-08-09 14:45:18 +02:00
Harald Welte 31f03a6df6 configure MS CCH max power IEI of SI3 and SI4 to 20dBM (100mW) 2009-08-09 14:38:49 +02:00
Harald Welte 1c40927355 fix timer and linked list handling of new RLL code 2009-08-09 14:13:58 +02:00
Harald Welte edcc527371 Add new BSC RLL layer of code
A caller can call rll_establish(lchan, link_id) and a callback to the GSM RLL
code.  He will get called back if the RLL link is established or receives some
error message, or the establishment times out.

We need this for proper SMS implementation, where we need to restablish a SAPI3
RLL link before transmitting the actual CP-DATA messages.
2009-08-09 13:47:35 +02:00
Harald Welte 42b4557fca ensure vty code uses talloc_strdup() rather than regular strdup 2009-08-08 17:41:43 +02:00
Harald Welte 1bf1972d29 use one talloc context for entire vty code 2009-08-08 17:41:33 +02:00
Harald Welte 42581829ec the actual config file code (not just config files)
this was missing from commit a08a9acdb6
2009-08-08 16:12:58 +02:00
Harald Welte 3c5cb256c2 Merge branch 'master' into config_file
Conflicts:
	openbsc/src/vty_interface.c
2009-08-08 16:08:54 +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 1d014a5dfc parse_btstype() can use const qualifier 2009-08-08 15:38:29 +02:00
Harald Welte f6cea1db99 when paging a MS, use the channel type indicated by caller
The existing code always paged for a TCH/F, which is really wasteful
when considering the delivery of SMS messages.

Also, increase the verbosity of the debug message a bit.
2009-08-08 15:08:19 +02:00
Harald Welte d2dc1de9d9 start using the RLL RELEASE procedures
So far, we immediately disable the RF channel without following a proper
RLL RELEASE procedure.  This patch changes this.

If we locally terminate the connection, the channel allocator now triggers a
RLL RELEASE REQuest, which is responsed by the MS with a RLL RELEASE CONFirm,
based on which we send the RF CHANnel RELease to the BTS.

If the MS terminates the connection, we receive a RLL RELEASE INDication,
based on which we trigger RF CHANnel RELease to the BTS.
2009-08-08 13:15:07 +02:00
Harald Welte 81cff3c8c5 ipaccess-find: don't try to parse packets that are not IPAC_MSGT_ID_RESP 2009-08-08 12:14:53 +02:00
Harald Welte e26d079c97 no more need to specify local IP address to ipaccess-find
Actually, depending on the system configuration, we don't even need to
specify the interface name or be root.
2009-08-08 11:47:20 +02:00
Harald Welte c7310385ca implement nanoBTS frequency error test
This helps us to detect the frequency error of BS-11 if it is located
next to the nanoBTS 900.

If 'ipaccess-config -l' is called, it will produce a report like
<0020> ipaccess-config.c:85 TEST REPORT: test_no=0x42 test_res=0
<0020> ipaccess-config.c:108 ==> ARFCN  220, Frequency Error     22
<0020> ipaccess-config.c:108 ==> ARFCN    1, Frequency Error    -37
<0020> ipaccess-config.c:108 ==> ARFCN   10, Frequency Error      0
<0020> ipaccess-config.c:108 ==> ARFCN   20, Frequency Error     11
<0020> ipaccess-config.c:108 ==> ARFCN   53, Frequency Error      5
<0020> ipaccess-config.c:108 ==> ARFCN   63, Frequency Error     -4
<0020> ipaccess-config.c:108 ==> ARFCN   84, Frequency Error     11
<0020> ipaccess-config.c:108 ==> ARFCN  101, Frequency Error      0
<0020> ipaccess-config.c:108 ==> ARFCN  123, Frequency Error    -52

where in this case the ARFCN 123 is the BS-11 with a frequency error
larger than all the other (regular) BTS in the vicinity.
2009-08-08 00:02:36 +02:00
Harald Welte a08a9acdb6 first version of OpenBSC to be confiugred by config_file
We nowuse the interactive VTY layer to configure OpenBSC. You can
create BTS's, set their parameters as well as TRX's and their
timeslots on the telnet UI.

What is lacking so far:
1) we only read the config file once and don't properly react
   to changes performed at runtime
2) ip.access BTS supportis not integrated yet

There are three config files as examples
* openbsc.cfg.1-1: single BTS, single TRX
* openbsc.cfg.1-2: single BTS, dual TRX
* openbsc.cfg.2-2: dual BTS, dual TRX
2009-08-07 20:19:30 +02:00
Harald Welte 5013b2ad42 introduce new GSMNET node for the GSM network 2009-08-07 13:29:14 +02:00
Harald Welte c7c19822fd add support for reading of configuration file to VTY 2009-08-07 13:28:08 +02:00
Harald Welte 07dc73d4f7 only allow setting of unit_id on ip.access BTS 2009-08-07 13:27:09 +02:00
Harald Welte fc1c3e58ac ensure vty code uses talloc_strdup() rather than regular strdup 2009-08-07 13:26:28 +02:00
Harald Welte 0224e4d051 use one talloc context for entire vty code 2009-08-07 13:25:41 +02:00
Harald Welte bd30506628 Merge branch 'master' into sms 2009-08-07 00:33:03 +02:00
Harald Welte 2477d93c6e switch vty implementation over to talloc 2009-08-07 00:32:41 +02:00
Harald Welte 3820254f7a telnet: deal gracefully with vty being closed by vty layer
also: ignore vty's that are not terminals (e.g. VTY_FILE)
2009-08-07 00:31:23 +02:00
Harald Welte 31c3d34e61 in case of SIGABRT, don't exit(0) and thus prevent creating a core file 2009-08-07 00:29:44 +02:00
Harald Welte a6fd58eaed add telnet/vty commands for TS pchan and e1_subslot 2009-08-07 00:25:23 +02:00
Harald Welte a171a1be47 implement gsm_pchan_parse() function 2009-08-07 00:24:39 +02:00
Harald Welte 99a452a197 Merge branch 'master' into sms 2009-08-06 19:20:22 +02:00
Harald Welte 67ce073110 add code to save BTS/TRX/TS config to config file
we don't yet have the parser to fully re-read it. So this has not mcuh use so far.
2009-08-06 19:06:46 +02:00
Harald Welte 9fb3b8bff4 change order of BTS and TRX list as well as band names for prettier printout 2009-08-06 19:05:58 +02:00
Harald Welte b1f21d4844 don't define zencrypt function if VTY_CRYPT is not defined 2009-08-06 18:51:23 +02:00
Harald Welte 4a3023df12 re-enable config file handling of vty layer 2009-08-06 18:50:10 +02:00
Harald Welte 1989c089da add function for performing 'CONNECT MULTI-DROP LINK" as per GSM 12.21
don't be confused, BS-11 does not need this.  But since I wrote the code
before knowing that, I can just as well commit it.
2009-08-06 17:58:31 +02:00
Harald Welte 4fbfd3a43b add more ip.access attribute TLV definitions 2009-08-06 17:57:23 +02:00
Harald Welte 5146006df2 introduce '-2' commandline option for second BS-11
Using this option, you can use two BS-11 connected to the same E1
link.  The first BS-11 needs to have BPORT0 and BPORT1 objects created with E1
Line Configuration attribute "multi-drop".  The second BS-11 is configured with
only BPORT0 in star configuration, and needs to have the OML signalling on TS6
instead of TS1.  Also, a kernel patch providing a second virtual E1 interface
is needed.
2009-08-06 17:54:21 +02:00
Harald Welte f294f45ca6 shut down the OML (and thus the BTS) when bsc_hack is terminated with ctrl+c 2009-08-06 17:43:50 +02:00
Harald Welte d158605db1 only set BCCH INFO on first TRX (C0) of BTS 2009-08-06 17:41:19 +02:00
Harald Welte ac56e8b442 use HARDCODED_BTSn_TS defines from bsc_hack.c 2009-08-06 17:40:24 +02:00
Harald Welte 63589bef52 add HARDCODED_BTSn_TS to define the base TS for each BTS 2009-08-06 17:38:10 +02:00
Harald Welte ac606dcf92 use talloc_free() rather than free()
Fix two bugs in OML software download code where we allocate data structures
using talloc, but free() them using the system memory allocator.  Spotted by
dexter.
2009-08-06 15:44:18 +02:00
Harald Welte 4e55d6883b e1_config now supports up to three BTS
Each BTS gets its own E1 line data structure.  They are meant to bind
each to their own (virtual?) mISDN device.

BTS0 uses TS01 (siganlling) and TS02/03 (TRX0), TS04/05(TRX1)
BTS1 uses TS11 (siganlling) and TS12/13 (TRX0), TS14/15(TRX1)
BTS2 uses TS21 (siganlling) and TS22/23 (TRX0), TS24/25(TRX1)
2009-08-04 14:13:35 +02:00
Harald Welte 9e85b54799 prepare mISDN driver for multiple lines/instances
In order to use multiple mISDN cards, we need to:
1) move driver initialization out of line initialization
2) make sure we allow partial (virtual) E1 cards with < 30 B-channels
2009-08-04 14:11:49 +02:00
Harald Welte 602f2b88d6 fix \n at end of line of certain RSL debug messages 2009-08-04 02:50:21 +02:00
Harald Welte f89abbd16a alter initial MS RF power to 100mW 2009-08-04 02:31:55 +02:00
Harald Welte 2da8629b7c parse and decode Siemens specific T_MSRFPCI message 2009-08-04 02:31:05 +02:00
Harald Welte fad0559aee fix initialization of TRX1 / TS0
also fix a minor error when printing BTS/TRX number
2009-08-04 01:31:53 +02:00
Harald Welte a1b285861e gsm_04_08 no longer needs to iterate over all BTS in LAC
this task is performed by the paging.c code already.
2009-08-01 19:31:47 +02:00
Harald Welte ea5cf30d15 issue a signal once a subscriber is attached or detached 2009-07-29 23:14:15 +02:00
Harald Welte e34e117ff1 Merge branch 'master' into sms 2009-07-29 18:05:54 +02:00
Harald Welte d46299da00 make channel allocator policy multi-TRX aware
For now, we assume that TRX1 (and higher) all have a TCH/F configuration
on all of their timeslots
2009-07-29 16:46:37 +02:00
Harald Welte 67b4c30a9d complete TRX1 support for BS11
* remove old HAVE_TRX1 definition, replace it with '-1' commandline argument
* make sure we actually configure the OML TRX attributes with a different
  ARFCN than TRX0
* make sure we configure timeslot 0 of TRX1 also in TCH/F mode

This code is untested, but if you have a dual-trx BS-11, and the second TRX
is activated, you should be able to run bsc_hack with the -1 option to enable
and use the second trx.  It works like this:
* TRX1 shares E1 timeslot 0 for signalling
* TRX1 RSL link uses TEI2 (TRX0 uses 1)
* TRX1 on ARFCN+2, i.e. if you have TRX0 on 122, TRX1 will be 124
2009-07-29 16:42:16 +02:00
Harald Welte 9943c5bbac generalize channel activation / channel mode modify
* we only need one piece of code to calculate rsl_ie_chan_mode from
  our run-time data structures (gsm_lchan)
* add some more channel modes for TCH/H and data
* use enum's to make the compiler warn us about unhandled enum values
* make sure the caller determines the (signalling,speech,data) mode
2009-07-29 15:41:29 +02:00
Harald Welte 58ca5b7ae7 actually derive the ip.access speech mode from tch_mode
also make sure we always print the speech_mode on IPAC_BIND
and IPAC_CONNECT.
2009-07-29 12:12:18 +02:00
Harald Welte 13cac66bb7 postpone IPAC_BIND until we do a LCHAN_MODIFY
only after the LCHAN_MODIFY we know the final mode of the channel,
so we have to postpone our IPAC_BIND until then to make sure we set
the correct speech codec.
2009-07-29 12:10:35 +02:00
Harald Welte 470abb773b add support for more RSL channel modes 2009-07-29 11:38:15 +02:00
Harald Welte 849427d895 Merge commit 'origin/master' 2009-07-29 10:58:08 +02:00
Harald Welte 198f3f559d fix typo when using sizeof() to determine the size of the RTCP header
This was spotted by zecke, thanks.
2009-07-29 10:47:28 +02:00
Harald Welte 72be4633b2 fix typo when using sizeof() to determine the size of the RTCP header
This was spotted by zecke, thanks.
2009-07-29 10:46:41 +02:00
Holger Hans Peter Freyther 89acf061c2 rtp_proxy.c: Spelling fix, kook -> look 2009-07-29 06:46:26 +02:00
Holger Hans Peter Freyther 430b59ce64 vty/command.c: Fix compile warning by including gsm_subsriber.h 2009-07-29 06:44:31 +02:00
Harald Welte 2f33d01aaf Merge branch 'master' into sms 2009-07-28 18:40:45 +02:00
Harald Welte 805f64486b add RTP proxy mode for ip.access
Up until now, we only supported direct RTP streams between ip.access BTS.
With this commit, the user can specify '-P' to the command line to enable
a RTP/RTCP proxy inside OpenBSC.  The nanoBTS will then send all their voice
data to OpenBSC, which will relay it to the respective destination BTS (which
can be the same BTS).

The default behaviour remains unchanged.  Without '-P' on the command line,
RTP/RTCP is exchanged directly.
2009-07-28 18:25:29 +02:00
Harald Welte aea9a98dc2 improve ip-access BIND/CONNECT RTP support
* explicitly set the "ip speech mode" IE during BIND and CONNECT messages,
  depending on the speech codec used by the voice call
* more verbose debug messages regarding IPAC_BIND and IPAC_CONNECT
* do not always blindly specify RTP payload type, but use the value
  returned by BIND_ACK, _if_ it is present.
2009-07-28 18:11:56 +02:00
Harald Welte 5e98a5366e send a [new] signal in case of IPAC_DISCONNECT_INDication 2009-07-28 18:02:05 +02:00
Harald Welte 9869c0a0c8 implement human-readable RSL cause printing 2009-07-28 17:58:09 +02:00
Harald Welte 716fa9f0d2 enable select.c handler to support removal of two consecutive fd's 2009-07-28 13:32:00 +02:00
Harald Welte 5f2134f12a Merge branch 'master' into rtp_proxy 2009-07-28 08:21:40 +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 ead7a7b320 add new rtp_proxy code, but not use it yet
The rtp_proxy.[ch] code is intended to be used as a transparent
RTP/RTCP proxy, relaying the media streams from one ip.access BTS
to another.  In an 'ideal' network, this is obviously not needed,
since the BTS's can send those streams directly between each other.

However, for debugging, 'lawful interception', transcoding or interfacing
a TRAU/E1 based BTS, we actually need to process those RTP streams
ourselves.
2009-07-28 00:01:58 +02:00
Harald Welte f3efc597d1 further steps towards better, transaction based SMS 2009-07-27 20:11:35 +02:00
Harald Welte b8b4073e18 look-up by (subscriber, protocol, transaction_id) tuple
... rather than the previous incomplete (lchan, transaction_id) tuple
2009-07-23 21:58:40 +02:00
Harald Welte b49248bf48 move allocating new transaction_ids to transaction.c 2009-07-23 21:39:00 +02:00
Harald Welte 78283ef151 move allocating new transaction_ids to transaction.c 2009-07-23 21:36:44 +02:00
Harald Welte c072ad6e29 add missing files to git 2009-07-23 21:25:48 +02:00
Harald Welte 9ee4825bbf add missing files to git 2009-07-23 21:25:08 +02:00
Harald Welte 88f0425197 Merge branch 'master' into sms 2009-07-23 21:24:28 +02:00
Harald Welte 6f5aee07e5 trans->transaction_id now reflects the actual (unshifted) value 2009-07-23 21:21:14 +02:00
Harald Welte 39e2eadc99 centralize the code that needs to deal with transaction_id
There were many places in the code where we had to explicitly
reference the transaction_id and put it into a packet.  By introducing
and optional gsm_trans parameter to gsm48_sendmsg(), we can implement
this code once rather than dozens of time.
2009-07-23 21:13:03 +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 b3c3faee94 remove bogus 'network' member of 'struct gsm_transaction'
Since a transaction is associated to a gsm_subscriber, and the subsciber
is part of a network, we don't need to have a dedicated transaction->network
pointer.
2009-07-23 19:10:19 +02:00
Harald Welte aa0b29c265 gms_transactions data model reorganization
This changeset factors out gsm_transaction as something independent
of call control in preparation to re-use the code from SMS.  A
transaction is uniquely identified by either its callref, or by
a tuple of (transaction_id, protocol, subscriber).
2009-07-23 19:10:12 +02:00
Harald Welte 596fed40f0 remove bogus 'network' member of 'struct gsm_transaction'
Since a transaction is associated to a gsm_subscriber, and the subsciber
is part of a network, we don't need to have a dedicated transaction->network
pointer.
2009-07-23 19:06:52 +02:00
Harald Welte dcaf5654db gms_transactions data model reorganization
This changeset factors out gsm_transaction as something independent
of call control in preparation to re-use the code from SMS.  A
transaction is uniquely identified by either its callref, or by
a tuple of (transaction_id, protocol, subscriber).
2009-07-23 18:56:43 +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 f8d536def9 allow user to set BSIC and TSC from command line 2009-07-21 22:13:36 +02:00
Harald Welte 814c4b7984 use actual bts->tsc rather than hard-coded value 2009-07-21 22:13:28 +02:00
Harald Welte e6c22d9db7 use the TSC that is configured in bts->tsc rather than hardcoded value 2009-07-21 22:13:22 +02:00
Harald Welte 9f93c7d61b allow user to set BSIC and TSC from command line 2009-07-21 22:12:23 +02:00
Harald Welte 66ae83b0c9 use actual bts->tsc rather than hard-coded value 2009-07-21 20:55:56 +02:00
Harald Welte fe6a45a228 use the TSC that is configured in bts->tsc rather than hardcoded value 2009-07-21 20:40:05 +02:00
Harald Welte ae05d247af Merge branch 'master' into sms 2009-07-19 18:49:15 +02:00
Harald Welte ae0f2362bb send DEACTIVATE SACCH when sending RR CHANEL RELEASE
As per specification, we first send the RR CHANNEL RELEASE to the MS,
and then tell the BTS to disable the SACCH on that channel.
2009-07-19 18:36:49 +02:00
Harald Welte 7543eb72d0 fix copy+paste mistake in ecnoding short net name in mm info 2009-07-19 17:51:36 +02:00
Harald Welte 565547171c some more comments for BS11 attributes 2009-07-18 16:18:11 +02:00
Holger Hans Peter Freyther 03582a8bdc bsc_hack.c: Make adding of (nano)BTS to the network dynamic
Fix the FIXME and replace the hardcoded site_id's of the
nanoBTS with a command line option. You can use -i DEVICE_X
for every BTS you want to handle.
2009-07-16 15:27:09 +02:00
Harald Welte d83a127bb3 add more ipaccess 12.21 object classes, NSVC only exists once 2009-07-12 10:56:06 +02:00
Harald Welte ab46d7455b more ip.access RSL TLV parser definitions 2009-07-12 09:56:39 +02:00
Harald Welte 20855547bf rename ip.access structure field members and variables
to reflect that we now know their true names/meanings
2009-07-12 09:50:35 +02:00
Harald Welte 86c162dce8 give ip.access RSL IE's their proper names 2009-07-12 09:45:05 +02:00
Harald Welte 0efe9b7006 more ip.access abis_nm attributes
we also rename some existing attributes to reflect reality
2009-07-12 09:33:54 +02:00
Harald Welte 539bc608bd Merge branch 'master' into sms 2009-07-09 23:54:34 +02:00
Harald Welte 3e0f6173f1 some more comments 2009-07-09 23:52:59 +02:00
Holger Hans Peter Freyther 3d57183910 abis_rsl.c: Clarify from which specification this table comes from
It appears to be the table of TS 05.02.
2009-07-09 20:43:16 +02:00
Holger Hans Peter Freyther a7cd9fc0d1 ipacess-config: Handle NVATTR NACKs in ipaccess-config
Currently we send the attribute changes in a send and forget
fashion. But sometimes the nanoBTS is sending us a NACK, e.g
with a invalid unit id. Start handling the NACK and provide
an error message to the user. The error message is not yet
describing the cause of the error but this is a slight progress
to the previous silent failure.
2009-07-08 23:13:58 +02:00
Harald Welte d5651d5ced Merge commit 'origin/master' 2009-07-05 14:19:06 +02:00
Harald Welte f0465bd6cb Merge branch 'master' into sms 2009-07-05 14:10:01 +02:00
Harald Welte c2e302dc84 Store classmark1/2/3 in equipment SQL table
For further evaluation/analysis, this patch stores the classmark 1, 2 and 3
values of every equipment in the SQL database.  We can use this non-volatile
data to determine the supported features for each handset that we've ever
seen on our network.
2009-07-05 14:08:13 +02:00
Harald Welte be3e3784dc further SMS work
* implement ID based lookup of gsm_subscriber from database
* look-up recipient and sender subscribers from database
2009-07-05 14:06:41 +02:00