Commit Graph

1110 Commits

Author SHA1 Message Date
Harald Welte 37600be76c fix segfault in token_auth on SS_SUBSCR != ATTACH 2009-12-13 12:56:47 +01:00
Harald Welte 7659de1bcb introduce new signal every time we get a mobile identity 2009-12-13 12:39:18 +01:00
Harald Welte eab84a112c [RRLP] make RRLP mode configurable from config file
We now support different RRLP modes (including "none" to disable RRLP),
you can configure it via "rrlp mode" in the "network" section of
openbsc.cfg.
2009-12-13 10:53:12 +01:00
Harald Welte 09b7e7fa43 Gracefully reject non-speech calls
As we currently really only deal with voice/speech calls and don't
support FAX and DATA (CSD) calls, we now gracefully reject them.
2009-12-12 21:36:53 +01:00
Harald Welte 487e6befb8 make speech calls with NECI=1 work
Fix minor bug with speech calls in case of NECI=1
2009-12-12 21:16:38 +01:00
Harald Welte b83d938565 [04.08] use lchan_auto_release to quickly close channel
In some cases, we can try to close the lchan a bit faster than our
lchan release timeout:
* After we've sent LOC UPD ACCEPT and MM INFO
* After a phone has confirmed the RELEASE of a call
2009-12-12 21:00:48 +01:00
Harald Welte 210c850a36 If we're trying to allocate TCH/H but don't have it, fallback to TCH/F
The rationale is as following:

If we have NECI=1, then the phone will request a channel with CHREQ
"0100xxxx Originating speech call from dual-rate mobile station when TCH/H is
 sufficient and supported by the MS for speech calls", then we will try to
allocate a TCH/H [as it is sufficient].

