aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2012-07-13Adding signal handler to allow clean exit of PCUAndreas Eversberg4-4/+58
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-13Removed unnecessary test for tbf.Ivan Kluchnikov1-5/+0
2012-07-13Removed obsolete if-conditionAndreas Eversberg1-4/+0
2012-07-13logging: Add vty to allow definition/storage of debug levelsAndreas Eversberg2-4/+48
Note: This requires new libosomocore that allows to compile VTY headers with C++.
2012-07-13VTY implementationAndreas Eversberg2-0/+126
2012-07-12Merge branch 'jolly_new'Ivan Kluchnikov20-2369/+3586
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 Eversberg6-23/+69
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-07Fixed return value of pcu_l1if_open() when connection to BTS failsAndreas Eversberg1-1/+1
If connection fails, a retry timer is used to try again. This is not an error.
2012-07-06Restructured debugging levels to get better overview of TBFs/processesAndreas Eversberg5-134/+142
Only when using LOGL_DEBUG, every detailled information is displayed. When using LOGL_INFO, a summary of the process is displayed. When using LOGL_NOTICE, only errors and warnings like timeouts or invalid received informations are displayed. When using LOGL_ERROR, only local error like software errorss are displayed.
2012-07-06Fixed pseudo length of IMMEDIATE ASSIGNMENT message.Andreas Eversberg4-18/+24
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-06Minor fix of MCC, MNC optionsAndreas Eversberg1-2/+2
2012-07-06Cleanup of BSSGP code.Andreas Eversberg6-93/+24
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 Eversberg4-1/+182
2012-07-06Adding MCC/MNC spoof options to pcu_main.cppAndreas Eversberg1-2/+60
The option added is required to change PLMN that is announced to SGSN. This allows BTS to have a different PLMN. (Usefull for roaming in conjunction with simlock.)
2012-07-06RLC/MAC process makes use from attributes, received from PCU socketAndreas Eversberg4-26/+54
For OpenBTS interface and BSSGP, fixed values are still used.
2012-07-06Receive cell informations via PCU socket interfaceAndreas Eversberg4-16/+87
These informations provide RAI, timers, counters and other attributes to the BSSGP and RLC/MAC processes. The attributes are stored in gprs_rlcmac_bts global structure.
2012-07-06remove dependencies to openbsc/osmoggsn internalsHarald Welte6-31/+16
...and link against libosmogb (part of libosmocore.git)
2012-07-03TBF acknowledged mode finished for both link directionsAndreas Eversberg12-798/+1618
2012-06-29Implemented Paging procedure on CCCH.Ivan Kluchnikov5-1/+68
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-29Fixed DL TBF establishment on CCCH.Ivan Kluchnikov3-30/+6
We shouldn't use paging procedure for DL TBF establishment, if we didn't receive paging message from BSSGP.
2012-06-27Adding .gitignore to source directoryAndreas Eversberg1-0/+6
2012-06-27Modified encoding of Packet Downlink Assignment and Packet Uplink Ack/Nack ↵Ivan Kluchnikov2-145/+80
messages. Removed hand-coding of RLC/MAC Control messages, now we use structures and encode_gsm_rlcmac_downlink() function for encode control blocks.
2012-06-27Work on RLCMAC layer. Integration of scheduler and new packet transferAndreas Eversberg11-200/+349
2012-06-27Rewrite of RLC/MAC uplink acknowledged TBF.Andreas Eversberg1-0/+473
It uses history buffer and sends ack/nack control messages about received blocks. It defragments the blocks and forwards them to upper layer. It does content resolution and ignores other MS. It sends final ACK after all blocks have been sucessfully received. Timers are used to detect loss of uplink, and repeat lost final ACK.
2012-06-27Introducing scheduler to process transmission of blocksAndreas Eversberg1-0/+176
The scheduler is triggered at ready-to-send-requesst. It schedules control blocks, data block and dummy blocks, depending on priority. It provides upstream ressource by setting USF. The ressources are assigned, if required. The ressources are dispatched round-robin. In case of polling, the upstream ressource is given to MS at the time it will respond to polling request.
2012-06-26Fixed Downlink TBF Establishment on CCCH.Ivan Kluchnikov1-2/+16
UL TBF should be released before DL TBF establishment on CCCH. Added delay after transmitting Immediate Assignment.
2012-06-26Merge branch 'jolly'Ivan Kluchnikov9-209/+914
Merged jolly branch with master, fixed conflicts.
2012-06-25Packet Downlink Assigment now uses ARFCN/TN of current BTS layoutAndreas Eversberg3-14/+19
Now the MS receives dowlink LLC frames.
2012-06-24Fixed IMM.ASS messageAndreas Eversberg1-2/+2
Now packets are reassembled correctly.
2012-06-23Hack to slow down uplink transferAndreas Eversberg2-10/+14
2012-06-23Split of L1 interface to be used with OpenBTS or sysmo-BTSAndreas Eversberg8-188/+864
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-23Adding more OpenBSC object files to Makefile.amAndreas Eversberg1-1/+8
This is required, so it works in my environment. Might be revised soon.
2012-06-18remove dependencies to openbsc/osmoggsn internalsHarald Welte6-23/+15
...and link against libosmogb (part of libosmocore.git)
2012-06-17Improvement of TBF management.Ivan Kluchnikov3-233/+561
Added functions for TBF allocation, establishment, data transfer and release management. Modified TBF structure, added list for several LLC PDUs in one TBF. Added function gprs_rlcmac_tx_llc_pdus() providing transmission of several LLC PDUs in one TBF to MS.
2012-06-15Removed all size_t variables. Fixed type of readIndex and writeIndex variables.Ivan Kluchnikov3-19/+19
We use unsigned int type for readIndex and writeIndex parameters in bitvec_read_field() and bitvec_write_field() functions.
2012-06-15Removed all OpenBTS dependencies. We don't use OpenBTS cout and gsmtap anymore.Ivan Kluchnikov4-52/+7
2012-06-14Makefile.am: Don't link lots of openbsc / sgsn / ggsn internal .o filesHarald Welte1-13/+0
this is probably a historic relict. None of them should be used, and I cannot see any actual use of them either. The only non-library code that we link now is libosmo-gb (ns/bssgp), which soon will be turned into a real library.
2012-06-14Add auto-foo (partial cleanup, master makefile/configure.acHarald Welte4-11/+199
2012-06-14add .gitignore fileHarald Welte1-0/+22
2012-06-14move everything to src/ subdirectoryHarald Welte20-0/+0
The code corresponds to commit a9aa4777cc1144897a77dfb6c5c3d7325705251e in openbts-p2.8.git (Tue Jun 12 18:14:49 2012 +0400)
2012-06-12Fixed gprs_rlcmac_rcv_data_block() function.Ivan Kluchnikov1-8/+2
Countdown Value = 0 means, that PCU received the last data block in TBF and we should ignore all next data blocks.
2012-06-12Fixed parsing of BSSGP DL-UNITDATA in gprs_bssgp_pcu_rx_dl_ud() function.Ivan Kluchnikov2-37/+32
2012-06-12Modified gprs_rlcmac_data_block_parse() function.Ivan Kluchnikov1-1/+16
Implemented singular case of using Length Indicator field, which described in 10.4.14 TS 44.060.
2012-06-07Fixed handling of LLC-PDU Length Indicator.Ivan Kluchnikov2-9/+26
Added implementation of Length Indicator, which consists of two octets.
2012-06-07Modified gprs_rlcmac_segment_llc_pdu() and gprs_rlcmac_tx_dl_data_block() ↵Ivan Kluchnikov1-25/+62
functions. Changed the internal logic of the functions. Implemented singular case of using Length Indicator field, which described in 10.4.14 TS 44.060.
2012-06-05Modified gprs_rlcmac_data_block_parse() function.Ivan Kluchnikov2-36/+67
Changed the internal logic of the function. Fixed handling for case with several LLC PDU in one data block.
2012-06-04Fixed gprs_rlcmac_rcv_data_block() and gprs_rlcmac_data_block_parse() functions.Ivan Kluchnikov1-8/+41
Added handling for cases with several LLC PDU in one data block and several LLC PDU in one TBF.
2012-06-04Fixed maximum length of LLC frame.Ivan Kluchnikov1-1/+3
2012-06-04Fixed length of BSSGP header.Ivan Kluchnikov1-1/+1
2012-05-24Changed Downlink TBF Establishment.Ivan Kluchnikov3-11/+41
We don't use TBF establishment on CCCH and Immediate Assignment message any more, now we establish Downlink TBF during Uplink TBF and use Packet Downlink Assignment message. Added function gprs_rlcmac_packet_downlink_assignment() and modified TBF management.