aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_l1_if.cpp
AgeCommit message (Collapse)AuthorFilesLines
2013-08-02bssgp: The method creates and the connects.. reflect that in the nameHolger Hans Peter Freyther1-1/+1
Call things by what they do. This method is creating and then connecting a BSSGP..
2013-08-02pcu_l1_if.cpp: Remove unused method and commentHolger Hans Peter Freyther1-6/+0
pcu_l1_if.cpp:195:13: warning: 'void pcu_l1if_tx_bcch(uint8_t*, int)' defined but not used [-Wunused-function]
2013-07-27misc: Add an option exit/quit when the BSSGP is supposed to be destroyedHolger Hans Peter Freyther1-1/+1
The PCU does not properly re-set the state when the connection to the BTS is lost (and the SGSN potentially is re-started during that). This results in the BSSGP BVCI > 1 remaining blocked and no data will be accepted by the SGSN. Add the '-e' option and exit the PCU when the BSSGP/NS are getting destroyed.
2013-05-13Added timing advance support for up and downlink TBFsAndreas Eversberg1-4/+14
The timing advance of any TBF is stored when it ends. Whenever a new TBF with the same TLLI is created (downlink TBF), the stored TA is recalled. This algorithm assumes that the mobile does not move too fast during transfer. Also the mobile must start a connection in order to get correct initial timing advance. This algorithm does not implement the timing advance procedure as defined in TS 04.60. To implement the standard timing advance procedure, the BTS must decode RACH on certain bursts, the mobile is expected to send them. This requires much more complexity to a transceiver like USRP/UmTRX or Calypso BTS. The algorithm was tested at TA >= 8 and works quite well.
2013-03-17Fix: Correctly display SGSN remote IP at debuggingAndreas Eversberg1-1/+4
2013-03-17Add RSSI of data blocks to PCU interface0.2.00.2Andreas Eversberg1-3/+4
This bumps the PCU API version to 5 and requires osmo-bts >= 0.2.0.
2013-03-10PCU: respect the PCU-side "local port" as configured via L1 IFHarald Welte1-1/+2
This makes sure that the UDP local port of the Gb link is actually set to what is configured via OML from OpenBSC.
2013-01-25Fixed closing of PDCH when enabling sysmo-bts' direct DSP accessAndreas Eversberg1-2/+0
If not compiled with this support, the closing function does not exists, so it must not be called. Removed a "#warning", because closing is already supported.
2012-12-18Adding direct access to DSP of sysmoBTS for PDTCH trafficeAndreas Eversberg1-9/+79
In order to use this feature, sysmoBTS requires option "-M", otherwise the traffic is forwarded through socket interface. This is essential, if PCU runs on processor of sysmoBTS. The reaction time and delay of PDTCH frames could heavily degrade proper packet flow.
2012-12-18Added paging PS support by Ivan KluchnikovAndreas Eversberg1-1/+3
Original code: c7e7f6868b6f24346424dee904f4e76d3f216ff4 (The code was committed earlier, but got lost somehow.) I added IMSI, so the paging request is sent in correct paging group. Also I excluded rest octets from pseudo length. It is tested and it work.
2012-10-03Allow setting of seperate coding schemes for uplink and downlinkAndreas Eversberg1-2/+3
2012-09-27Use PCH confirm from BTS to start downlink packet flowAndreas Eversberg1-0/+23
Since we don't know when the IMM.ASS message is sent on it's paging group on PCH, we will wait for confirm from BTS and start packet flow then.
2012-09-23Fix: Correctly interpret MCC, MNC, CELL ID from BTSAndreas Eversberg1-3/+3
2012-08-07Adding single block allocationAndreas Eversberg1-3/+12
It is mandatory to support it because MS may request a single block. In this case the network must assign a single block. It is possible to force single block allocation for all uplink requests on RACH. (VTY option)
2012-07-20VTY: Added option to force given CS and ignore the scheme given by BTSAndreas Eversberg1-4/+6
2012-07-20Fixed Paging RR on PACCHAndreas Eversberg1-8/+12
Addition to 2b91464862270d72800b6dcc5a521f933fbbd489
2012-07-19Added paging for RR connection on PACCH of active TBFsAndreas Eversberg1-27/+46
Untested
2012-07-18Update to version 3 of PCU socket interface (includes version check)Andreas Eversberg1-0/+7
2012-07-13Changed data structures for TBF and PDCH instances, to allow multislotAndreas Eversberg1-20/+23
The new data structure is required to define slot/TFI assigment for MS with multislot capability. Now there are two lists for TBFs: uplink and downlink. It is possible to have different TBFs with same TFI in the same direction, as long as they are assigned on different timeslots. See tbf.txt for description. Note: This does not implement any multislot support. It defines the new data structure. Currently only the first slot is assigned.
2012-07-13Adding signal handler to allow clean exit of PCUAndreas Eversberg1-0/+2
The signal handler will end the main loop, so clean exit is performed. The allocated memory is dumped in order to detect memory leaks. All talloc functions use tall_pcu_ctx context instead of NULL, to track memory leaks.
2012-07-12Merge branch 'jolly_new'Ivan Kluchnikov1-226/+342
Merge is based on jolly_new branch with two modifications. 1. Modified PCU L1 interface. pcu_l1_if.cpp - common functions for tx and rx messages on L1 interface. sysmo_sock.cpp - SYSMO-PCU socket functions. openbts_sock.cpp - OpenBTS-PCU socket functions. pcuif_proto.h - L1 interface's primitives. 2. Modified encoding of RLC/MAC Control messages, now we use structures and encode_gsm_rlcmac_downlink() function for encode control blocks (without hand-coding).
2012-07-09Send downlink IMMEDIATE ASSIGNMENT on PCH and not on AGCHAndreas Eversberg1-1/+12
The IMSI is used to define paging group on which it is sent. This is tested with MS that requires correct paging group.
2012-07-06Fixed pseudo length of IMMEDIATE ASSIGNMENT message.Andreas Eversberg1-2/+3
The pseudo length may not include the rest-octets, so it stays compatible to non-GPRS phones. At pcu_l1_if.c (OpenBTS) no pseudo length is given, so the frame is only 22 bytes long. I could not test if it works.
2012-07-06Cleanup of BSSGP code.Andreas Eversberg1-5/+0
The hack for resetting BSSGP instance is removed and now performed whenever the NS state changes to UNBLOCKED. The BSSGP instance is now created only once, as it should be. Received STATUS messages are ignored as they should be. The creation and destruction of BSSGP/NS instances is now handled by layer 1 interface alone.
2012-07-06Move BSSGP/NS instances creation and desctruction to gprs_bssgp_pcu.cppAndreas Eversberg1-1/+37
2012-07-03TBF acknowledged mode finished for both link directionsAndreas Eversberg1-0/+4
2012-06-29Implemented Paging procedure on CCCH.Ivan Kluchnikov1-0/+11
Added functions: - gprs_bssgp_pcu_rx_paging_ps() for handling paging message from BSSGP; - write_paging_request() for writing paging request message; - gprs_rlcmac_paging_request() and pcu_l1if_tx_pch() for sending paging request message to BTS.
2012-06-27Work on RLCMAC layer. Integration of scheduler and new packet transferAndreas Eversberg1-11/+7
2012-06-23Split of L1 interface to be used with OpenBTS or sysmo-BTSAndreas Eversberg1-29/+175
The OpenBTS socket functions are moved from main to pcu_l1_if.cpp. New sysmo_l1_if.cpp is introduced. It used special unix socket interface to connect to sysmo-BTS. This is required to access CCCH/RACH and info about cell layout. Traffic is also forwarded via this interface, but it direct access of L1 baseband DSP will be added soon. In order to handle ready-to-send requests above l1_if, the transmit queue (for downlink blocks) is moved to gprs_rlcmac.cpp. The TBF instance additionally holds TRX and TS info, but this is only a hack currently. TBF instance requires more details about allocated ressources in the future.
2012-06-15Removed all OpenBTS dependencies. We don't use OpenBTS cout and gsmtap anymore.Ivan Kluchnikov1-39/+0
2012-06-14move everything to src/ subdirectoryHarald Welte1-0/+213
The code corresponds to commit a9aa4777cc1144897a77dfb6c5c3d7325705251e in openbts-p2.8.git (Tue Jun 12 18:14:49 2012 +0400)