However, if there are no free TCH/H slots on the BTS, we abandon and can't
handle the MO call at all :(
2009-12-12 20:58:20 +01:00
Harald Welte 9385c11727 If we establish a TCH/H voice call, the reason is CALL, not OTHER 2009-12-12 20:57:52 +01:00
Harald Welte 9e2748ed3a [RSL] print human-readable channel type during channel allocation failure 2009-12-12 20:53:23 +01:00
Harald Welte 7322528ca1 [VTY] add more cell reselection parameters to VTY
allow setting of 'cell reselection hysteresis' and 'rxlev access min' from VTY
for experiments with cell reselection.
2009-12-12 18:17:25 +01:00
Harald Welte 1d8dbc4630 print some more RF related information about BTS in VTY 2009-12-12 15:38:16 +01:00
Harald Welte 4bb4738d21 utility functions to convert RXLEV into dBm and vice versa 2009-12-12 15:37:54 +01:00
Harald Welte 854b9b33af fix some integer underflows in MS power calculation 2009-12-12 14:21:16 +01:00
Harald Welte 49685d7bdd Merge remote branch 'origin/master' 2009-12-12 14:11:09 +01:00
Harald Welte d6aa52488a add warning about accept-all network on non-barred cells 2009-12-12 13:44:19 +01:00
Harald Welte 4669f3d9c8 fix compile warning in db.c 2009-12-09 19:19:45 +01:00
Harald Welte 24766091d8 mark lchan2chan_nr() using a 'const' parameter
which fixes some compile warnings at some callers.
2009-12-09 19:18:32 +01:00
Harald Welte 7bcb893eb7 remove execute permission from abis_nm.c 2009-12-06 12:23:47 +05:30
Harald Welte 1085c097e3 location updating reject cause now specified on VTY rather than command line argument 2009-12-06 12:22:59 +05:30
Holger Hans Peter Freyther 7fc57adf16 Fix make distcheck by adding the new headers... 2009-12-06 04:30:00 +01:00
Holger Hans Peter Freyther f49fac2785 [bsc_hack] Ignore the sigpipe...
We might read or write on the OML link when the BTS is
reset and will get SIGPIPE interrupt and be gone... Just
ignore the SIGPIPE we will get the "exception" on the next
run of bsc_select and kill the (old) OML link.
2009-12-06 04:25:05 +01:00
Steffen Neubauer ad69d7f8b2 [sms] trivial: Removed unneeded double check in unbcdify 2009-12-05 12:07:12 +05:30
Harald Welte a897bf3ded [system_information] fix BCCH list generation for GSM900
We have to make sure to skip the global list header
2009-12-05 11:58:24 +05:30
Harald Welte 1dfd0e254a [BS11] don't put invalid channel combination into the config file 2009-12-04 11:23:12 +05:30
Harald Welte d6575f9d29 ip.access: add nanoBTS channel combination constraints 2009-12-02 02:45:23 +05:30
Harald Welte 0603c9d9e5 ip.access speech mode for TCH/H channels 2009-12-02 01:58:23 +05:30
Harald Welte 2c82899135 move RTP socket information from timeslot to lchan
With ip.access, in case of TCH/H, we have one RTP stream for each half-slot
(lchan), not just one per on-air timeslot.  This is quite different from
a classic BTS where the TRAU frames of the two TCH/H channels would be
part of the same 16k sub-slot in a E1 timeslot.
2009-12-02 01:56:49 +05:30
Harald Welte a43f789a0a Replace template-based SYSTEM INFORMATION with real implementation
Before this commit, OpenBSC used templates for the SYSTEM INFO
1, 2, 3, 4, 5 and 6 messages.  Those templates were patched in
various places to reflect the network config like ARFCN.

Now, we actually generate those SI messages ourselves, using
values from the configuration file, and even calculating neighbor
cell lists.

All bts'es that you have configured in OpenBSC will end up in
the neighbor cell list - which should be more than sufficient for
the current small-single-site networks.
2009-12-01 18:04:30 +05:30
Harald Welte 29b9cf8446 make use of new S_GLOBAL_SHUTDOWN signal to properly close pcap_fd
This avoids broken pcap files with partial packets due to non-flushed
buffers.
2009-12-01 17:58:32 +05:30
Harald Welte 3961fcc031 Introduce new S_GLOBAL_SHUTDOWN signal
This is used to notify various parts of OpenBSC that we're shutting
down.
2009-12-01 17:58:26 +05:30
Harald Welte b84ddfc22f Assign default values for T3101 and T3113
Without those default values, old config files will no longer work
after commit 23975e718f
2009-12-01 17:36:54 +05:30
Harald Welte dbb1d88359 [handover] export measurement reports via signal
This patch introduces the S_LCHAN_MEAS_REP signal which is used to export
measurement reports as input to the yet-to-be-written handover algorithm.
2009-11-30 19:16:47 +01:00
Harald Welte 798418a068 [handover] Implement handover control logic
Code to implement handover control logic.  A yet-to-be-implemented
handover algorithm will call bsc_handover_start(old_lchan, new_bts)
to start the handover process.
2009-11-29 22:56:14 +01:00
Harald Welte d011e8b958 [handover] Introduce new handover related LCHAN signals
This introduces the signals S_LCHAN_ACTIVATE_{ACK,NACK} and
S_LCAN_HANDOVER_{FAIL,COMPL,DETECT} as well as code that actually issues
those signals.  The signals are relevant for a yet-to-be-written handover
control logic.
2009-11-29 22:45:52 +01:00
Harald Welte 8c83af65c1 [handover] Implement 04.08 HANDOVER COMMAND
This is needed by a yet-to-be-implemented handover algorithm, after
it has allocated a new lchan for the MS.  Also missing: handling
the actual HANDOVER COMPLETE / FAIL messages in response.
2009-11-29 20:02:53 +01:00
Harald Welte ccd5a8892d print debug statement in case of HANDOVER COMPLETE or HANDOVER FAILED 2009-11-29 20:02:20 +01:00
Harald Welte 3c7dc6ed50 New complete measurement result/report handling
This patch extends struct gsm_meas_rep into a complete structure containing all
information from both uplink and downlink measurement results/reports.

This is a first step to provide this complete measurement data as a C structure
into a to-be-implemented handover decision algorithm.
2009-11-29 19:07:28 +01:00
Harald Welte a5312fdd2b add notes about proposed handover algorithm 2009-11-29 17:41:22 +01:00
Harald Welte 1a79d36440 RSL: catch inconsistent parameters ofr channel_mode_from_lchan() 2009-11-27 08:55:16 +01:00
Harald Welte ad3c844b2d [wireshark] patch to correctly decode SYSTEM INFORMATION on BCCH FILLING 2009-11-26 23:47:21 +01:00
Steffen Neubauer f326267fb7 [SMS] Implement TP-VPF-ENHANCED
While doing so, we also restructure/reorganize the vailidity period
parsing in general.
2009-11-26 12:28:41 +01:00
Holger Hans Peter Freyther 2d501ea26a [vty] Add option to disable RF on a given TRX.
- Make sure that on runtime the Radio Carrier can be
  locked and unlocked. The vty code calls into the
  Abis NM to lock/unlock the channel and the state is
  stored there.

- Make sure that on start the Radio Carries remains
  offline and we are not starting it. On start the
  radio carrier is either locked or unlocked. This means
  the RSL will not connect until the RF is unlocked. It
  will connect then. To see RSL bringup failures one
  needs to parse the RSL nack message.

- When the TRX is locked on startup the RSL link will
  only be established after it will be unlocked.
2009-11-24 13:08:50 +01:00
Holger Hans Peter Freyther 1ce10f3854 [bsc_init] Activate the RC and the RSL link from the Software Activated Callback
On cold start the RSL link will not be brought up. Wait for the
Software to be Activated before starting the RSL link. This is
working reliable on the BTS I have tested with.

This is a partial revert of 8406ec2437 and
was discussed on the mailinglist.
2009-11-24 10:49:59 +01:00
Holger Hans Peter Freyther fdd0ddf7e9 [sms] Fix compile warning by including gsm_data.h
In file included from sms_test.c:27:
../../include/openbsc/gsm_utils.h:33: warning: `enum gsm_band' declared inside parameter list
../../include/openbsc/gsm_utils.h:33: warning: its scope is only this definition or declaration, which is probably not what you want
../../include/openbsc/gsm_utils.h:34: warning: `enum gsm_band' declared inside parameter list
2009-11-22 18:01:42 +01:00
Holger Hans Peter Freyther 4642d4917f [network] Make use of T3113 for paging
Add it to the configuration files and make use
of it in the the paging.c.
2009-11-22 05:28:24 +01:00
Holger Hans Peter Freyther 23975e718f [network] Add config option for the remaining network timers
There are all set to 0 and not used within the code yet but
should be used in the future.
2009-11-22 05:28:23 +01:00
Holger Hans Peter Freyther c4d88ad971 [network] Make T3101 configurable and use it in abis_rsl 2009-11-22 05:28:23 +01:00
Holger Hans Peter Freyther d61654cf54 [chan] Alloc SDCCH for certain reserved types
Follow notes:
    2.) Allocate a SDCCH for type "LMU"
    2a.)Allocate a SDCCH for the three reserved types
    2b.)Pick LCHAN type none to "ignore" the request
2009-11-22 05:28:23 +01:00
Holger Hans Peter Freyther a8816dd9c7 [talloc] Provide a copy of strnlen on OSX
The implementation is taken from a blogspot and I don't think
it is copyrightable...
2009-11-22 05:28:14 +01:00
Holger Hans Peter Freyther 7466351026 [misc] Fix the make distcheck
Mention the two new header files, do not list isdnsync twice
2009-11-20 17:58:52 +01:00