aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gsm_data.c
AgeCommit message (Collapse)AuthorFilesLines
2010-01-08[on-waves] Use a default rtp_base_port, write it out in the configHolger Hans Peter Freyther1-0/+1
Currently "write memory" will not store the rtp_base_port of the network. Fix that by writing it out in write_net. Also set it to 4000 by default in the MGCP and in the BSC.
2010-01-07[bssap] Allow to use a different country code tooHolger Hans Peter Freyther1-0/+1
* Be able to have a country code in the air but use a different country code when talking to the core network. * Now both country and network code can be different on air and on the MSC communication.
2010-01-05[bsc_msc_ip] Turn the MNC hack into a config optionHolger Hans Peter Freyther1-0/+2
* Make it possible to have a different MNC in the RSL traffic than in the core network. * Introduce the "core network code NUMBER" variable. If it is set this network code will be used in traffic with the MSC. * Use the core_network_code number when sending a packet to the MSC * Regenerate the LAI (this is where I could have a bug) when sending packets to the BTS. * Add size checks. This is not tested, I might got something wrong.
2009-12-21[handover] Real handover algorithmHarald Welte1-0/+8
This implements the handover algorithm (and associated parameters) as described in Chapter 8 of the book "Performance Enhancements in a Frequency |Hopping GSM Network" by Thomas Toftegard Nielsen and Jeroen Wigard. The parameters such as averaging windows are configured in struct gsm_network. We keep some state to trakc up to 10 neighbors as they are being reported from the MS. This has so far only been tested in a network with two BTS that have each other as neighbor. Networks with morge neighbors might encounter bugs.
2009-12-15introduce cache of 6 last recently received measurement reports for each lchanHarald Welte1-0/+13
2009-12-15add BSIC parameter to gsm_bts_neighbor()Harald Welte1-2/+4
When looking for the gsm_bts of a neighbor cell, use BSIC and ARFCN tuple rather than just ARFCN for better identification purpose.
2009-12-14Implement gsm_bts_neighbor() function to determine neighbor BTSHarald Welte1-0/+17
We will need this for the actual handover algorithm implementation, as we will only know the current BTS and the BCCH ARFCN of the strongest cell in the measurement reports. Using this new function, we can resolve the matching gsm_bts.
2009-12-14system_information: use bitvec to generate frequency listsHarald Welte1-0/+6
We use a 1024-bit-sized bitvec to generate the BA and neighbor frequency list. This bitvec is still generated from the list of all BTS's inside the BSC, but this patch is the first step to generalize this, i.e. generate arbitrary neighbor lists.
2009-12-13[RRLP] make RRLP mode configurable from config fileHarald Welte1-0/+23
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-12[VTY] add more cell reselection parameters to VTYHarald Welte1-0/+2
allow setting of 'cell reselection hysteresis' and 'rxlev access min' from VTY for experiments with cell reselection.
2009-12-01Assign default values for T3101 and T3113Harald Welte1-0/+3
Without those default values, old config files will no longer work after commit 23975e718fd456ff8be7effbb915903f1bc173be
2009-11-24[vty] Add option to disable RF on a given TRX.Holger Hans Peter Freyther1-0/+1
- 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-12move 'struct value_string' and 'get_value_string()' to gsm_dataHarald Welte1-0/+13
2009-10-29[misc] Use talloc_zero instead of talloc and later memsetHolger Hans Peter Freyther1-6/+3
2009-10-26[USSD] various USSD improvementsMike Haben1-1/+1
- Improved handling of extension-number string (as per review) - Guard against a buffer-overflow if mobile sends a too-long USSD - declare some function-parameters const - fix gsm_ts_name function to display the right BTS number (bts->nr rather than bts->bts_nr)
2009-10-24[GPRS] introudce PDCH and PDCH/TCH physical channelsHarald Welte1-0/+2
GPRS needs PDCH (Packet Data Channels), and we need support in our data model as well as OML and RSL for it
2009-10-24[GPRS] add data structures for OML of NSE,CELL,NSVCEHarald Welte1-0/+6
Supporting GPRS means we have a number of additional OML objects to deal with. We need to extend our gsm_bts structure to at least include the nm_state for each of those objects.
2009-10-05[ipaccess] Add nanoBTS 1900 supportMike Haben1-2/+1
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-01[lac] Do not use the reserved LAC 0x0 for two different thingsHolger Hans Peter Freyther1-1/+1
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-09-28[paging] Use one of the two reserved LAC to page every BTSHolger Hans Peter Freyther1-1/+1
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-08-13add 'ms max power' vty command to set the maximum MS power in dBmHarald Welte (local)1-0/+1
2009-08-12add a authorization policy field to the network and VTYHarald Welte (local)1-0/+23
this is not being used yet
2009-08-08the actual config file code (not just config files)Harald Welte1-2/+9
this was missing from commit a08a9acdb6bff0ee4fdf0f58b78b6525017a1f9f
2009-08-08parse_btstype() can use const qualifierHarald Welte1-1/+1
2009-08-07implement gsm_pchan_parse() functionHarald Welte1-0/+12
2009-08-06change order of BTS and TRX list as well as band names for prettier printoutHarald Welte1-7/+7
2009-06-29the pointer "tall_bsc_ctx" belongs to the gsm_data.c file not to include file.Andreas Eversberg1-0/+2
2009-06-21switch to dynamically allocated BTS and TRX data structuresHarald Welte1-51/+100
This makes it much easier to do run-time configuration using the vty interface.
2009-06-20Introduce BS and MS power control related functionsHarald Welte1-0/+37
* add bts->band field plus corresponding VTY and commandline argument * add trx->nominal_power and trx->max_power_red fields * add rsl_chan_bs_power_ctrl() to control TRX RF power for a given TS * add rsl_chan_ms_power_ctrl() to control MS RF power for a given lchan.
2009-06-14Merge branch 'mncc-harald'Harald Welte1-2/+8
2009-06-12make btstype2str return a const char* to make gcc 4.4 happyHolger Hans Peter Freyther1-1/+1
2009-06-10reworked MNCC codebaseHarald Welte1-2/+8
This is Harald's reworked MNCC base, slowly heading towards integration into master. The key changes are: * provide much more structure to the data in gsm_mncc * encode_* and decode_* functions now take a structure rather than tons of individual arguments (whose order nobody can remember) * make sure we don't have copies of the same code everywhere by introducing mncc_set_cause() and mncc_release_ind() * save horizontal screen space if possible * make sure we break lines > 80 characters
2009-06-10move openbsc into its own subdirectoryHarald Welte1-0/+209