1379410063.708403 3031788400: [ PCU -> BTS ] PACCH: TS 6 FN 1885970 FN52 34 CNTRL1 raw=(4f2856d9f9fce301a004880801052b2b2b2b2b2b2b2b2b) DL_PACKET_UPLINK_ASSIGNMENT
1379410063.828722
3064122224: [ BTS -> PCU ] PhDataInd TS:6 FN:1885983 FN52:47 CNTRL1 raw=(4006db3f3f9f2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b) UL_PACKET_CONTROL_ACKNOWLEDGEMENT
>And in this
>TBF we notice that the TLLI has changed (ACK is using the new TLLI
>that is derived from the P-TMSI).
Yep.. I guess so.
>From an engineering point of view I think linking makes sense because:
>* With multiple TBF assignment the tbf_by_tlli will return a list
anyway.
>* For the multiple RACH cases we could it probably handle it more
>nicely.
The simpler things the better they work. TBFs are the instances with short life. And with all respect to tlli the id that uniquely identifies the TBF is TFI.
I think that independent TBF treatment is less complex. In the cases when the new TBF is created while older TBSs still exist for the MS the new TBF
context simply inherit the critical data like TA.. Anyway it's only my opinion.
>E.g. avoid this:
><0005> bts.cpp:1035 Got RACH from TLLI=0xcf7611f6 while TBF(TFI=0 TLLI=0xcf7611f6 DIR=DL) still exists. Killing pending DL TBF
><0002> bts.cpp:359 Got IMM.ASS confirm, but TLLI=cf7611f6 does not exit
To my mind it's strange situation. If the DL flow still exists why the MS requests resources on RACH?