aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2013-05-04measurement: Mark the internal functions as internalHolger Hans Peter Freyther1-2/+0
In terms of assembly code this only removes the ".global FN" from the code. GCC does not attempt to inline it right now.
2013-03-17Get RSSI from received uplink data and send to PCUAndreas Eversberg2-2/+4
This bumps the PCU API version and thus requires a new version of the code on the sysmoBTS side!
2013-03-11Added radio link timeout procedure according to TS 05.08 Chapter 5.2Andreas Eversberg2-0/+2
Chapter 5.2 applies to MS procedure, but 5.3 (BSS procedure) defines no exact criterion, so I decided to use the procedure equivalent to MS. The criterion is based on a counter S, which is initialized to a preset RADIO_LINK_TIMEOUT, which can be configured via VTY. Whenever a received SACCH block is bad, S is counted down by one. If SACCH block is successfully decoded, S is counted up by two, but never above initial RADIO_LINK_TIMEOUT value. If S reaches 0, an RSL Connection Failure Indication with cause RF Radio Link Failure is sent to BSC, which then aborts channel. Use link timeout value from BSC via OML attribute. How to test: - Set "debug" for "meas" logging. - Start silent call to an attached mobile. - Remove battery from mobile or shield mobile. - Watch S count down.
2013-02-27sysmobts: Improve the shutdown of the DSP on exitHolger Hans Peter Freyther1-0/+1
Issue the RfDeactivate.REQ before sending the MphClose.REQ. Ideally we would issue MphClose.REQ after the RfDeactivate.CNF but this is not possible right now. The current approach makes the following warning of the DSP go away on shutdown. This was tested with my E71 and an active silent-call using a SDCCH. DSP Warning: [ERROR] : DeviceMng_ValidateL1Handle() => Invalid layer 1 handle
2013-02-04Deprecate the "rtp bind-ip" configuration directiveHarald Welte1-1/+0
Instead of explicitly having to specify the local IP address for RTP sockets in the BTS, we just use "0.0.0.0" instead, which gets translated to INADDR_ANY. We still accept the configuration directive in old config files, but when we write, the line will no longer be re-written to the file. TODO: IMHO, the IPA RSL CRCX/MDCX actually permit the BSC to specify the IP address on the BTS side, and we probably simply ignore this at this point.
2013-01-13paging: De-duplicate paging lifetime and max queue length variablesDaniel Willmann2-2/+8
These attributes are saved in paging_state, we don't need to save them a second time in struct gsm_bts_role_bts. Add get and set methods for these attributes and use them consitently in the VTY code.
2012-12-26ciphering: Handle ciphering support for A5/3 correctlyHolger Hans Peter Freyther1-1/+7
This was found and debugged by Sylvain. The BTS will always support A5/0 so we do not keep track of that, the first bit of the flags is used for A5/1, second for A5/2... but for RSL there is an offset to go from RSL to A5(x). Add a testcase and change the code.
2012-12-22misc: Package our version of the gsm_data.h to make the code compilableHolger Hans Peter Freyther1-0/+2
The sharing with OpenBSC is not complete yet. We will need to include our version of gsm_data.h instead of the normal OpenBSC version.
2012-12-22misc: Fix the make distcheck of the osmo-bts codeHolger Hans Peter Freyther1-1/+1
* Comment out the osmo-bts-bb/Makefile as we have removed it from the SUBDIRS and are not packaging the code right now * Add missing include files for the build
2012-12-20openbsc: Prepare to allow to have the OpenBSC directory somewhere elseHolger Hans Peter Freyther1-1/+1
Right now osmo-bts requires access to one OpenBSC header file and this requires that openbsc and osmo-bts git are in the same directory. Begin with making the location of the OpenBSC sourcecode configurable. This approach will allow to build osmo-bts on our Jenkins installation but now has the risk of more code including the openbsc/*.h header files.
2012-12-20misc: Change the method to return void instead of int and garbageHolger Hans Peter Freyther1-1/+1
The method was not returning anything and the callers did not use the result. Change it to void for now.
2012-12-20misc: Include pcu_if.h for pcu_tx_pag_req in rsl.c and make it constHolger Hans Peter Freyther1-1/+1
The rsl.c code was calling the paging request with a const pointer, change the signature to make the code const.
2012-12-20misc: Forward declare the load_timer_start to address compiler warningHolger Hans Peter Freyther1-0/+2
2012-11-24Add VTY configuration of paging queue size and lifetime of paging recordsHarald Welte2-0/+7
This may be adding bells and whistles that nobody wants to touch, but at least for current analysis/optimiziation they are useful to have. Later on they should probably be removed again and/or obsoleted by OML messages for configuration of paging behaviour by the BSC.
2012-09-29PCU: Add PCH confirm, raise PCU interface version to 4Andreas Eversberg2-1/+4
The confirm is required, so PCU knows when an IMMEDIATE ASSIGN message has has been sent on PCH. The PCU will start packet flow after that confirm.
2012-07-25vty: Remove TS_NODE and LCHAN_NODE as they are not used.Holger Hans Peter Freyther1-2/+0
2012-07-21Send RR paging requests to PCU, in order to page on PACCHAndreas Eversberg1-0/+1
2012-07-21Enable direct access to PDTCH queue of DSP by PCUAndreas Eversberg1-1/+10
Use "-P -M" to enable PCU and direct access.
2012-07-16logging: Fixed order of logging categories in enum listAndreas Eversberg1-1/+1
The enum list must have the same order as the logging description structure. Otherwiese libosmocore will crash when writing loglevels at VTY.
2012-07-16PCU: Add verion number of PCU interface to PCU INFO IND messageAndreas Eversberg1-0/+3
The client (PCU) can check if it is compiled with a different version.
2012-07-08PCU: Add PCU socket interface to BTS.Andreas Eversberg3-1/+20
A special command line option "-P" is used to enable socket interface and signal available GPRS MO object to BSC.
2012-07-08PCU: Add PCU socket interface prototype header fileAndreas Eversberg1-0/+138
2012-07-08debug: Add new debugging class for PCU interface (DPCU)Andreas Eversberg1-0/+1
2012-07-08signal: Add signals for setting/change of GPRS MO attributesAndreas Eversberg1-0/+4
2012-07-08paging: Alow to store CCCH messages in paging recordsAndreas Eversberg1-0/+4
This is required for PCU to send IMMEDIATE ASSIGNMENT messages on PCH. A message in a paging record is sent only once.
2012-06-15RSL: Add CCCH LOAD INDICATION for RACHHarald Welte2-0/+6
We now count the total number of RACH slots, the number with rx level above the busy threshold, and the number of valid access bursts. This data is used to generate RSL CCCH LOAD INDICATION for the RACH.
2012-06-14attempt to make CCCH Load Indications for PCH workHarald Welte2-1/+5
2012-06-03sysinfo: Make our SI scheduling more completeHarald Welte1-0/+3
We now implement the fairly complex rules for schedulign of SI 2bis/2ter/2quater, 13 and 9 on TC=4 and TC=5 of the BCCH Norm. The patch is currently untested.
2012-04-19lchan: Send the ACT ACK/NACK after the Layer1 has handled act/deactHolger Hans Peter Freyther1-0/+1
Send the RSL ACT ACK/NACK after the Layer1 firmware has acked the activation/deactivation. In case the channel can not be activated we will send a NACK. In case the channel can not be deactivated we will send an ACK and the next time the channel is activated we will send a NACK. The release ack will be sent once the TxDownlink of the TCH/SDCCH is closed. Change the rsl_tx_chan_nack method to create a new msgb to be used by the hardware layer, change the return value to ask the caller to delete the msgb.
2012-04-19lchan: Similar to OpenBSC use a set method to change the stateHolger Hans Peter Freyther1-0/+3
By making all modifications through lchan_set_state we can easily add code to verify the state transition.
2012-04-19ciphering: Better state tracking and HACK around L1 race conditionHarald Welte1-0/+8
We now check if the received message is an LAPDm I frame in order to determine if we have received the first valid encrypted message on the radio link. This relates to the fact that we often see 'old' UI frames coming up from L1, even after it has confirmed decryption has been enabled.
2012-03-18Ensure that ADM_STATE IE is presnent when sending NM_MT_CHG_ADM_STATE_ACKHarald Welte1-0/+1
2011-12-11bts.h: lchan_init_lapdm is listed twice, remove oneHolger Hans Peter Freyther1-2/+0
2011-12-01paging: Provide functions to check the internal state of the paging systemHolger Hans Peter Freyther1-0/+5
2011-11-24RSL: Actually check if BSC-requested cipher is supportedHarald Welte1-0/+3
2011-11-07audio: Make bts_model_rtp_rx_cb compatible with the prototypeHolger Hans Peter Freyther1-1/+1
2011-10-12add VTY based way to set clock calibration of sysmobts L1Harald Welte1-0/+3
2011-09-19fix various compiler warnings across the codeHarald Welte2-0/+4
this deals with unused cocde, unused variables and undeclared symbols in various places.
2011-09-09Introduce new amr.[ch] for AMR related functionsHarald Welte2-1/+15
2011-09-08add commands to configure RTP jitter bufferHarald Welte1-0/+1
there's one global setting for the BTS default value, plus an interactive command to change the buffer of an active lchan on the fly
2011-09-04add minimal configuration file supportHarald Welte2-1/+6
this config file allows configuration of unit id, oml ip, and local rtp bind IP.
2011-09-03Add new ORTP based libosmo-trau based voice supportHarald Welte1-0/+3
Using osmo-bts-sysmo and this code, it is now possible to do FR and AMR based voice calls on TCH/F. A lot of CPU is wasted in the conversion between the RTP formats and the L1 specific formats for the codec frames. All data needs to be shifted by four bits, and the order of bits needs to be reversed in every byte.
2011-07-21Use libosmotrau for RTP supportHarald Welte1-1/+1
This only implements creating, binding, connecting and free'ing RTP sockets, not yet anything regarding receiving or transmitting codec frames on them. You will need the rtp branch of libosmocore for libosmotrau
2011-07-21remove old RTP code from osmocom-bb/jolly/bts branchHarald Welte1-47/+0
Instead, I will base on the existing RTP code in openbsc
2011-07-05logging: Add DSP log subsystemHarald Welte1-0/+1
2011-07-01fix various compiler warningsHarald Welte1-0/+5
2011-07-01fix BTS initialization orderHarald Welte1-1/+1
The sequence is as follows: 0) start osmo-bts 1) start connection attempts to BTS 2) issue L1-RESET.req 3) receive L1-RESET.conf 4) issue RF-ACTIVATE.req 5) receive RF-ACTIVATE.conf 6) receive attributes for TRX 7) receive opstart for TRX 8) issue MPH-INIT.req [...] The important point here is: We don't want the BSC to set TRX attributes or do TRX opstart before our RF related hardware is initialized.
2011-06-29deactivate RF + exit when the Abis link is goneHarald Welte2-0/+3
The idea is that the BTS process is re-spawned from init/upstart/systemd
2011-06-29implement baseic uplink measurement processing + reportingHarald Welte2-1/+15
* gather measurements from each PH-DATA.ind * check every TDMA frame about meas period expiration * compute averages after period expired * put MS DL MEAS REP into RSL MEAS RES messages, include UL meas bugs: * L3 INFO content seems to have some offset * is_sub is not set anywhere * measurement periods might have up/downlink offset
2011-06-28implement RSL DEACTIVATE SACCHHarald Welte1-0/+1