diff options
-rw-r--r-- | src/bts.cpp | 6 | ||||
-rw-r--r-- | src/gprs_ms.cpp | 13 | ||||
-rw-r--r-- | src/tbf.cpp | 51 | ||||
-rw-r--r-- | src/tbf.h | 13 | ||||
-rw-r--r-- | src/tbf_dl.cpp | 2 | ||||
-rw-r--r-- | tests/tbf/TbfTest.err | 72 |
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()))) { @@ -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 |