aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
AgeCommit message (Collapse)AuthorFilesLines
2015-07-20vty: Add commands to manually activate/deactivate a channel.Alexander Chemeris1-0/+60
This is a hack, but it's the easiest way to make BTS level loopback to work. Another way to implement this is to have BSC/NITB to send the OML command. Note, that the current code hardcode the channel to be TCH/F which is what we need for the BER testing.
2015-07-20l1sap: Fix use-after-free in loopback mode.Alexander Chemeris1-3/+11
2015-07-17debian: Add gsm_data_shared.c file to make packaging possibleIvan Kluchnikov1-1/+521
2015-04-07abis: Add support of libosmo-abis v 0.3.0Ivan Kluchnikov2-1/+2
2014-12-16handover fix: we can receive handover rach on trx == bts->c0Ivan Kluchnikov1-1/+1
2014-04-06handover fix: handover_frame must call handover_reset, not itselfAndreas Eversberg1-1/+1
2014-04-06ABIS: Support of multiple RSL connections for ABIS/ipaccessAndreas Eversberg2-17/+30
2014-04-06HACK: Make ABIS work when reestablishingAndreas Eversberg2-2/+8
2014-04-06Fix: Call e1inp_vty_init() before reading config fileAndreas Eversberg1-1/+0
2014-04-06Allow TRX 0..254 at VTY, even if less TRX are availableAndreas Eversberg1-5/+4
Instead of limiting the number of TRX at VTY to the actual number of supported TRX, VTY allows to configure any possible number of TRX. If a TRX is configured, which is not supported by BTS model, an error message is returned, which states that the given TRX is not supported.
2014-04-06Fix: Retrieve ARFCN (from OML) for TRX other than C0Andreas Eversberg1-0/+19
2014-04-06Fix: Process all TRX on GSM Time indication, not only C0Andreas Eversberg1-4/+5
2014-04-06TRX: Fixup ciphering state names after rebasingAndreas Eversberg1-0/+1
2014-04-06Allow one or more TRX to configure via VTYAndreas Eversberg1-2/+4
2014-04-06Change to new structure of multirate at gsm_data_shared.hAndreas Eversberg2-16/+19
2014-04-06Get RSSI from received uplink data and send to PCUAndreas Eversberg1-0/+1
2014-04-06TRX: Implementation of MS power and timing advance loopsAndreas Eversberg1-0/+6
2014-04-06Introduce bts_model_abis_close to indicate ABIS link failure.Andreas Eversberg2-1/+4
sysmocom-bts model shuts down on link loss, but other models may not want this, so shutdown is moved tor bts_model_abis_close of osmo-bts-sysmo.
2014-04-06Introduce osmobts-trx, a layer 1 implementation for OpenBTS tranceiversAndreas Eversberg1-0/+6
The code is quite complete, TCH and PDCH channels are not yet tested.
2014-04-05ABIS: Support for multiple RSL connectionsAndreas Eversberg1-1/+2
2014-04-05Move detection of handover frames from sysmo-bts code to common codeAndreas Eversberg1-0/+5
2014-04-05Move gsmtap VTY commands from osmo-bts-sysmo to common partAndreas Eversberg1-2/+91
2014-04-05Send primitives at PH-/MPH-/TCH-SAP interface via GSMTAPAndreas Eversberg1-0/+167
2014-04-05Move loopback control VTY commands from osmo-bts-sysmo to common partAndreas Eversberg1-0/+38
2014-04-05Correctly fill system information messages from BSCAndreas Eversberg1-2/+7
SI 5*/6 require L2 header of 0x03,0x03. All SI might be less than 23 octets, so they need to be filled with 0x2b.
2014-04-05sysmobts: Clean up transitions for lchan cipher stateAndreas Eversberg1-1/+0
There are three transitions: 1. LCHAN_CIPH_NONE -> LCHAN_CIPH_RX_REQ -> LCHAN_CIPH_RX_CONF It is used to enable ciphering in RX (uplink) direction only. 2. LCHAN_CIPH_RX_CONF -> LCHAN_CIPH_RX_CONF_TX_REQ -> LCHAN_CIPH_RXTX_CONF It is used to additionally enable ciphering in TX (downlink) direction. 3. LCHAN_CIPH_NONE -> LCHAN_CIPH_RXTX_REQ -> LCHAN_CIPH_RX_CONF_TX_REQ -> LCHAN_CIPH_RXTX_CONF It is used to enable ciphering in both TX and RX directions. This is used when the channel is activated with encryption already enabled. (assignment or handover) In order to follow the order of these transitions, the RX direction must always be set before the TX direction. If no cipher key is set (A5/0), ciphering is set to ALG 0, but lchan cipher state remains at LCHAN_CIPH_NONE.
2014-04-05Add MEAS (MPH_INFO) IND message to PH-/MPH-/TCH-SAP interfaceAndreas Eversberg1-0/+32
This part moves processing of measurement infos from osmo-bts-sysmo to common part.
2014-04-05Add SDCCH/SACCH/FACCH messages to PH-/MPH-/TCH-SAP interfaceAndreas Eversberg1-2/+179
This part moves control channel message primitives from osmo-bts-sysmo to common part. In order to control ciphering fo BTS model, CIPHER (MPH_INFO) messages are used.
2014-04-05Add TCH messages to PH-/MPH-/TCH-SAP interfaceAndreas Eversberg2-2/+152
This part moves TCH handling from osmo-bts-sysmo to common part. The RTP handling is done at the common part, so they can be used by other BTS models.
2014-04-05Move chan act/rel/modify from bts_model to PH-/MPH-/TCH-SAP interfaceAndreas Eversberg4-17/+164
This part replaces channel activation/deactivation/modification routines by MPH_INFO messages.
2014-04-05Relace bts_model_get_time() by get_time() at common partAndreas Eversberg2-1/+10
2014-04-05Add TIME (MPH_INFO) IND messages to PH-/MPH-/TCH-SAP interfaceAndreas Eversberg1-0/+50
This part moves GSM time handling from osmo-bts-sysmo part to common part.
2014-04-05Add PDCH messages to PH-/MPH-/TCH-SAP interfaceAndreas Eversberg2-5/+92
This part moves PDTCH, PACCH and PTCCH message primitives from osmo-bts-sysmo to common part.
2014-04-05Add PCH/AGCH message to PH-/MPH-/TCH-SAP interfaceAndreas Eversberg1-0/+8
This part moves PCH and AGCH message primitives from osmo-bts-sysmo to common part.
2014-04-05Add RACH message to PH-/MPH-/TCH-SAP interfaceAndreas Eversberg1-0/+69
This part moves RACH message primitives from osmo-bts-sysmo to common part.
2014-04-04Add BCCH message to PH-/MPH-/TCH-SAP interfaceAndreas Eversberg2-1/+151
This first part moves BCCH message primitives from osmo-bts-sysmo to common part. A new file "common/l1sap.c" is introduced to implement handling of layer 1 messages from/to BTS model.
2014-04-03oml: Pass all valid state change requests to the modelJacob Erlbeck1-5/+4
Currently ADM state change request that tries to set the administrative state to the current value are immediately ACK'ed. Beside the caching problem, this could lead the protocol inconsistencies if two such requests are sent one after the other and the second arrives before the procedure of the first has finished. This patch removes the shortcut in oml_rx_chg_adm_state() which immediately called oml_mo_statechg_ack(mo). Ticket: OW#1132 Sponsored-by: On-Waves ehf
2014-03-27agch/pcu: Fix crash for AGCH commands queued by the PCUHolger Hans Peter Freyther1-1/+2
The dequeue code assumed that msg->l3h is a valid pointer but in the case of the PCU socket it was a null pointer. This lead to memcpy copying a lot more than 23 bytes which ultimately lead to a crash. The issue was introduced in the git commits 37c332e5bfdb9591a1cd3cc6746afffdb1cd13b9 and the commit d290ee029a827c870f97372b98f0dbd7d057402a. use msg->l3h = msgb_put(msg, len) to make sure that there is a valid L3 pointer for the message. (gdb) bt #0 0x419d6384 in memcpy () from /tmp/ow/lib/libc.so.6 #1 0x0001894c in bts_ccch_copy_msg (bts=0x62248, out_buf=0x62248 "p\025\003", gt=0x1, is_ag_res=100684) at bts.c:572 #2 0x0000c958 in handle_ph_readytosend_ind (rts_ind=<optimized out>, fl1=0x62e78) at l1_if.c:515 #3 l1if_handle_ind (fl1=0x62e78, msg=0x8bb08) at l1_if.c:920 #4 0x000147e8 in read_dispatch_one (queue=<optimized out>, msg=0x8bb08, fl1h=<optimized out>) at l1_transp_hw.c:190 #5 l1if_fd_cb (ofd=0x62f04, what=<optimized out>) at l1_transp_hw.c:224 #6 0x41b9d028 in osmo_select_main (polling=<optimized out>) at select.c:158 #7 0x0000b204 in main (argc=<optimized out>, argv=<optimized out>) at main.c:384 (gdb) p *msg $12 = {list = {next = 0x100100, prev = 0x200200}, {dst = 0x0, trx = 0x0}, lchan = 0x0, l1h = 0x0, l2h = 0x0, l3h = 0x0, l4h = 0x0, cb = {0, 0, 0, 0, 0}, data_len = 23, len = 23, head = 0x8572c "-\006?\020\r\340*q\224#", tail = 0x85743 "", data = 0x8572c "-\006?\020\r\340*q\224#", _data = 0x8572c "-\006?\020\r\340*q\224#"}
2014-03-26oml: Indicate the kind of object passed as the void*Holger Hans Peter Freyther1-3/+3
These routines do not pass the gsm_abis_mo and parsing the FOM header of the msg does not seem to be a good idea either. Pass in the OML object so that the model code can determine what the void pointer is.
2014-03-12misc: Fix the build breakage now that we have btsconfig.hHolger Hans Peter Freyther2-0/+4
Include the btsconfig.h for the PACKAGE_VERSION variable.
2014-03-10agch: Remove obsolete commentJacob Erlbeck1-1/+0
Use of configuration variables has already been implemented here, so the TODO comment is removed. Sponsored-by: On-Waves ehf
2014-03-10handover: Add generic handling for handoverAndreas Eversberg1-0/+112
The BTS layer needs to inform the handover code when an access burst has been received. In turn the handover layer will ask the bts to modify the channel, it will schedule the physical information inform the BSC with the HANDOVER DETECTION and waits for the BTS layer to inform it about the first received frame to stop a timer.
2014-03-10handover: Set basic values for handover, remember the activation reasonAndreas Eversberg5-3/+67
Introduce the handover.h/handover.c and initialize handover parameters in OML and remember the activation through RSL.
2014-03-10handover: Implement generating HANDOVER DETECTION in rsl_tx_hando_detAndreas Eversberg1-0/+22
2014-03-10handover: Introduce debug area for handover related itemsAndreas Eversberg1-0/+6
2014-03-10agch: Merge IMM.ASS.REJ if possible when enqueueingJacob Erlbeck1-0/+140
This patch implements merging of IMMEDIATE ASSIGN REJECT messages as suggested in GSM 08.58, 5.7. When a new IMM.ASS.REJ is to be appended to the AGCH queue and the last message in that queue is of the same type, the individual entries (up to 4 per message) of both messages are extracted, combined and stored back. If there are less than 5 entries, all entries fit into the old message and the new one is discarded. Otherwise, the old message will contain 4 entries and the remaining ones are stored into the new one which is then appended to the queue. Ticket: SYS#224 Sponsored-by: On-Waves ehf
2014-03-10agch: Add VTY queue management configurationJacob Erlbeck1-0/+43
This patch adds the following VTY commands to tune AGCH queue handling: agch-queue-management default agch-queue-management threshold THRES low LOW high HIGH Examples: agch-queue-management default Resets queue management to default parameters. agch-queue-management threshold 0 low 25 high 75 Start dropping at 25%, drop all messages above 75% queue length (relative to max queue length corresponding to T3126). Between low and high, drop with a probability interpolated linearly between 0 (low) and 1 (high). agch-queue-management threshold 50 low 0 high 0 Start dropping at 50% and continue until all IMM.ASS.REJ have been removed from the front (output) of the queue Sponsored-by: On-Waves ehf
2014-03-10agch: Manage AGCH queue lengthJacob Erlbeck1-9/+98
Currently, the AGCH queue length is not limited. This can lead to large delays and network malfunction if there are many IMM.ASS.REJ messages. This patch adds two features: - Don't accept msgs from the RSL layer when the queue is way too full (safety measure, mainly if bts_ccch_copy_msg() is not being called by the L1 layer, currently hard coded to 1000 messages) - Selectively drop IMM.ASS.REJ from the queue output depending on the queue length Ticket: SYS#224 Sponsored-by: On-Waves ehf
2014-03-10agch/pch: Use PCH for AGCH msgsJacob Erlbeck2-4/+16
This patch extends paging_gen_msg() by adding an output parameter is_empty that is true, if only a paging message with dummy entries has been placed into buffer. This feature is then used by bts_ccch_copy_msg() to insert an AGCH message if is_empty is true. Ticket: SYS#224 Sponsored-by: On-Waves ehf
2014-03-10agch: Add simple countersJacob Erlbeck2-0/+9
Counters are added for the following events (use VTY show to query): - Dropped IMMEDIATE ASSIGN REJECT messages - Merged IMMEDIATE ASSIGN REJECT messages - Rejected AGCH messages - Use of PCH (non-reserved) for AGCH messages - Use of AGCH (reserved) for AGCH messages Sponsored-by: On-Waves ehf