aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/bts.cpp6
-rw-r--r--src/gprs_ms.cpp13
-rw-r--r--src/tbf.cpp51
-rw-r--r--src/tbf.h13
-rw-r--r--src/tbf_dl.cpp2
-rw-r--r--tests/tbf/TbfTest.err72
6 files changed, 156 insertions, 1 deletions
diff --git a/src/bts.cpp b/src/bts.cpp
index 9886cf6..d027993 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -748,6 +748,12 @@ void gprs_rlcmac_pdch::rcv_control_ack(Packet_Control_Acknowledgement_t *packet,
return;
}
tbf->update_tlli(tlli);
+
+ if (tbf->new_tbf())
+ tbf->new_tbf()->update_ms(tlli);
+ else
+ tbf->update_ms(tlli);
+
LOGP(DRLCMAC, LOGL_DEBUG, "RX: [PCU <- BTS] %s Packet Control Ack\n", tbf_name(tbf));
tbf->poll_state = GPRS_RLCMAC_POLL_NONE;
diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp
index db29d20..d9d74f4 100644
--- a/src/gprs_ms.cpp
+++ b/src/gprs_ms.cpp
@@ -67,6 +67,16 @@ GprsMs::GprsMs(uint32_t tlli) :
GprsMs::~GprsMs()
{
LOGP(DRLCMAC, LOGL_INFO, "Destroying MS object, TLLI = 0x%08x\n", tlli());
+
+ if (m_ul_tbf) {
+ m_ul_tbf->set_ms(NULL);
+ m_ul_tbf = NULL;
+ }
+
+ if (m_dl_tbf) {
+ m_dl_tbf->set_ms(NULL);
+ m_dl_tbf = NULL;
+ }
}
void* GprsMs::operator new(size_t size)
@@ -148,6 +158,9 @@ void GprsMs::detach_tbf(gprs_rlcmac_tbf *tbf)
LOGP(DRLCMAC, LOGL_INFO, "Detaching TBF from MS object, TLLI = 0x%08x, TBF = %s\n",
tlli(), tbf->name());
+ if (tbf->ms() == this)
+ tbf->set_ms(NULL);
+
update_status();
}
diff --git a/src/tbf.cpp b/src/tbf.cpp
index b1377f0..89072e4 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -26,6 +26,7 @@
#include <gprs_rlcmac.h>
#include <gprs_debug.h>
#include <gprs_bssgp_pcu.h>
+#include <gprs_ms.h>
#include <decoding.h>
extern "C" {
@@ -60,16 +61,43 @@ void gprs_rlcmac_tbf::set_new_tbf(gprs_rlcmac_tbf *tbf)
tbf_name(this), tbf_name(tbf));
return;
}
- if (m_new_tbf != this)
+ if (m_new_tbf != this) {
LOGP(DRLCMAC, LOGL_NOTICE,
"%s m_new_tbf is already assigned to %s, "
"overwriting the old value with %s\n",
tbf_name(this), tbf_name(m_new_tbf), tbf_name(tbf));
+ }
/* Detach from other TBF */
m_new_tbf->m_old_tbf = NULL;
}
m_new_tbf = tbf;
tbf->m_old_tbf = this;
+
+ if (!tbf->ms())
+ tbf->set_ms(ms());
+}
+
+void gprs_rlcmac_tbf::set_ms(GprsMs *ms)
+{
+ if (m_ms == ms)
+ return;
+
+ if (m_ms)
+ m_ms->detach_tbf(this);
+
+ m_ms = ms;
+
+ if (m_ms)
+ m_ms->attach_tbf(this);
+}
+
+void gprs_rlcmac_tbf::update_ms(uint32_t tlli)
+{
+ if (!ms())
+ /* TODO: access the container instead when that is implemented */
+ set_ms(new GprsMs(tlli));
+ else
+ ms()->set_tlli(tlli);
}
gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts,
@@ -102,6 +130,7 @@ gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts,
tbf->set_state(GPRS_RLCMAC_ASSIGN);
tbf->state_flags |= (1 << GPRS_RLCMAC_FLAG_PACCH);
tbf_timer_start(tbf, 3169, bts->t3169, 0);
+ tbf->update_ms(tlli);
return tbf;
}
@@ -168,6 +197,8 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf)
"tbf->m_old_tbf->m_new_tbf != tbf\n",
tbf_name(tbf));
}
+
+ tbf->m_old_tbf = NULL;
}
if (tbf->m_new_tbf) {
@@ -183,8 +214,13 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf)
"tbf->m_new_tbf->m_old_tbf != tbf\n",
tbf_name(tbf));
}
+
+ tbf->m_new_tbf = NULL;
}
+ if (tbf->ms())
+ tbf->set_ms(NULL);
+
LOGP(DRLCMAC, LOGL_DEBUG, "********** TBF ends here **********\n");
talloc_free(tbf);
}
@@ -438,6 +474,12 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts,
llist_add(&tbf->list.list, &bts->ul_tbfs);
tbf->bts->tbf_ul_created();
+ if (old_tbf && old_tbf->ms())
+ tbf->set_ms(old_tbf->ms());
+
+ if (tbf->ms())
+ tbf->ms()->attach_ul_tbf(tbf);
+
return tbf;
}
@@ -477,6 +519,12 @@ struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts,
gettimeofday(&tbf->m_bw.dl_bw_tv, NULL);
gettimeofday(&tbf->m_bw.dl_loss_tv, NULL);
+ if (old_tbf && old_tbf->ms())
+ tbf->set_ms(old_tbf->ms());
+
+ if (tbf->ms())
+ tbf->ms()->attach_dl_tbf(tbf);
+
return tbf;
}
@@ -811,6 +859,7 @@ int gprs_rlcmac_tbf::extract_tlli(const uint8_t *data, const size_t len)
return 0;
}
update_tlli(new_tlli);
+ update_ms(new_tlli);
LOGP(DRLCMACUL, LOGL_INFO, "Decoded premier TLLI=0x%08x of "
"UL DATA TFI=%d.\n", tlli(), rh->tfi);
if ((dl_tbf = bts->dl_tbf_by_tlli(tlli()))) {
diff --git a/src/tbf.h b/src/tbf.h
index bfe2875..43b0a27 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -30,6 +30,7 @@
struct bssgp_bvc_ctx;
struct rlc_ul_header;
struct msgb;
+class GprsMs;
/*
* TBF instance
@@ -122,6 +123,9 @@ struct gprs_rlcmac_tbf {
struct msgb *create_dl_ass(uint32_t fn);
struct msgb *create_ul_ass(uint32_t fn);
+ GprsMs *ms();
+ void set_ms(GprsMs *ms);
+
uint8_t tsc() const;
int rlcmac_diag();
@@ -139,6 +143,9 @@ struct gprs_rlcmac_tbf {
bool is_tlli_valid() const;
void tlli_mark_valid();
+ /** MS updating */
+ void update_ms(uint32_t tlli);
+
uint8_t tfi() const;
const char *imsi() const;
@@ -229,6 +236,7 @@ protected:
static const char *tbf_state_name[6];
+ class GprsMs *m_ms;
private:
mutable char m_name_buf[60];
};
@@ -280,6 +288,11 @@ inline void gprs_rlcmac_tbf::set_state(enum gprs_rlcmac_tbf_state new_state)
state = new_state;
}
+inline GprsMs *gprs_rlcmac_tbf::ms()
+{
+ return m_ms;
+}
+
inline uint32_t gprs_rlcmac_tbf::tlli() const
{
return m_tlli;
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 0aa22f9..aec1535 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -199,6 +199,7 @@ static int tbf_new_dl_assignment(struct gprs_rlcmac_bts *bts,
dl_tbf->m_tlli = tlli;
dl_tbf->m_tlli_valid = 1;
dl_tbf->ta = ta;
+ dl_tbf->update_ms(tlli);
LOGP(DRLCMAC, LOGL_DEBUG, "%s [DOWNLINK] START\n", tbf_name(dl_tbf));
@@ -793,6 +794,7 @@ void gprs_rlcmac_dl_tbf::reuse_tbf(const uint8_t *data, const uint16_t len)
new_tbf->m_tlli_valid = m_tlli_valid;
new_tbf->ta = ta;
new_tbf->assign_imsi(m_imsi);
+ new_tbf->update_ms(m_tlli);
/* Copy over all data to the new TBF */
new_tbf->m_llc.put_frame(data, len);
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index 1498c1e..3a58351 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -61,6 +61,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 = 0x00000000
+Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL)
********** TBF update **********
Slot Allocation (Algorithm A) for class 45
- Skipping TS 0, because not enabled
@@ -78,6 +80,8 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) New TBF TBF(TFI=1 TLLI=0x00
********** TBF ends here **********
TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=ASSIGN) free
TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=ASSIGN) stopping timer 0.
+Detaching TBF from MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=ASSIGN)
+Destroying MS object, TLLI = 0x00000000
********** TBF ends here **********
Searching for first unallocated TFI: TRX=0 first TS=4
Found TFI=0.
@@ -125,6 +129,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 = 0x00000000
+Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL)
********** TBF update **********
Slot Allocation (Algorithm A) for class 45
- Skipping TS 0, because not enabled
@@ -139,6 +145,8 @@ TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=ASSIGN) starting timer 0.
TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=ASSIGN) free
TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=ASSIGN) stopping timer 0.
TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=ASSIGN) Old TBF TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) still exists, detaching
+Detaching TBF from MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=ASSIGN)
+Destroying MS object, TLLI = 0x00000000
********** TBF ends here **********
DL packet loss of IMSI= / TLLI=0x00000000: 0%
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) free
@@ -371,6 +379,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
+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 )
TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -388,6 +398,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
+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 )
TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -405,6 +417,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
+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 )
TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -422,6 +436,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
+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 )
TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -439,6 +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
+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 )
TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -456,6 +474,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
+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 )
TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -473,6 +493,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
+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 )
TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -490,6 +512,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
+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 )
TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -507,6 +531,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
+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 )
TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -524,6 +550,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
+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 )
TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -541,6 +569,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
+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)
TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -558,6 +588,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
+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)
TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -575,6 +607,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
+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)
TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -592,6 +626,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
+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)
TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -609,6 +645,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
+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)
TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -626,6 +664,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
+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)
TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -643,6 +683,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
+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)
TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -660,6 +702,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
+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)
TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -677,6 +721,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
+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)
TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -694,6 +740,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
+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)
TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -711,6 +759,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
+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)
TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -728,6 +778,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
+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)
TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -745,6 +797,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
+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)
TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -762,6 +816,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
+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)
TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -779,6 +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 = 0xc0000018
+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)
TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -796,6 +854,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
+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)
TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -813,6 +873,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
+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)
TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -830,6 +892,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
+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)
TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -847,6 +911,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
+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)
TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -864,6 +930,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
+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)
TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -881,6 +949,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
+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)
TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -898,6 +968,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
+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)
TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) changes state from NULL to ASSIGN