aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/bts.cpp2
-rw-r--r--src/gprs_ms.cpp13
-rw-r--r--src/gprs_ms.h8
-rw-r--r--src/gprs_rlcmac_ts_alloc.cpp14
-rw-r--r--src/tbf.cpp23
-rw-r--r--src/tbf.h6
-rw-r--r--src/tbf_dl.cpp6
-rw-r--r--tests/alloc/AllocTest.cpp3
-rw-r--r--tests/tbf/TbfTest.err37
9 files changed, 96 insertions, 16 deletions
diff --git a/src/bts.cpp b/src/bts.cpp
index 7225a78c..ae0a1caa 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -833,7 +833,7 @@ void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_n
"message, so we provide one:\n");
/* This call will register the new TBF with the MS on success */
- tbf_alloc_ul(bts_data(), tbf->trx->trx_no, tbf->ms_class,
+ tbf_alloc_ul(bts_data(), tbf->trx->trx_no, tbf->ms_class(),
tbf->tlli(), tbf->ta(), tbf);
/* schedule uplink assignment */
diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp
index d047cf57..1ae0fc6b 100644
--- a/src/gprs_ms.cpp
+++ b/src/gprs_ms.cpp
@@ -72,6 +72,7 @@ GprsMs::GprsMs(uint32_t tlli) :
m_new_ul_tlli(0),
m_new_dl_tlli(0),
m_ta(0),
+ m_ms_class(0),
m_is_idle(true),
m_ref(0),
m_list(this)
@@ -325,3 +326,15 @@ void GprsMs::set_ta(uint8_t ta_)
m_ta = ta_;
}
+void GprsMs::set_ms_class(uint8_t ms_class_)
+{
+ if (ms_class_ == m_ms_class)
+ return;
+
+ LOGP(DRLCMAC, LOGL_INFO,
+ "Modifying MS object, TLLI = 0x%08x, MS class %d -> %d\n",
+ tlli(), m_ms_class, ms_class_);
+
+ m_ms_class = ms_class_;
+}
+
diff --git a/src/gprs_ms.h b/src/gprs_ms.h
index 5c42c50a..8d292f1e 100644
--- a/src/gprs_ms.h
+++ b/src/gprs_ms.h
@@ -67,6 +67,8 @@ public:
uint8_t ta() const;
void set_ta(uint8_t ta);
+ uint8_t ms_class() const;
+ void set_ms_class(uint8_t ms_class);
gprs_llc_queue *llc_queue();
const gprs_llc_queue *llc_queue() const;
@@ -108,6 +110,7 @@ private:
/* store IMSI for look-up and PCH retransmission */
char m_imsi[16];
uint8_t m_ta;
+ uint8_t m_ms_class;
gprs_llc_queue m_llc_queue;
bool m_is_idle;
@@ -140,6 +143,11 @@ inline uint8_t GprsMs::ta() const
return m_ta;
}
+inline uint8_t GprsMs::ms_class() const
+{
+ return m_ms_class;
+}
+
inline void GprsMs::set_timeout(unsigned secs)
{
m_delay = secs;
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index 27b01d79..e8bedadd 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -146,7 +146,7 @@ int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
uint8_t ts;
LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm A) for class "
- "%d\n", tbf->ms_class);
+ "%d\n", tbf->ms_class());
ts = find_enabled_pdch(tbf->trx, 0);
if (ts == 8)
@@ -540,16 +540,16 @@ int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
uint8_t slotcount = 0;
- if (tbf->ms_class >= 32) {
+ if (tbf->ms_class() >= 32) {
LOGP(DRLCMAC, LOGL_ERROR, "Multislot class %d out of range.\n",
- tbf->ms_class);
+ tbf->ms_class());
return -EINVAL;
}
- if (tbf->ms_class) {
- ms_class = &gprs_ms_multislot_class[tbf->ms_class];
+ if (tbf->ms_class()) {
+ ms_class = &gprs_ms_multislot_class[tbf->ms_class()];
LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm B) for "
- "class %d\n", tbf->ms_class);
+ "class %d\n", tbf->ms_class());
} else {
ms_class = &gprs_ms_multislot_class[12];
LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm B) for "
@@ -558,7 +558,7 @@ int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
if (ms_class->tx == MS_NA) {
LOGP(DRLCMAC, LOGL_NOTICE, "Multislot class %d not "
- "applicable.\n", tbf->ms_class);
+ "applicable.\n", tbf->ms_class());
return -EINVAL;
}
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 136226cb..e058348f 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -102,6 +102,19 @@ void gprs_rlcmac_tbf::set_ta(uint8_t ta)
m_ta = ta;
}
+uint8_t gprs_rlcmac_tbf::ms_class() const
+{
+ return m_ms ? m_ms->ms_class() : m_ms_class;
+}
+
+void gprs_rlcmac_tbf::set_ms_class(uint8_t ms_class_)
+{
+ if (ms())
+ ms()->set_ms_class(ms_class_);
+
+ m_ms_class = ms_class_;
+}
+
gprs_llc_queue *gprs_rlcmac_tbf::llc_queue()
{
return m_ms ? m_ms->llc_queue() : NULL;
@@ -141,8 +154,12 @@ void gprs_rlcmac_tbf::update_ms(uint32_t tlli, enum gprs_rlcmac_tbf_direction di
new_ms->set_timeout(bts->bts_data()->ms_idle_sec);
}
- if (dir == GPRS_RLCMAC_UL_TBF)
+ if (dir == GPRS_RLCMAC_UL_TBF) {
new_ms->set_ta(m_ta);
+ }
+
+ if (m_ms_class)
+ new_ms->set_ms_class(m_ms_class);
set_ms(new_ms);
return;
@@ -440,7 +457,7 @@ static int setup_tbf(struct gprs_rlcmac_tbf *tbf, struct gprs_rlcmac_bts *bts,
tbf->bts = bts->bts;
tbf->m_tfi = tfi;
tbf->trx = &bts->trx[trx];
- tbf->ms_class = ms_class;
+ tbf->set_ms_class(ms_class);
/* select algorithm */
rc = bts->alloc_algorithm(bts, old_tbf, tbf, bts->alloc_algorithm_curst,
single_slot);
@@ -921,7 +938,7 @@ void tbf_print_vty_info(struct vty *vty, struct llist_head *ltbf)
vty_out(vty, " created=%lu state=%08x 1st_TS=%d 1st_cTS=%d ctrl_TS=%d "
"MS_CLASS=%d%s",
tbf->created_ts(), tbf->state_flags, tbf->first_ts,
- tbf->first_common_ts, tbf->control_ts, tbf->ms_class,
+ tbf->first_common_ts, tbf->control_ts, tbf->ms_class(),
VTY_NEWLINE);
vty_out(vty, " TS_alloc=");
for (int i = 0; i < 8; i++) {
diff --git a/src/tbf.h b/src/tbf.h
index 7f8d660d..c5bb9009 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -151,6 +151,8 @@ struct gprs_rlcmac_tbf {
void assign_imsi(const char *imsi);
uint8_t ta() const;
void set_ta(uint8_t);
+ uint8_t ms_class() const;
+ void set_ms_class(uint8_t);
gprs_llc_queue *llc_queue();
const gprs_llc_queue *llc_queue() const;
@@ -167,7 +169,6 @@ struct gprs_rlcmac_tbf {
uint8_t first_common_ts; /* first TS that the phone can send and
reveive simultaniously */
uint8_t control_ts; /* timeslot control messages and polling */
- uint8_t ms_class;
struct gprs_rlcmac_pdch *pdch[8]; /* list of PDCHs allocated to TBF */
gprs_llc m_llc;
@@ -229,8 +230,9 @@ protected:
class GprsMs *m_ms;
- /* Field to take the TA value if no MS is associated */
+ /* Fields to take the TA/MS class values if no MS is associated */
uint8_t m_ta;
+ uint8_t m_ms_class;
private:
mutable char m_name_buf[60];
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 85cd7513..d1ed1cd9 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -58,8 +58,8 @@ int bssgp_tx_llc_discarded(struct bssgp_bvc_ctx *bctx, uint32_t tlli,
static inline void tbf_update_ms_class(struct gprs_rlcmac_tbf *tbf,
const uint8_t ms_class)
{
- if (!tbf->ms_class && ms_class)
- tbf->ms_class = ms_class;
+ if (!tbf->ms_class() && ms_class)
+ tbf->set_ms_class(ms_class);
}
static void llc_timer_cb(void *_tbf)
@@ -777,7 +777,7 @@ void gprs_rlcmac_dl_tbf::reuse_tbf(const uint8_t *data, const uint16_t len)
tfi = bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx, this->trx->trx_no);
if (tfi >= 0)
new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), NULL, tfi, trx,
- ms_class, 0);
+ ms_class(), 0);
if (!new_tbf) {
LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index 552d8aa8..2211e925 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -359,6 +359,9 @@ static void test_alloc_b(bool ts0, bool ts1, bool ts2, bool ts3, bool ts4, bool
dl_tbf->update();
OSMO_ASSERT(dl_tbf->first_common_ts == ul_tbf->first_common_ts);
+ OSMO_ASSERT(ul_tbf->ms_class() == ms_class);
+ OSMO_ASSERT(dl_tbf->ms_class() == ms_class);
+
tbf_free(dl_tbf);
tbf_free(ul_tbf);
}
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index d919b89a..ecdc3fe6 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -35,6 +35,7 @@ Slot Allocation (Algorithm A) for class 45
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed
+Modifying MS object, TLLI = 0xffeeddcc, MS class 0 -> 45
Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW)
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
@@ -105,6 +106,7 @@ Slot Allocation (Algorithm A) for class 45
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed
+Modifying MS object, TLLI = 0xffeeddcc, MS class 0 -> 45
Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW)
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
@@ -175,6 +177,7 @@ Slot Allocation (Algorithm A) for class 45
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed
+Modifying MS object, TLLI = 0xffeeddcc, MS class 0 -> 45
Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW)
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
@@ -408,9 +411,11 @@ Slot Allocation (Algorithm A) for class 45
TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xf1000001, partly confirmed
+Modifying MS object, TLLI = 0xf1000001, MS class 0 -> 45
Attaching TBF to MS object, TLLI = 0xf1000001, TBF = TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=FLOW)
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xf1000002, partly confirmed
+Modifying MS object, TLLI = 0xf1000002, MS class 0 -> 45
Attaching TBF to MS object, TLLI = 0xf1000002, TBF = TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=FLOW)
Modifying MS object, TLLI = 0xf1000001, IMSI '' -> '001001000000001'
Modifying MS object, TLLI = 0xf1000001, IMSI '001001000000001' -> '001001000000002'
@@ -440,6 +445,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000000, partly confirmed
+Modifying MS object, TLLI = 0xc0000000, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000000, IMSI '' -> '001001000000000'
@@ -460,6 +466,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000001, partly confirmed
+Modifying MS object, TLLI = 0xc0000001, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000001, IMSI '' -> '001001000000001'
@@ -480,6 +487,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000002, partly confirmed
+Modifying MS object, TLLI = 0xc0000002, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000002, IMSI '' -> '001001000000002'
@@ -500,6 +508,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000003, partly confirmed
+Modifying MS object, TLLI = 0xc0000003, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000003, IMSI '' -> '001001000000003'
@@ -520,6 +529,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000004, partly confirmed
+Modifying MS object, TLLI = 0xc0000004, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000004, IMSI '' -> '001001000000004'
@@ -540,6 +550,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000005, partly confirmed
+Modifying MS object, TLLI = 0xc0000005, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000005, IMSI '' -> '001001000000005'
@@ -560,6 +571,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000006, partly confirmed
+Modifying MS object, TLLI = 0xc0000006, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000006, IMSI '' -> '001001000000006'
@@ -580,6 +592,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000007, partly confirmed
+Modifying MS object, TLLI = 0xc0000007, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000007, IMSI '' -> '001001000000007'
@@ -600,6 +613,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000008, partly confirmed
+Modifying MS object, TLLI = 0xc0000008, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000008, IMSI '' -> '001001000000008'
@@ -620,6 +634,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000009, partly confirmed
+Modifying MS object, TLLI = 0xc0000009, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000009, IMSI '' -> '001001000000009'
@@ -640,6 +655,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000000a, partly confirmed
+Modifying MS object, TLLI = 0xc000000a, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000000a, IMSI '' -> '001001000000010'
@@ -660,6 +676,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000000b, partly confirmed
+Modifying MS object, TLLI = 0xc000000b, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000000b, IMSI '' -> '001001000000011'
@@ -680,6 +697,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000000c, partly confirmed
+Modifying MS object, TLLI = 0xc000000c, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000000c, IMSI '' -> '001001000000012'
@@ -700,6 +718,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000000d, partly confirmed
+Modifying MS object, TLLI = 0xc000000d, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000000d, IMSI '' -> '001001000000013'
@@ -720,6 +739,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000000e, partly confirmed
+Modifying MS object, TLLI = 0xc000000e, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000000e, IMSI '' -> '001001000000014'
@@ -740,6 +760,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000000f, partly confirmed
+Modifying MS object, TLLI = 0xc000000f, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000000f, IMSI '' -> '001001000000015'
@@ -760,6 +781,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000010, partly confirmed
+Modifying MS object, TLLI = 0xc0000010, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000010, IMSI '' -> '001001000000016'
@@ -780,6 +802,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000011, partly confirmed
+Modifying MS object, TLLI = 0xc0000011, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000011, IMSI '' -> '001001000000017'
@@ -800,6 +823,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000012, partly confirmed
+Modifying MS object, TLLI = 0xc0000012, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000012, IMSI '' -> '001001000000018'
@@ -820,6 +844,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000013, partly confirmed
+Modifying MS object, TLLI = 0xc0000013, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000013, IMSI '' -> '001001000000019'
@@ -840,6 +865,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000014, partly confirmed
+Modifying MS object, TLLI = 0xc0000014, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000014, IMSI '' -> '001001000000020'
@@ -860,6 +886,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000015, partly confirmed
+Modifying MS object, TLLI = 0xc0000015, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000015, IMSI '' -> '001001000000021'
@@ -880,6 +907,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000016, partly confirmed
+Modifying MS object, TLLI = 0xc0000016, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000016, IMSI '' -> '001001000000022'
@@ -900,6 +928,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000017, partly confirmed
+Modifying MS object, TLLI = 0xc0000017, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000017, IMSI '' -> '001001000000023'
@@ -920,6 +949,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000018, partly confirmed
+Modifying MS object, TLLI = 0xc0000018, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000018, IMSI '' -> '001001000000024'
@@ -940,6 +970,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc0000019, partly confirmed
+Modifying MS object, TLLI = 0xc0000019, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc0000019, IMSI '' -> '001001000000025'
@@ -960,6 +991,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000001a, partly confirmed
+Modifying MS object, TLLI = 0xc000001a, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000001a, IMSI '' -> '001001000000026'
@@ -980,6 +1012,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000001b, partly confirmed
+Modifying MS object, TLLI = 0xc000001b, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000001b, IMSI '' -> '001001000000027'
@@ -1000,6 +1033,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000001c, partly confirmed
+Modifying MS object, TLLI = 0xc000001c, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000001c, IMSI '' -> '001001000000028'
@@ -1020,6 +1054,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000001d, partly confirmed
+Modifying MS object, TLLI = 0xc000001d, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000001d, IMSI '' -> '001001000000029'
@@ -1040,6 +1075,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000001e, partly confirmed
+Modifying MS object, TLLI = 0xc000001e, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000001e, IMSI '' -> '001001000000030'
@@ -1060,6 +1096,7 @@ Slot Allocation (Algorithm A) for class 45
- Setting Control TS 4
Creating MS object, TLLI = 0x00000000
The MS object cannot fully confirm an unexpected TLLI: 0xc000001f, partly confirmed
+Modifying MS object, TLLI = 0xc000001f, MS class 0 -> 45
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
Modifying MS object, TLLI = 0xc000001f, IMSI '' -> '001001000000031'