diff options
-rw-r--r-- | src/bts.cpp | 2 | ||||
-rw-r--r-- | src/gprs_ms.cpp | 13 | ||||
-rw-r--r-- | src/gprs_ms.h | 8 | ||||
-rw-r--r-- | src/gprs_rlcmac_ts_alloc.cpp | 14 | ||||
-rw-r--r-- | src/tbf.cpp | 23 | ||||
-rw-r--r-- | src/tbf.h | 6 | ||||
-rw-r--r-- | src/tbf_dl.cpp | 6 | ||||
-rw-r--r-- | tests/alloc/AllocTest.cpp | 3 | ||||
-rw-r--r-- | tests/tbf/TbfTest.err | 37 |
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++) { @@ -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' |