forked from cellular-infrastructure/osmo-pcu
tbf: Always call set_tlli/confirm_tlli in update_ms
Currently the m_tlli member in GprsMs is set by the constructor, circumventing the TLLI confirmation mechanism. This commit replaces the get_or_create_ms() method by a create_ms() method which takes the TLLI and the direction (UL or DL) as parameters to select either set_tlli() or confirm_tlli(). The MS object is instantiated with TLLI = 0, and therefore GprsMs::tlli() is extended to return the DL TLLI if both of the other TLLI are not set. Note that create_ms() will not check whether an MS object with a matching TLLI is already stored in the list, so it should only be called after a corresponding get_ms() in general. Sponsored-by: On-Waves ehf
This commit is contained in:
parent
767193e20b
commit
0e50ce6145
8 changed files with 108 additions and 53 deletions
|
@ -89,7 +89,9 @@ private:
|
|||
|
||||
inline uint32_t GprsMs::tlli() const
|
||||
{
|
||||
return m_new_ul_tlli ? m_new_ul_tlli : m_tlli;
|
||||
return m_new_ul_tlli ? m_new_ul_tlli :
|
||||
m_tlli ? m_tlli :
|
||||
m_new_dl_tlli;
|
||||
}
|
||||
|
||||
inline bool GprsMs::check_tlli(uint32_t tlli)
|
||||
|
|
|
@ -71,14 +71,20 @@ GprsMs *GprsMsStorage::get_ms(uint32_t tlli, uint32_t old_tlli, const char *imsi
|
|||
return ms;
|
||||
}
|
||||
|
||||
GprsMs *GprsMsStorage::get_or_create_ms(uint32_t tlli, uint32_t old_tlli, const char *imsi)
|
||||
GprsMs *GprsMsStorage::create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir)
|
||||
{
|
||||
GprsMs *ms = get_ms(tlli, old_tlli, imsi);
|
||||
GprsMs *ms = get_ms(tlli);
|
||||
|
||||
if (ms)
|
||||
return ms;
|
||||
|
||||
ms = new GprsMs(tlli);
|
||||
ms = new GprsMs(0);
|
||||
|
||||
if (dir == GPRS_RLCMAC_UL_TBF)
|
||||
ms->set_tlli(tlli);
|
||||
else
|
||||
ms->confirm_tlli(tlli);
|
||||
|
||||
ms->set_callback(this);
|
||||
llist_add(&ms->list(), &m_list);
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
#include "gprs_ms.h"
|
||||
#include "cxx_linuxlist.h"
|
||||
#include "tbf.h"
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
|
||||
|
@ -34,7 +35,7 @@ public:
|
|||
virtual void ms_active(class GprsMs *);
|
||||
|
||||
GprsMs *get_ms(uint32_t tlli, uint32_t old_tlli = 0, const char *imsi = 0) const;
|
||||
GprsMs *get_or_create_ms(uint32_t tlli, uint32_t old_tlli = 0, const char *imsi = 0);
|
||||
GprsMs *create_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir);
|
||||
|
||||
private:
|
||||
LListHead<GprsMs> m_list;
|
||||
|
|
13
src/tbf.cpp
13
src/tbf.cpp
|
@ -98,9 +98,16 @@ void gprs_rlcmac_tbf::set_ms(GprsMs *ms)
|
|||
|
||||
void gprs_rlcmac_tbf::update_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction dir)
|
||||
{
|
||||
if (!ms())
|
||||
set_ms(bts->ms_store().get_or_create_ms(tlli));
|
||||
else if (dir == GPRS_RLCMAC_UL_TBF)
|
||||
if (!ms()) {
|
||||
GprsMs *new_ms = bts->ms_store().get_ms(tlli);
|
||||
if (!new_ms)
|
||||
new_ms = bts->ms_store().create_ms(tlli, dir);
|
||||
|
||||
set_ms(new_ms);
|
||||
return;
|
||||
}
|
||||
|
||||
if (dir == GPRS_RLCMAC_UL_TBF)
|
||||
ms()->set_tlli(tlli);
|
||||
else
|
||||
ms()->confirm_tlli(tlli);
|
||||
|
|
|
@ -329,7 +329,7 @@ static void test_ms_storage()
|
|||
{
|
||||
uint32_t tlli = 0xffeeddbb;
|
||||
gprs_rlcmac_ul_tbf *ul_tbf;
|
||||
GprsMs *ms;
|
||||
GprsMs *ms, *ms_tmp;
|
||||
GprsMsStorage store;
|
||||
|
||||
printf("=== start %s ===\n", __func__);
|
||||
|
@ -340,18 +340,20 @@ static void test_ms_storage()
|
|||
ms = store.get_ms(tlli + 0);
|
||||
OSMO_ASSERT(ms == NULL);
|
||||
|
||||
ms = store.get_or_create_ms(tlli + 0);
|
||||
OSMO_ASSERT(ms->tlli() == tlli + 0);
|
||||
|
||||
ms = store.get_ms(tlli + 0);
|
||||
ms = store.create_ms(tlli + 0, GPRS_RLCMAC_UL_TBF);
|
||||
OSMO_ASSERT(ms != NULL);
|
||||
OSMO_ASSERT(ms->tlli() == tlli + 0);
|
||||
|
||||
ms = store.get_or_create_ms(tlli + 1);
|
||||
ms_tmp = store.get_ms(tlli + 0);
|
||||
OSMO_ASSERT(ms == ms_tmp);
|
||||
OSMO_ASSERT(ms->tlli() == tlli + 0);
|
||||
|
||||
ms = store.create_ms(tlli + 1, GPRS_RLCMAC_UL_TBF);
|
||||
OSMO_ASSERT(ms != NULL);
|
||||
OSMO_ASSERT(ms->tlli() == tlli + 1);
|
||||
|
||||
ms = store.get_ms(tlli + 1);
|
||||
OSMO_ASSERT(ms != NULL);
|
||||
ms_tmp = store.get_ms(tlli + 1);
|
||||
OSMO_ASSERT(ms == ms_tmp);
|
||||
OSMO_ASSERT(ms->tlli() == tlli + 1);
|
||||
|
||||
/* delete ms */
|
||||
|
|
|
@ -35,8 +35,10 @@ Modifying MS object, TLLI: 0xaa000000 confirmed
|
|||
The MS object cannot fully confirm an unexpected TLLI: 0xff001111, partly confirmed
|
||||
Modifying MS object, TLLI: 0xaa000000 -> 0xff001111, already confirmed partly
|
||||
Destroying MS object, TLLI = 0xff001111
|
||||
Creating MS object, TLLI = 0xffeeddbb
|
||||
Creating MS object, TLLI = 0xffeeddbc
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddbb, not yet confirmed
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddbc, not yet confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL)
|
||||
Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL)
|
||||
Destroying MS object, TLLI = 0xffeeddbb
|
||||
|
|
|
@ -72,6 +72,7 @@ static void test_tbf_tlli_update()
|
|||
dl_tbf, 0,
|
||||
0, 0, 0);
|
||||
ul_tbf->update_tlli(0x2342);
|
||||
ul_tbf->update_ms(0x2342, GPRS_RLCMAC_UL_TBF);
|
||||
|
||||
ms = the_bts.ms_by_tlli(0x2342);
|
||||
|
||||
|
@ -84,7 +85,7 @@ static void test_tbf_tlli_update()
|
|||
* has changed.
|
||||
*/
|
||||
dl_tbf->update_tlli(0x4232);
|
||||
ms->confirm_tlli(0x4232);
|
||||
dl_tbf->update_ms(0x4232, GPRS_RLCMAC_DL_TBF);
|
||||
|
||||
/* It is still there, since the new TLLI has not been used for UL yet */
|
||||
ms_new = the_bts.ms_by_tlli(0x2342);
|
||||
|
@ -96,7 +97,7 @@ static void test_tbf_tlli_update()
|
|||
OSMO_ASSERT(ms->ul_tbf() == ul_tbf);
|
||||
|
||||
/* Now use the new TLLI for UL */
|
||||
ms->set_tlli(0x4232);
|
||||
ul_tbf->update_ms(0x4232, GPRS_RLCMAC_UL_TBF);
|
||||
ms_new = the_bts.ms_by_tlli(0x2342);
|
||||
OSMO_ASSERT(ms_new == NULL);
|
||||
|
||||
|
|
|
@ -5,7 +5,8 @@ Slot Allocation (Algorithm A) for class 0
|
|||
- Skipping TS 1, because not enabled
|
||||
- Assign downlink TS=2
|
||||
- Setting Control TS 2
|
||||
Creating MS object, TLLI = 0x00002342
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0x00002342, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0x00002342, TBF = TBF(TFI=0 TLLI=0x00002342 DIR=DL STATE=NULL)
|
||||
********** TBF starts here **********
|
||||
Allocating UL TBF: TFI=0 TRX=0 MS_CLASS=0
|
||||
|
@ -15,6 +16,7 @@ Slot Allocation (Algorithm A) for class 0
|
|||
- Assign uplink TS=2 USF=0
|
||||
- Setting Control TS 2
|
||||
Attaching TBF to MS object, TLLI = 0x00002342, TBF = TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL)
|
||||
Modifying MS object, TLLI: 0x00000000 -> 0x00002342, already confirmed partly
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0x00004232, partly confirmed
|
||||
Modifying MS object, TLLI: 0x00002342 -> 0x00004232, already confirmed partly
|
||||
Searching for first unallocated TFI: TRX=0 first TS=4
|
||||
|
@ -373,7 +375,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000000
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000000, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000000, TBF = TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL)
|
||||
TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -392,7 +395,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000001
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000001, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000001, TBF = TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL)
|
||||
TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -411,7 +415,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000002
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000002, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000002, TBF = TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL)
|
||||
TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -430,7 +435,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000003
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000003, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000003, TBF = TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL)
|
||||
TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -449,7 +455,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000004
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000004, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000004, TBF = TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL)
|
||||
TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -468,7 +475,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000005
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000005, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000005, TBF = TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL)
|
||||
TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -487,7 +495,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000006
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000006, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000006, TBF = TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL)
|
||||
TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -506,7 +515,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000007
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000007, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000007, TBF = TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL)
|
||||
TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -525,7 +535,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000008
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000008, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000008, TBF = TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL)
|
||||
TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -544,7 +555,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000009
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000009, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000009, TBF = TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL)
|
||||
TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 )
|
||||
|
@ -563,7 +575,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000000a
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000000a, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000000a, TBF = TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL)
|
||||
TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -582,7 +595,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000000b
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000000b, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000000b, TBF = TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL)
|
||||
TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -601,7 +615,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000000c
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000000c, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000000c, TBF = TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL)
|
||||
TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -620,7 +635,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000000d
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000000d, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000000d, TBF = TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL)
|
||||
TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -639,7 +655,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000000e
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000000e, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000000e, TBF = TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL)
|
||||
TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -658,7 +675,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000000f
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000000f, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000000f, TBF = TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL)
|
||||
TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -677,7 +695,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000010
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000010, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000010, TBF = TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL)
|
||||
TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -696,7 +715,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000011
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000011, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000011, TBF = TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL)
|
||||
TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -715,7 +735,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000012
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000012, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000012, TBF = TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL)
|
||||
TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -734,7 +755,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000013
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000013, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000013, TBF = TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL)
|
||||
TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 1)
|
||||
|
@ -753,7 +775,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000014
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000014, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000014, TBF = TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL)
|
||||
TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -772,7 +795,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000015
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000015, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000015, TBF = TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL)
|
||||
TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -791,7 +815,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000016
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000016, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000016, TBF = TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL)
|
||||
TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -810,7 +835,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000017
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000017, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000017, TBF = TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL)
|
||||
TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -829,7 +855,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000018
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000018, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000018, TBF = TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL)
|
||||
TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -848,7 +875,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc0000019
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc0000019, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc0000019, TBF = TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL)
|
||||
TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -867,7 +895,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000001a
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000001a, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000001a, TBF = TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL)
|
||||
TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -886,7 +915,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000001b
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000001b, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000001b, TBF = TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL)
|
||||
TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -905,7 +935,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000001c
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000001c, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000001c, TBF = TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL)
|
||||
TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -924,7 +955,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000001d
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000001d, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000001d, TBF = TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL)
|
||||
TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 2)
|
||||
|
@ -943,7 +975,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000001e
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000001e, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000001e, TBF = TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL)
|
||||
TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 3)
|
||||
|
@ -962,7 +995,8 @@ Slot Allocation (Algorithm A) for class 45
|
|||
- Skipping TS 3, because not enabled
|
||||
- Assign downlink TS=4
|
||||
- Setting Control TS 4
|
||||
Creating MS object, TLLI = 0xc000001f
|
||||
Creating MS object, TLLI = 0x00000000
|
||||
The MS object cannot fully confirm an unexpected TLLI: 0xc000001f, partly confirmed
|
||||
Attaching TBF to MS object, TLLI = 0xc000001f, TBF = TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL)
|
||||
TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) [DOWNLINK] START
|
||||
Send dowlink assignment for TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001 3)
|
||||
|
|
Loading…
Reference in a new issue