aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2012-12-18Rework on multislot allocation algorithmAndreas Eversberg3-31/+69
The slots are choosen in a way that later selection of slots for concurrent TBFs will have the same downlink/uplink control channel (PACCH). This is required for polling acknowledge of new TBF assignment on PACCH. The MS will always have the same PACCH uplink slot while beeing in packet transfer mode.
2012-12-18Added paging PS support by Ivan KluchnikovAndreas Eversberg4-3/+82
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-12-18Use seperate function to parse IMSI from BSSGP messageAndreas Eversberg1-20/+31
2012-12-18Fix: Don't use TIMING_ADVANCE_INDEX in assignment messages, if not usedAndreas Eversberg3-18/+39
Some MS will leave packet transfer mode, if TAI is given, but no timing advance control messages are sent on PTCCH. This could results in permanent loss of larger packets.
2012-12-18Fix: Drop ongoing UL TBF, if another UL TBF is established for same TLLIAndreas Eversberg1-2/+12
This happens, if the mobile looses coverage and establishes a subsequent uplink TBF.
2012-12-18Fix: Handling of final acknowledge on downlink TBFsAndreas Eversberg1-10/+11
It is essential to initialize the first_fin_ack variable. Also it is essential not to free TBF, in case the final ack is not received, but all frames have been acked. In this special case, we resend the final block again and again (and poll), until we receive the final ack.
2012-12-18Fix: Be sure to check if the PACKET DOWNLINK ACK belongs to the polled MSAndreas Eversberg1-2/+8
2012-12-18Adding flow chart diagram of ongoing TBFs and their eventsAndreas Eversberg4-4/+180
It is quite essential. It shows how TBFs are related and helps to estimate states and timers (timeouts) of the MS. In order to use it, it must be defined by a switch at gprs_rlcmac.h.
2012-12-18Fix: Free CS paging messagesAndreas Eversberg1-3/+8
2012-12-18Fix: Removed potential double free bug when receiving NS messagesAndreas Eversberg1-2/+0
2012-10-10Ported fixes and improvements from Wireshark for RLC/MAC control block ↵Ivan Kluchnikov4-128/+342
decoding. Part 1. Generic improvements to the csn.1 dissector include: • Added a flag to the type descriptor structure so that any type can (potentially) flagged as xxx_OR_NULL. This was specifically needed for UINT_OR_NULL for the ms capabilities struct. • Changed the CSN_SERIALIZE so that the length of the length field can be specified. • For CSN_NEXT_EXIST removed the requirement that the next type be CSN_END, to allow truncation of multiple IEs. • For CSN_LEFT_ALIGNED_VAR_BITMAP corrected the handling of bit_offset. • Added a new type CSN_PADDING_BITS to make inspection of padding bits more convenient. • Improved the CSN_RECURSIVE_TARRAY_1 to show the array index. Improvements to the gsm_rlcmac dissector include: • Rework the definition of EGPRS Ack/Nack Description so that the length IE (and absence thereof) is handled correctly. • Added Padding Bits definitions to all PDUs • Change the Multislot_capability_t and Content_t definitions to allow truncation at any IE
2012-10-05Merge branch 'jolly'Ivan Kluchnikov19-570/+3283
Conflicts: src/gprs_bssgp_pcu.cpp src/gprs_rlcmac.cpp src/gprs_rlcmac_data.cpp src/gprs_rlcmac_sched.cpp
2012-10-03Allow setting of seperate coding schemes for uplink and downlinkAndreas Eversberg6-13/+23
2012-10-03Replace switch/case construct by a structure, to define coding schemesAndreas Eversberg3-16/+28
A new attribute at TBF instance indicates the current scheme used.
2012-10-03Fix: Poll correctly for downlink acknowlege, to prevent window stallingAndreas Eversberg1-8/+7
2012-09-28Fix: Cleanly open and close NS instanceAndreas Eversberg2-8/+19
2012-09-27Use PCH confirm from BTS to start downlink packet flowAndreas Eversberg6-10/+99
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-27Free existing UL/DL TBF, if RACH has been received from MSAndreas Eversberg1-0/+17
In this case the mobile has lost existing flows, so it make sense to free them. The TFI(s) can be re-used immidiately, because they are not associated by MS anymore.
2012-09-27Fix: Dump correct NSVCI value at debug lineAndreas Eversberg1-1/+1
2012-09-27Set Alpha and Gamma at assingment messages for power controlAndreas Eversberg5-24/+90
The initial power control value Alpha must be set in SI13.
2012-09-24Fix: T3193 is now started with the correct valueAndreas Eversberg1-1/+1
2012-09-23Fix: Send correct QOS profile and DL-UNITDATA IE to SGSNAndreas Eversberg1-3/+7
Be sure to use always two bytes of length information for DL-UNITDATA, even if the length of LLC data is less than 128 bytes. This way the data has always the same offset from a 32 bit boundary.
2012-09-23Fix: Correctly interpret MCC, MNC, CELL ID from BTSAndreas Eversberg2-3/+7
2012-09-23Statefull reset and unblock BVCs and sending flow control messagesAndreas Eversberg4-5/+97
The flow control interval can be set via VTY.
2012-09-23Replace local definitions by header gprs_bssgp_bss.hAndreas Eversberg1-5/+2
2012-08-07Assign TFI to complete TRX, not just one TSAndreas Eversberg4-69/+39
This is required, since we may change slot allocation. In case of a change, we do not want to be unable to change, if the same TFI on one of the other slots is already in use by a different TBF (having same TFI, but on different slot).
2012-08-07Adding single block allocationAndreas Eversberg6-90/+344
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-08-07Fix: Add timer for downlink TBF in assignment stateAndreas Eversberg2-8/+27
This is required, since the UL TBF which is used to assign downlink TBF may be freed due to timeouts.
2012-08-07Fix: tfi_alloc() has some signed attributesAndreas Eversberg2-2/+2
2012-08-06Adding flags for debugging assignment and polling timeoutAndreas Eversberg3-8/+88
2012-08-06Adding polling for packet control ack at packet downlink/uplink assignmentAndreas Eversberg2-33/+61
2012-07-26Use final_ack_sent and contention_resolution_done to define ongoing UL TBFAndreas Eversberg3-7/+8
Both flags can be used to determine wether assignment must be sent on PCH or on AGCH. Before contention resolution is done, mobile will ignore downlink assinment. When final uplink acknowledge was sent, the mobile will go back to PCH after reception of akcnowledge.
2012-07-26Minor changes on comments of schedulerAndreas Eversberg1-3/+3
2012-07-25Be sure to priorize uplink assignment (PACCH)Andreas Eversberg1-15/+15
This is required because uplink assignment (PACCH) is done on a request by mobile, so the mobile expects that it get this assignment in return. After that we may assign downlink.
2012-07-25misc: Add the libosmocore CFLAGS to the CPPFLAGSHolger Hans Peter Freyther1-1/+1
libosmocore might not be in the standard include path, add the CFLAGS to the preprocessor flags. This is fixing the build on the Osmocom Jenkins.
2012-07-25Fixed two issues found by clang, pointed out by HolgerAndreas Eversberg2-1/+4
2012-07-25Replaced malloc() by talloc_zero() to be able to track memeory leaksAndreas Eversberg2-11/+15
2012-07-25Cleanup by splitting gprs_rlcmac_rcv_rts_block() into seperate methodsAndreas Eversberg1-115/+171
2012-07-24misc: Add the libosmocore CFLAGS to the CPPFLAGSHolger Hans Peter Freyther1-1/+1
libosmocore might not be in the standard include path, add the CFLAGS to the preprocessor flags. This is fixing the build on the Osmocom Jenkins.
2012-07-24misc: Fix typos in the commentsHolger Hans Peter Freyther6-19/+19
ressource -> resorce
2012-07-24Added debugging of downlink bandwidthAndreas Eversberg5-0/+32
2012-07-24Added READMEAndreas Eversberg1-0/+22
2012-07-23Fix: gprs_rlcmac_trigger_downlink_assignment() selects correct channelAndreas Eversberg3-20/+19
In order to select correct channel (PCH or PACCH), a tbf pointer is set in case of PACCH. The tbf pointer points to TBF whose PACCH is used.
2012-07-23Fix: Kill pending downlink TBF, if mobile requests uplink TBF on RACHAndreas Eversberg1-0/+9
If the mobile misses assignment, it changes back to idle mode. In this case we must kill the pending downlink TBF, because it is not used by mobile and we can assign a new downlink TBF for new downlink data. (We may not have two downlink TBF with same TLLI!)
2012-07-23Fix: Send downlink assignment on PCH twice to make reception more safeAndreas Eversberg1-2/+4
If the mobile is not fast enough switching back to CCCH, the second assignment, which is sent later is usefull in this case.
2012-07-23Fix: We don't use timer to define when assignment is complete on PACCHAndreas Eversberg2-5/+26
Instead we use the event of sending assignment message. Then we set the TBF state to 'FLOW'.
2012-07-23VTY: Select timeslot allocation algorithm via VTYAndreas Eversberg2-6/+37
The selections are: single slot or multislot
2012-07-22Makefile.am: Actually install the pcu during 'make install'Harald Welte1-1/+3
2012-07-22Makefile.am: rename executable name from pcu to osmo-pcuHarald Welte1-3/+3
This makes more sense since the entire repository is called this way
2012-07-22import GPLv2 license text to this projectHarald Welte1-0/+339