aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-07-10 10:41:36 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-07-16 10:25:14 +0200
commit5879c6493f74aecddc81abbd785065325bf2e117 (patch)
treeb5b600e88447ee2e9caefecd4d5583f14cfbe2c4
parent47a57f6f869f19704bbb993fc157a86fd0c85e58 (diff)
tbf: Move TFI selection into alloc_algorithm
Currently the TFI and the TRX have to be determined before the actual TBF allocation function is called, passing TFI and TRX number as parameters. This does fit to TFI reuse for different slots, since this were tightly coupled with the slot selection. This commit just moves the TFI selection into the alloc_algorithm functions. The tfi parameter is removed from the the TFI alloc functions. The trx parameter is changed into use_trx to optionally limit the trx selection (same semantics like in tfi_find_free). Sponsored-by: On-Waves ehf
-rw-r--r--src/bts.cpp9
-rw-r--r--src/bts.h3
-rw-r--r--src/gprs_rlcmac.h6
-rw-r--r--src/gprs_rlcmac_ts_alloc.cpp43
-rw-r--r--src/tbf.cpp48
-rw-r--r--src/tbf.h5
-rw-r--r--src/tbf_dl.cpp17
-rw-r--r--tests/alloc/AllocTest.cpp92
-rw-r--r--tests/alloc/AllocTest.err19
-rw-r--r--tests/tbf/TbfTest.cpp6
-rw-r--r--tests/tbf/TbfTest.err308
11 files changed, 319 insertions, 237 deletions
diff --git a/src/bts.cpp b/src/bts.cpp
index bd1e025..712954e 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -392,7 +392,6 @@ int BTS::rcv_rach(uint8_t ra, uint32_t Fn, int16_t qta)
{
struct gprs_rlcmac_ul_tbf *tbf = NULL;
uint8_t trx_no, ts_no = 0;
- int8_t tfi; /* must be signed */
uint8_t sb = 0;
uint32_t sb_fn = 0;
int rc;
@@ -429,14 +428,8 @@ int BTS::rcv_rach(uint8_t ra, uint32_t Fn, int16_t qta)
} else {
// Create new TBF
#warning "Copy and pate with other routines.."
- tfi = tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- if (tfi < 0) {
- LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
- /* FIXME: send reject */
- return -EBUSY;
- }
/* set class to 0, since we don't know the multislot class yet */
- tbf = tbf_alloc_ul_tbf(&m_bts, NULL, tfi, trx_no, 0, 1);
+ tbf = tbf_alloc_ul_tbf(&m_bts, NULL, -1, 0, 1);
if (!tbf) {
LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
/* FIXME: send reject */
diff --git a/src/bts.h b/src/bts.h
index b0e88f5..8784f4d 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -162,7 +162,8 @@ struct gprs_rlcmac_bts {
struct gprs_rlcmac_trx trx[8];
int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts,
struct GprsMs *ms,
- struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single);
+ struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
+ int use_tbf);
uint32_t alloc_algorithm_curst; /* options to customize algorithm */
uint8_t force_two_phase;
uint8_t alpha, gamma;
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h
index dab3338..3fc95e6 100644
--- a/src/gprs_rlcmac.h
+++ b/src/gprs_rlcmac.h
@@ -97,11 +97,13 @@ extern "C" {
#endif
int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
struct GprsMs *ms,
- struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single);
+ struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
+ int use_trx);
int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
struct GprsMs *ms,
- struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single);
+ struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
+ int use_trx);
#ifdef __cplusplus
}
#endif
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index ec228d1..3381436 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -277,6 +277,24 @@ static void assign_dlink_tbf(
attach_tbf_to_pdch(pdch, tbf);
}
+static int tfi_find_free(BTS *bts, GprsMs *ms, enum gprs_rlcmac_tbf_direction dir,
+ int use_trx, int *trx_no_)
+{
+ int tfi;
+ uint8_t trx_no;
+
+ if (use_trx == -1 && ms->current_trx())
+ use_trx = ms->current_trx()->trx_no;
+
+ tfi = bts->tfi_find_free(dir, &trx_no, use_trx);
+ if (tfi < 0)
+ return -EBUSY;
+
+ if (trx_no_)
+ *trx_no_ = trx_no;
+
+ return tfi;
+}
/* Slot Allocation: Algorithm A
*
@@ -284,11 +302,14 @@ static void assign_dlink_tbf(
*/
int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
GprsMs *ms,
- struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single)
+ struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
+ int use_trx)
{
struct gprs_rlcmac_pdch *pdch;
int ts = -1;
uint8_t ul_slots, dl_slots;
+ int trx_no;
+ int rc;
int usf = -1;
int mask = 0xff;
const char *mask_reason = NULL;
@@ -296,6 +317,14 @@ int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm A) for class "
"%d\n", tbf->ms_class());
+ rc = tfi_find_free(bts->bts, ms, tbf->direction, use_trx, &trx_no);
+ if (rc < 0) {
+ LOGP(DRLCMAC, LOGL_NOTICE, "- Failed to allocate a TFI\n");
+ return rc;
+ }
+ tbf->m_tfi = rc;
+ tbf->trx = &bts->trx[trx_no];
+
dl_slots = ms->reserved_dl_slots();
ul_slots = ms->reserved_ul_slots();
@@ -348,7 +377,6 @@ int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
ms->set_reserved_slots(tbf->trx, 1 << ts, 1 << ts);
tbf->upgrade_to_multislot = 0;
-
return 0;
}
@@ -669,7 +697,7 @@ static int find_multi_slots(struct gprs_rlcmac_bts *bts,
*/
int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
GprsMs *ms,
- struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single)
+ struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single, int use_trx)
{
uint8_t dl_slots = 0;
uint8_t ul_slots = 0;
@@ -679,6 +707,15 @@ int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
char slot_info[9] = {0};
int ts;
int rc;
+ int trx_no;
+
+ rc = tfi_find_free(bts->bts, ms, tbf->direction, use_trx, &trx_no);
+ if (rc < 0) {
+ LOGP(DRLCMAC, LOGL_NOTICE, "- Failed to allocate a TFI\n");
+ return rc;
+ }
+ tbf->m_tfi = rc;
+ tbf->trx = &bts->trx[trx_no];
if (!ms) {
LOGP(DRLCMAC, LOGL_ERROR, "MS not set\n");
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 4a8fd33..70483e3 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -174,20 +174,12 @@ gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts,
int8_t use_trx, uint8_t ms_class,
uint32_t tlli, uint8_t ta, GprsMs *ms)
{
- uint8_t trx;
struct gprs_rlcmac_ul_tbf *tbf;
- int8_t tfi; /* must be signed */
#warning "Copy and paste with tbf_new_dl_assignment"
/* create new TBF, use same TRX as DL TBF */
- tfi = bts->bts->tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx, use_trx);
- if (tfi < 0) {
- LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
- /* FIXME: send reject */
- return NULL;
- }
/* use multislot class of downlink TBF */
- tbf = tbf_alloc_ul_tbf(bts, ms, tfi, trx, ms_class, 0);
+ tbf = tbf_alloc_ul_tbf(bts, ms, use_trx, ms_class, 0);
if (!tbf) {
LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
/* FIXME: send reject */
@@ -274,7 +266,8 @@ int gprs_rlcmac_tbf::update()
return -EINVAL;
tbf_unlink_pdch(this);
- rc = bts_data->alloc_algorithm(bts_data, ms(), this, bts_data->alloc_algorithm_curst, 0);
+ rc = bts_data->alloc_algorithm(bts_data, ms(), this,
+ bts_data->alloc_algorithm_curst, 0, -1);
/* if no resource */
if (rc < 0) {
LOGP(DRLCMAC, LOGL_ERROR, "No resource after update???\n");
@@ -445,14 +438,11 @@ void gprs_rlcmac_tbf::poll_timeout()
}
static int setup_tbf(struct gprs_rlcmac_tbf *tbf, struct gprs_rlcmac_bts *bts,
- GprsMs *ms, uint8_t tfi, uint8_t trx,
+ GprsMs *ms, int8_t use_trx,
uint8_t ms_class, uint8_t single_slot)
{
int rc;
- if (trx >= 8 || tfi >= 32)
- return -1;
-
if (!tbf)
return -1;
@@ -461,12 +451,10 @@ static int setup_tbf(struct gprs_rlcmac_tbf *tbf, struct gprs_rlcmac_bts *bts,
tbf->m_created_ts = time(NULL);
tbf->bts = bts->bts;
- tbf->m_tfi = tfi;
- tbf->trx = &bts->trx[trx];
tbf->set_ms_class(ms_class);
/* select algorithm */
rc = bts->alloc_algorithm(bts, ms, tbf, bts->alloc_algorithm_curst,
- single_slot);
+ single_slot, use_trx);
/* if no resource */
if (rc < 0) {
return -1;
@@ -485,23 +473,24 @@ static int setup_tbf(struct gprs_rlcmac_tbf *tbf, struct gprs_rlcmac_bts *bts,
tbf->m_llc.init();
tbf->set_ms(ms);
+ LOGP(DRLCMAC, LOGL_INFO,
+ "Allocated %s: trx = %d, ul_slots = %02x, dl_slots = %02x\n",
+ tbf->name(), tbf->trx->trx_no, tbf->ul_slots(), tbf->dl_slots());
+
return 0;
}
struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts,
- GprsMs *ms, uint8_t tfi, uint8_t trx,
+ GprsMs *ms, int8_t use_trx,
uint8_t ms_class, uint8_t single_slot)
{
struct gprs_rlcmac_ul_tbf *tbf;
int rc;
LOGP(DRLCMAC, LOGL_DEBUG, "********** TBF starts here **********\n");
- LOGP(DRLCMAC, LOGL_INFO, "Allocating %s TBF: TFI=%d TRX=%d "
- "MS_CLASS=%d\n", "UL", tfi, trx, ms_class);
-
- if (trx >= 8 || tfi >= 32)
- return NULL;
+ LOGP(DRLCMAC, LOGL_INFO, "Allocating %s TBF: MS_CLASS=%d\n",
+ "UL", ms_class);
tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf);
@@ -513,7 +502,7 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts,
if (!ms)
ms = bts->bts->ms_alloc(ms_class);
- rc = setup_tbf(tbf, bts, ms, tfi, trx, ms_class, single_slot);
+ rc = setup_tbf(tbf, bts, ms, use_trx, ms_class, single_slot);
/* if no resource */
if (rc < 0) {
talloc_free(tbf);
@@ -527,18 +516,15 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts,
}
struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts,
- GprsMs *ms, uint8_t tfi, uint8_t trx,
+ GprsMs *ms, int8_t use_trx,
uint8_t ms_class, uint8_t single_slot)
{
struct gprs_rlcmac_dl_tbf *tbf;
int rc;
LOGP(DRLCMAC, LOGL_DEBUG, "********** TBF starts here **********\n");
- LOGP(DRLCMAC, LOGL_INFO, "Allocating %s TBF: TFI=%d TRX=%d "
- "MS_CLASS=%d\n", "DL", tfi, trx, ms_class);
-
- if (trx >= 8 || tfi >= 32)
- return NULL;
+ LOGP(DRLCMAC, LOGL_INFO, "Allocating %s TBF: MS_CLASS=%d\n",
+ "DL", ms_class);
tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf);
@@ -550,7 +536,7 @@ struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts,
if (!ms)
ms = bts->bts->ms_alloc(ms_class);
- rc = setup_tbf(tbf, bts, ms, tfi, trx, ms_class, single_slot);
+ rc = setup_tbf(tbf, bts, ms, use_trx, ms_class, single_slot);
/* if no resource */
if (rc < 0) {
talloc_free(tbf);
diff --git a/src/tbf.h b/src/tbf.h
index 7f1dd76..5c198d3 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -245,12 +245,11 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts,
uint32_t tlli, uint8_t ta, GprsMs *ms);
struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts,
- GprsMs *ms,
- uint8_t tfi, uint8_t trx,
+ GprsMs *ms, int8_t use_trx,
uint8_t ms_class, uint8_t single_slot);
struct gprs_rlcmac_dl_tbf *tbf_alloc_dl_tbf(struct gprs_rlcmac_bts *bts,
- GprsMs *ms, uint8_t tfi, uint8_t trx,
+ GprsMs *ms, int8_t use_trx,
uint8_t ms_class, uint8_t single_slot);
void tbf_free(struct gprs_rlcmac_tbf *tbf);
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index cf03d33..cdd02ba 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -139,12 +139,11 @@ static int tbf_new_dl_assignment(struct gprs_rlcmac_bts *bts,
const uint8_t ms_class,
struct gprs_rlcmac_dl_tbf **tbf)
{
- uint8_t trx, ss;
+ uint8_t ss;
int8_t use_trx;
uint16_t ta = 0;
struct gprs_rlcmac_ul_tbf *ul_tbf = NULL, *old_ul_tbf;
struct gprs_rlcmac_dl_tbf *dl_tbf = NULL;
- int8_t tfi; /* must be signed */
GprsMs *ms;
/* check for uplink data, so we copy our informations */
@@ -170,10 +169,8 @@ static int tbf_new_dl_assignment(struct gprs_rlcmac_bts *bts,
// Create new TBF (any TRX)
#warning "Copy and paste with alloc_ul_tbf"
- tfi = bts->bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx, use_trx);
- if (tfi >= 0)
- /* set number of downlink slots according to multislot class */
- dl_tbf = tbf_alloc_dl_tbf(bts, ms, tfi, trx, ms_class, ss);
+ /* set number of downlink slots according to multislot class */
+ dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, ss);
if (!dl_tbf) {
LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource\n");
@@ -842,16 +839,12 @@ int gprs_rlcmac_dl_tbf::rcvd_dl_ack(uint8_t final_ack, uint8_t ssn, uint8_t *rbb
void gprs_rlcmac_dl_tbf::reuse_tbf()
{
- uint8_t trx;
struct gprs_rlcmac_dl_tbf *new_tbf = NULL;
- int8_t tfi; /* must be signed */
bts->tbf_reused();
- 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(), ms(), tfi, trx,
- ms_class(), 0);
+ new_tbf = tbf_alloc_dl_tbf(bts->bts_data(), ms(),
+ this->trx->trx_no, 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 66bc84f..b6f263f 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -38,13 +38,13 @@ int16_t spoof_mnc = 0, spoof_mcc = 0;
static gprs_rlcmac_tbf *tbf_alloc(struct gprs_rlcmac_bts *bts,
GprsMs *ms, gprs_rlcmac_tbf_direction dir,
- uint8_t tfi, uint8_t trx,
+ uint8_t use_trx,
uint8_t ms_class, uint8_t single_slot)
{
if (dir == GPRS_RLCMAC_UL_TBF)
- return tbf_alloc_ul_tbf(bts, ms, tfi, trx, ms_class, single_slot);
+ return tbf_alloc_ul_tbf(bts, ms, use_trx, ms_class, single_slot);
else
- return tbf_alloc_dl_tbf(bts, ms, tfi, trx, ms_class, single_slot);
+ return tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, single_slot);
}
static void check_tfi_usage(BTS *the_bts)
@@ -133,9 +133,7 @@ static void test_alloc_a(gprs_rlcmac_tbf_direction dir,
* least this part is working okay.
*/
for (int i = 0; i < count; ++i) {
- tfi = the_bts.tfi_find_free(dir, &used_trx, 0);
- OSMO_ASSERT(tfi >= 0);
- tbfs[i] = tbf_alloc(bts, NULL, dir, tfi, used_trx, 0, 0);
+ tbfs[i] = tbf_alloc(bts, NULL, dir, -1, 0, 0);
OSMO_ASSERT(tbfs[i] != NULL);
tfi = the_bts.tfi_find_free(dir, &tmp_trx, used_trx);
OSMO_ASSERT(tbfs[i]->tfi() != tfi);
@@ -151,16 +149,13 @@ static void test_alloc_a(gprs_rlcmac_tbf_direction dir,
OSMO_ASSERT(tfi < 0);
break;
}
- OSMO_ASSERT(!tbf_alloc(bts, NULL, dir, tfi, used_trx, 0, 0));
+ OSMO_ASSERT(!tbf_alloc(bts, NULL, dir, -1, 0, 0));
for (size_t i = 0; i < ARRAY_SIZE(tbfs); ++i)
if (tbfs[i])
tbf_free(tbfs[i]);
- tfi = the_bts.tfi_find_free(dir, &used_trx, 0);
- OSMO_ASSERT(tfi >= 0);
-
- tbfs[tfi] = tbf_alloc(bts, NULL, dir, tfi, used_trx, 0, 0);
+ tbfs[tfi] = tbf_alloc(bts, NULL, dir, -1, 0, 0);
OSMO_ASSERT(tbfs[tfi]);
tbf_free(tbfs[tfi]);
}
@@ -198,7 +193,6 @@ static void test_alloc_b(int ms_class)
BTS the_bts;
struct gprs_rlcmac_bts *bts;
struct gprs_rlcmac_trx *trx;
- int tfi;
uint8_t trx_no;
gprs_rlcmac_tbf *ul_tbf, *dl_tbf;
@@ -213,16 +207,15 @@ static void test_alloc_b(int ms_class)
trx->pdch[6].enable();
trx->pdch[7].enable();
- tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- OSMO_ASSERT(tfi >= 0);
- ul_tbf = tbf_alloc_ul_tbf(bts, NULL, tfi, trx_no, ms_class, 1);
+ ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 1);
OSMO_ASSERT(ul_tbf);
+ OSMO_ASSERT(ul_tbf->ms());
+ OSMO_ASSERT(ul_tbf->ms()->current_trx());
+ trx_no = ul_tbf->ms()->current_trx()->trx_no;
dump_assignment(ul_tbf, "UL");
/* assume final ack has not been sent */
- tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- OSMO_ASSERT(tfi >= 0);
- dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), tfi, trx_no, ms_class, 0);
+ dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0);
OSMO_ASSERT(dl_tbf);
dump_assignment(dl_tbf, "DL");
@@ -241,7 +234,6 @@ static void test_alloc_b(int ms_class)
BTS the_bts;
struct gprs_rlcmac_bts *bts;
struct gprs_rlcmac_trx *trx;
- int tfi;
uint8_t trx_no;
gprs_rlcmac_ul_tbf *ul_tbf;
@@ -257,16 +249,15 @@ static void test_alloc_b(int ms_class)
trx->pdch[6].enable();
trx->pdch[7].enable();
- tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- OSMO_ASSERT(tfi >= 0);
- dl_tbf = tbf_alloc_dl_tbf(bts, NULL, tfi, trx_no, ms_class, 1);
+ dl_tbf = tbf_alloc_dl_tbf(bts, NULL, -1, ms_class, 1);
dl_tbf->update_ms(0x23, GPRS_RLCMAC_DL_TBF);
OSMO_ASSERT(dl_tbf);
+ OSMO_ASSERT(dl_tbf->ms());
+ OSMO_ASSERT(dl_tbf->ms()->current_trx());
+ trx_no = dl_tbf->ms()->current_trx()->trx_no;
dump_assignment(dl_tbf, "DL");
- tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- OSMO_ASSERT(tfi >= 0);
- ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), tfi, trx_no, ms_class, 0);
+ ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), trx_no, ms_class, 0);
ul_tbf->update_ms(0x23, GPRS_RLCMAC_UL_TBF);
ul_tbf->m_contention_resolution_done = 1;
OSMO_ASSERT(ul_tbf);
@@ -308,14 +299,15 @@ static void test_alloc_b(int ms_class)
tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
OSMO_ASSERT(tfi >= 0);
- ul_tbf = tbf_alloc_ul_tbf(bts, NULL, tfi, trx_no, ms_class, 0);
+ ul_tbf = tbf_alloc_ul_tbf(bts, NULL, .1, ms_class, 0);
OSMO_ASSERT(ul_tbf);
+ OSMO_ASSERT(ul_tbf->ms());
+ OSMO_ASSERT(ul_tbf->ms()->current_trx());
+ trx_no = ul_tbf->ms()->current_trx()->trx_no;
dump_assignment(ul_tbf, "UL");
/* assume final ack has not been sent */
- tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- OSMO_ASSERT(tfi >= 0);
- dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), tfi, trx_no, ms_class, 0);
+ dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0);
OSMO_ASSERT(dl_tbf);
dump_assignment(dl_tbf, "DL");
@@ -353,7 +345,6 @@ static void test_alloc_b(bool ts0, bool ts1, bool ts2, bool ts3, bool ts4, bool
BTS the_bts;
struct gprs_rlcmac_bts *bts;
struct gprs_rlcmac_trx *trx;
- int tfi;
uint8_t trx_no;
gprs_rlcmac_tbf *ul_tbf, *dl_tbf;
@@ -371,16 +362,14 @@ static void test_alloc_b(bool ts0, bool ts1, bool ts2, bool ts3, bool ts4, bool
ENABLE_PDCH(6, ts6, trx);
ENABLE_PDCH(7, ts7, trx);
- tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
-
- OSMO_ASSERT(tfi >= 0);
- ul_tbf = tbf_alloc_ul_tbf(bts, NULL, tfi, trx_no, ms_class, 1);
+ ul_tbf = tbf_alloc_ul_tbf(bts, NULL, -1, ms_class, 1);
+ OSMO_ASSERT(ul_tbf->ms());
+ OSMO_ASSERT(ul_tbf->ms()->current_trx());
+ trx_no = ul_tbf->ms()->current_trx()->trx_no;
OSMO_ASSERT(ul_tbf);
/* assume final ack has not been sent */
- tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- OSMO_ASSERT(tfi >= 0);
- dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), tfi, trx_no, ms_class, 0);
+ dl_tbf = tbf_alloc_dl_tbf(bts, ul_tbf->ms(), trx_no, ms_class, 0);
OSMO_ASSERT(dl_tbf);
/* verify that both are on the same ts */
@@ -399,7 +388,6 @@ static void test_alloc_b(bool ts0, bool ts1, bool ts2, bool ts3, bool ts4, bool
BTS the_bts;
struct gprs_rlcmac_bts *bts;
struct gprs_rlcmac_trx *trx;
- int tfi;
uint8_t trx_no;
gprs_rlcmac_ul_tbf *ul_tbf;
@@ -418,15 +406,14 @@ static void test_alloc_b(bool ts0, bool ts1, bool ts2, bool ts3, bool ts4, bool
ENABLE_PDCH(6, ts6, trx);
ENABLE_PDCH(7, ts7, trx);
- tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- OSMO_ASSERT(tfi >= 0);
- dl_tbf = tbf_alloc_dl_tbf(bts, NULL, tfi, trx_no, ms_class, 1);
+ dl_tbf = tbf_alloc_dl_tbf(bts, NULL, -1, ms_class, 1);
OSMO_ASSERT(dl_tbf);
+ OSMO_ASSERT(dl_tbf->ms());
+ OSMO_ASSERT(dl_tbf->ms()->current_trx());
+ trx_no = dl_tbf->ms()->current_trx()->trx_no;
dl_tbf->update_ms(0x23, GPRS_RLCMAC_DL_TBF);
- tfi = the_bts.tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- OSMO_ASSERT(tfi >= 0);
- ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), tfi, trx_no, ms_class, 0);
+ ul_tbf = tbf_alloc_ul_tbf(bts, dl_tbf->ms(), trx_no, ms_class, 0);
OSMO_ASSERT(ul_tbf);
ul_tbf->update_ms(0x23, GPRS_RLCMAC_UL_TBF);
ul_tbf->m_contention_resolution_done = 1;
@@ -472,7 +459,8 @@ static void test_alloc_b()
typedef int (*algo_t)(struct gprs_rlcmac_bts *bts,
struct GprsMs *ms,
- struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single);
+ struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
+ int use_trx);
static char get_dir_char(uint8_t mask, uint8_t tx, uint8_t rx)
{
@@ -495,30 +483,28 @@ static GprsMs *alloc_tbfs(BTS *the_bts, GprsMs *ms, unsigned ms_class,
enum test_mode mode)
{
struct gprs_rlcmac_bts *bts;
- int tfi;
- uint8_t trx_no;
+ uint8_t trx_no = -1;
bts = the_bts->bts_data();
gprs_rlcmac_tbf *tbf = NULL;
+ if (ms && ms->current_trx())
+ trx_no = ms->current_trx()->trx_no;
+
/* Allocate what is needed first */
switch (mode) {
case TEST_MODE_UL_ONLY:
case TEST_MODE_DL_AFTER_UL:
case TEST_MODE_UL_AND_DL:
- tfi = the_bts->tfi_find_free(GPRS_RLCMAC_UL_TBF, &trx_no, -1);
- if (tfi < 0)
- return NULL;
- tbf = tbf_alloc_ul_tbf(bts, ms, tfi, trx_no, ms_class, 0);
+ tbf = tbf_alloc_ul_tbf(bts, ms, trx_no, ms_class, 0);
if (tbf == NULL)
return NULL;
break;
case TEST_MODE_DL_ONLY:
case TEST_MODE_UL_AFTER_DL:
case TEST_MODE_DL_AND_UL:
- tfi = the_bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx_no, -1);
- tbf = tbf_alloc_dl_tbf(bts, ms, tfi, trx_no, ms_class, 0);
+ tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, ms_class, 0);
if (tbf == NULL)
return NULL;
}
diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err
index 2dc99fe..d848aff 100644
--- a/tests/alloc/AllocTest.err
+++ b/tests/alloc/AllocTest.err
@@ -1,36 +1,55 @@
No TFI available.
No TFI available.
+No TFI available.
+- Failed to allocate a TFI
- Failed to allocate a TS, no USF available
No TFI available.
No TFI available.
+No TFI available.
+- Failed to allocate a TFI
- Failed to allocate a TS, no USF available
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
No TFI available.
No TFI available.
+- Failed to allocate a TFI
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 47c090a..159c859 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -85,14 +85,14 @@ static void test_tbf_tlli_update()
* Make a uplink and downlink allocation
*/
gprs_rlcmac_tbf *dl_tbf = tbf_alloc_dl_tbf(the_bts.bts_data(),
- NULL, 0,
+ NULL,
0, 0, 0);
OSMO_ASSERT(dl_tbf != NULL);
dl_tbf->update_ms(0x2342, GPRS_RLCMAC_DL_TBF);
dl_tbf->set_ta(4);
gprs_rlcmac_tbf *ul_tbf = tbf_alloc_ul_tbf(the_bts.bts_data(),
- dl_tbf->ms(), 0,
+ dl_tbf->ms(),
0, 0, 0);
OSMO_ASSERT(ul_tbf != NULL);
ul_tbf->update_ms(0x2342, GPRS_RLCMAC_UL_TBF);
@@ -170,7 +170,7 @@ static gprs_rlcmac_dl_tbf *create_dl_tbf(BTS *the_bts, uint8_t ms_class,
tfi = the_bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx_no, -1);
OSMO_ASSERT(tfi >= 0);
- dl_tbf = tbf_alloc_dl_tbf(bts, NULL, tfi, trx_no, ms_class, 1);
+ dl_tbf = tbf_alloc_dl_tbf(bts, NULL, trx_no, ms_class, 1);
check_tbf(dl_tbf);
/* "Establish" the DL TBF */
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index 3c7892e..c64d4f1 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -1,7 +1,9 @@
********** TBF starts here **********
-Allocating DL TBF: TFI=0 TRX=0 MS_CLASS=0
+Allocating DL TBF: MS_CLASS=0
Creating MS object, TLLI = 0x00000000
Slot Allocation (Algorithm A) for class 0
+Searching for first unallocated TFI: TRX=0 first TS=2
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 4, because not enabled
@@ -13,11 +15,14 @@ Slot Allocation (Algorithm A) for class 0
PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 2
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 04, dl_slots = 04
The MS object cannot fully confirm an unexpected TLLI: 0x00002342, partly confirmed
Modifying MS object, TLLI = 0x00002342, TA 0 -> 4
********** TBF starts here **********
-Allocating UL TBF: TFI=0 TRX=0 MS_CLASS=0
+Allocating UL TBF: MS_CLASS=0
Slot Allocation (Algorithm A) for class 0
+Searching for first unallocated TFI: TRX=0 first TS=2
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 3, because need to reuse TS
@@ -29,6 +34,7 @@ Slot Allocation (Algorithm A) for class 0
PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001.
- Setting Control TS 2
Attaching TBF to MS object, TLLI = 0x00002342, TBF = TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL): trx = 0, ul_slots = 04, dl_slots = 00
Modifying MS object, TLLI: 0x00000000 -> 0x00002342, already confirmed partly
The MS object cannot fully confirm an unexpected TLLI: 0x00004232, partly confirmed
Modifying MS object, TLLI: 0x00002342 -> 0x00004232, already confirmed partly
@@ -36,10 +42,12 @@ Modifying MS object, TLLI = 0x00004232, TA 4 -> 6
Searching for first unallocated TFI: TRX=0 first TS=4
Found TFI=0.
********** TBF starts here **********
-Allocating DL TBF: TFI=0 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -51,6 +59,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
@@ -77,11 +86,11 @@ Sending data request: trx=0 ts=4 sapi=5 arfcn=0 fn=8 block=2 data=07 00 03 14 15
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge
- Final ACK received.
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to WAIT RELEASE
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=1.
********** TBF starts here **********
-Allocating DL TBF: TFI=1 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=1.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -94,6 +103,7 @@ PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBF
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL)
Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE)
+Allocated TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) Trigger dowlink assignment on PACCH, because another LLC PDU has arrived in between
Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) exists
TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -111,10 +121,12 @@ Destroying MS object, TLLI = 0xffeeddcc
Searching for first unallocated TFI: TRX=0 first TS=4
Found TFI=0.
********** TBF starts here **********
-Allocating DL TBF: TFI=0 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -126,6 +138,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
@@ -152,11 +165,11 @@ Sending data request: trx=0 ts=4 sapi=5 arfcn=0 fn=8 block=2 data=07 00 03 14 15
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge
- Final ACK received.
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to WAIT RELEASE
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=1.
********** TBF starts here **********
-Allocating DL TBF: TFI=1 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=1.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -169,6 +182,7 @@ PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBF
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL)
Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE)
+Allocated TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) Trigger dowlink assignment on PACCH, because another LLC PDU has arrived in between
Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=WAIT RELEASE) exists
TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -186,10 +200,12 @@ Destroying MS object, TLLI = 0xffeeddcc
Searching for first unallocated TFI: TRX=0 first TS=4
Found TFI=0.
********** TBF starts here **********
-Allocating DL TBF: TFI=0 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -201,6 +217,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) append
@@ -414,10 +431,12 @@ Destroying MS object, TLLI = 0xffeeddcc
Searching for first unallocated TFI: TRX=0 first TS=4
Found TFI=0.
********** TBF starts here **********
-Allocating DL TBF: TFI=0 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -429,14 +448,17 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
Searching for first unallocated TFI: TRX=0 first TS=4
Found TFI=1.
********** TBF starts here **********
-Allocating DL TBF: TFI=1 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=1.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -448,6 +470,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW
The MS object cannot fully confirm an unexpected TLLI: 0xf1000001, partly confirmed
The MS object cannot fully confirm an unexpected TLLI: 0xf1000002, partly confirmed
@@ -468,13 +491,13 @@ PDCH(TS 4, TRX 0): Detaching TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=FLOW), 0 TBF
Detaching TBF from MS object, TLLI = 0xf1000001, TBF = TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=FLOW)
Destroying MS object, TLLI = 0xf1000001
********** TBF ends here **********
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
********** TBF starts here **********
-Allocating DL TBF: TFI=0 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -486,6 +509,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000000, partly confirmed
TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000000, IMSI '' -> '001001000000000'
@@ -494,13 +518,13 @@ TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 30 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 08 00 23 2b 2b 2b 2b
TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=1.
********** TBF starts here **********
-Allocating DL TBF: TFI=1 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=1.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -512,6 +536,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000001, partly confirmed
TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000001, IMSI '' -> '001001000000001'
@@ -520,13 +545,13 @@ TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 18 40 23 2b 2b 2b 2b
TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=2.
********** TBF starts here **********
-Allocating DL TBF: TFI=2 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=2.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -538,6 +563,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=2 TLLI=0x00000000 DIR=DL STATE=NULL), 3 TBFs, USFs = 00, TFIs = 00000007.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=2 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=2 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000002, partly confirmed
TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000002, IMSI '' -> '001001000000002'
@@ -546,13 +572,13 @@ TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 28 80 23 2b 2b 2b 2b
TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=3.
********** TBF starts here **********
-Allocating DL TBF: TFI=3 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=3.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -564,6 +590,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=3 TLLI=0x00000000 DIR=DL STATE=NULL), 4 TBFs, USFs = 00, TFIs = 0000000f.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=3 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=3 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000003, partly confirmed
TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000003, IMSI '' -> '001001000000003'
@@ -572,13 +599,13 @@ TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 33 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 38 c0 23 2b 2b 2b 2b
TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=4.
********** TBF starts here **********
-Allocating DL TBF: TFI=4 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=4.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -590,6 +617,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL), 5 TBFs, USFs = 00, TFIs = 0000001f.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000004, partly confirmed
TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000004, IMSI '' -> '001001000000004'
@@ -598,13 +626,13 @@ TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 34 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 49 00 23 2b 2b 2b 2b
TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=5.
********** TBF starts here **********
-Allocating DL TBF: TFI=5 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=5.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -616,6 +644,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=5 TLLI=0x00000000 DIR=DL STATE=NULL), 6 TBFs, USFs = 00, TFIs = 0000003f.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=5 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=5 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000005, partly confirmed
TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000005, IMSI '' -> '001001000000005'
@@ -624,13 +653,13 @@ TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 35 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 59 40 23 2b 2b 2b 2b
TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=6.
********** TBF starts here **********
-Allocating DL TBF: TFI=6 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=6.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -642,6 +671,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL), 7 TBFs, USFs = 00, TFIs = 0000007f.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000006, partly confirmed
TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000006, IMSI '' -> '001001000000006'
@@ -650,13 +680,13 @@ TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 36 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 69 80 23 2b 2b 2b 2b
TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=7.
********** TBF starts here **********
-Allocating DL TBF: TFI=7 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=7.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -668,6 +698,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL), 8 TBFs, USFs = 00, TFIs = 000000ff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000007, partly confirmed
TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000007, IMSI '' -> '001001000000007'
@@ -676,13 +707,13 @@ TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 37 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 79 c0 23 2b 2b 2b 2b
TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=8.
********** TBF starts here **********
-Allocating DL TBF: TFI=8 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=8.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -694,6 +725,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=8 TLLI=0x00000000 DIR=DL STATE=NULL), 9 TBFs, USFs = 00, TFIs = 000001ff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=8 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=8 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000008, partly confirmed
TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000008, IMSI '' -> '001001000000008'
@@ -702,13 +734,13 @@ TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 38 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 8a 00 23 2b 2b 2b 2b
TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=9.
********** TBF starts here **********
-Allocating DL TBF: TFI=9 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=9.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -720,6 +752,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=9 TLLI=0x00000000 DIR=DL STATE=NULL), 10 TBFs, USFs = 00, TFIs = 000003ff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=9 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=9 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000009, partly confirmed
TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000009, IMSI '' -> '001001000000009'
@@ -728,13 +761,13 @@ TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 30 39 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 9a 40 23 2b 2b 2b 2b
TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=10.
********** TBF starts here **********
-Allocating DL TBF: TFI=10 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=10.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -746,6 +779,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=10 TLLI=0x00000000 DIR=DL STATE=NULL), 11 TBFs, USFs = 00, TFIs = 000007ff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=10 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=10 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000000a, partly confirmed
TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000000a, IMSI '' -> '001001000000010'
@@ -754,13 +788,13 @@ TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 30 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 aa 80 23 2b 2b 2b 2b
TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=11.
********** TBF starts here **********
-Allocating DL TBF: TFI=11 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=11.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -772,6 +806,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=11 TLLI=0x00000000 DIR=DL STATE=NULL), 12 TBFs, USFs = 00, TFIs = 00000fff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=11 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=11 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000000b, partly confirmed
TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000000b, IMSI '' -> '001001000000011'
@@ -780,13 +815,13 @@ TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 ba c0 23 2b 2b 2b 2b
TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=12.
********** TBF starts here **********
-Allocating DL TBF: TFI=12 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=12.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -798,6 +833,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=12 TLLI=0x00000000 DIR=DL STATE=NULL), 13 TBFs, USFs = 00, TFIs = 00001fff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=12 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=12 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000000c, partly confirmed
TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000000c, IMSI '' -> '001001000000012'
@@ -806,13 +842,13 @@ TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 cb 00 23 2b 2b 2b 2b
TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=13.
********** TBF starts here **********
-Allocating DL TBF: TFI=13 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=13.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -824,6 +860,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=13 TLLI=0x00000000 DIR=DL STATE=NULL), 14 TBFs, USFs = 00, TFIs = 00003fff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=13 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=13 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000000d, partly confirmed
TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000000d, IMSI '' -> '001001000000013'
@@ -832,13 +869,13 @@ TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 33 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 db 40 23 2b 2b 2b 2b
TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=14.
********** TBF starts here **********
-Allocating DL TBF: TFI=14 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=14.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -850,6 +887,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=14 TLLI=0x00000000 DIR=DL STATE=NULL), 15 TBFs, USFs = 00, TFIs = 00007fff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=14 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=14 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000000e, partly confirmed
TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000000e, IMSI '' -> '001001000000014'
@@ -858,13 +896,13 @@ TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 34 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 eb 80 23 2b 2b 2b 2b
TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=15.
********** TBF starts here **********
-Allocating DL TBF: TFI=15 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=15.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -876,6 +914,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=15 TLLI=0x00000000 DIR=DL STATE=NULL), 16 TBFs, USFs = 00, TFIs = 0000ffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=15 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=15 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000000f, partly confirmed
TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000000f, IMSI '' -> '001001000000015'
@@ -884,13 +923,13 @@ TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 35 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 00 fb c0 23 2b 2b 2b 2b
TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=16.
********** TBF starts here **********
-Allocating DL TBF: TFI=16 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=16.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -902,6 +941,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=16 TLLI=0x00000000 DIR=DL STATE=NULL), 17 TBFs, USFs = 00, TFIs = 0001ffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=16 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=16 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000010, partly confirmed
TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000010, IMSI '' -> '001001000000016'
@@ -910,13 +950,13 @@ TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 36 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 0c 00 23 2b 2b 2b 2b
TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=17.
********** TBF starts here **********
-Allocating DL TBF: TFI=17 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=17.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -928,6 +968,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=17 TLLI=0x00000000 DIR=DL STATE=NULL), 18 TBFs, USFs = 00, TFIs = 0003ffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=17 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=17 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000011, partly confirmed
TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000011, IMSI '' -> '001001000000017'
@@ -936,13 +977,13 @@ TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 37 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 1c 40 23 2b 2b 2b 2b
TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=18.
********** TBF starts here **********
-Allocating DL TBF: TFI=18 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=18.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -954,6 +995,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=18 TLLI=0x00000000 DIR=DL STATE=NULL), 19 TBFs, USFs = 00, TFIs = 0007ffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=18 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=18 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000012, partly confirmed
TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000012, IMSI '' -> '001001000000018'
@@ -962,13 +1004,13 @@ TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 38 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 2c 80 23 2b 2b 2b 2b
TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=19.
********** TBF starts here **********
-Allocating DL TBF: TFI=19 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=19.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -980,6 +1022,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=19 TLLI=0x00000000 DIR=DL STATE=NULL), 20 TBFs, USFs = 00, TFIs = 000fffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=19 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=19 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000013, partly confirmed
TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000013, IMSI '' -> '001001000000019'
@@ -988,13 +1031,13 @@ TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 31 39 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 3c c0 23 2b 2b 2b 2b
TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=20.
********** TBF starts here **********
-Allocating DL TBF: TFI=20 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=20.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1006,6 +1049,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=20 TLLI=0x00000000 DIR=DL STATE=NULL), 21 TBFs, USFs = 00, TFIs = 001fffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=20 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=20 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000014, partly confirmed
TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000014, IMSI '' -> '001001000000020'
@@ -1014,13 +1058,13 @@ TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 30 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 4d 00 23 2b 2b 2b 2b
TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=21.
********** TBF starts here **********
-Allocating DL TBF: TFI=21 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=21.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1032,6 +1076,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=21 TLLI=0x00000000 DIR=DL STATE=NULL), 22 TBFs, USFs = 00, TFIs = 003fffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=21 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=21 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000015, partly confirmed
TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000015, IMSI '' -> '001001000000021'
@@ -1040,13 +1085,13 @@ TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 5d 40 23 2b 2b 2b 2b
TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=22.
********** TBF starts here **********
-Allocating DL TBF: TFI=22 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=22.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1058,6 +1103,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=22 TLLI=0x00000000 DIR=DL STATE=NULL), 23 TBFs, USFs = 00, TFIs = 007fffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=22 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=22 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000016, partly confirmed
TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000016, IMSI '' -> '001001000000022'
@@ -1066,13 +1112,13 @@ TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 32 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 6d 80 23 2b 2b 2b 2b
TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=23.
********** TBF starts here **********
-Allocating DL TBF: TFI=23 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=23.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1084,6 +1130,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=23 TLLI=0x00000000 DIR=DL STATE=NULL), 24 TBFs, USFs = 00, TFIs = 00ffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=23 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=23 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000017, partly confirmed
TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000017, IMSI '' -> '001001000000023'
@@ -1092,13 +1139,13 @@ TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 33 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 7d c0 23 2b 2b 2b 2b
TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=24.
********** TBF starts here **********
-Allocating DL TBF: TFI=24 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=24.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1110,6 +1157,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=24 TLLI=0x00000000 DIR=DL STATE=NULL), 25 TBFs, USFs = 00, TFIs = 01ffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=24 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=24 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000018, partly confirmed
TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000018, IMSI '' -> '001001000000024'
@@ -1118,13 +1166,13 @@ TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 34 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 8e 00 23 2b 2b 2b 2b
TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=25.
********** TBF starts here **********
-Allocating DL TBF: TFI=25 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=25.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1136,6 +1184,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=25 TLLI=0x00000000 DIR=DL STATE=NULL), 26 TBFs, USFs = 00, TFIs = 03ffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=25 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=25 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0000019, partly confirmed
TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0000019, IMSI '' -> '001001000000025'
@@ -1144,13 +1193,13 @@ TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 35 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 9e 40 23 2b 2b 2b 2b
TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=26.
********** TBF starts here **********
-Allocating DL TBF: TFI=26 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=26.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1162,6 +1211,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=26 TLLI=0x00000000 DIR=DL STATE=NULL), 27 TBFs, USFs = 00, TFIs = 07ffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=26 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=26 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000001a, partly confirmed
TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000001a, IMSI '' -> '001001000000026'
@@ -1170,13 +1220,13 @@ TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 36 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 ae 80 23 2b 2b 2b 2b
TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=27.
********** TBF starts here **********
-Allocating DL TBF: TFI=27 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=27.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1188,6 +1238,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=27 TLLI=0x00000000 DIR=DL STATE=NULL), 28 TBFs, USFs = 00, TFIs = 0fffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=27 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=27 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000001b, partly confirmed
TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000001b, IMSI '' -> '001001000000027'
@@ -1196,13 +1247,13 @@ TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 37 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 be c0 23 2b 2b 2b 2b
TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=28.
********** TBF starts here **********
-Allocating DL TBF: TFI=28 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=28.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1214,6 +1265,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=28 TLLI=0x00000000 DIR=DL STATE=NULL), 29 TBFs, USFs = 00, TFIs = 1fffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=28 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=28 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000001c, partly confirmed
TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000001c, IMSI '' -> '001001000000028'
@@ -1222,13 +1274,13 @@ TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 38 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 cf 00 23 2b 2b 2b 2b
TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=29.
********** TBF starts here **********
-Allocating DL TBF: TFI=29 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=29.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1240,6 +1292,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=29 TLLI=0x00000000 DIR=DL STATE=NULL), 30 TBFs, USFs = 00, TFIs = 3fffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=29 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=29 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000001d, partly confirmed
TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000001d, IMSI '' -> '001001000000029'
@@ -1248,13 +1301,13 @@ TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 32 39 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 df 40 23 2b 2b 2b 2b
TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=30.
********** TBF starts here **********
-Allocating DL TBF: TFI=30 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=30.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1266,6 +1319,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=30 TLLI=0x00000000 DIR=DL STATE=NULL), 31 TBFs, USFs = 00, TFIs = 7fffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=30 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=30 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000001e, partly confirmed
TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000001e, IMSI '' -> '001001000000030'
@@ -1274,13 +1328,13 @@ TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 33 30 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 ef 80 23 2b 2b 2b 2b
TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) append
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=31.
********** TBF starts here **********
-Allocating DL TBF: TFI=31 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=31.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1292,6 +1346,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL), 32 TBFs, USFs = 00, TFIs = ffffffff.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc000001f, partly confirmed
TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc000001f, IMSI '' -> '001001000000031'
@@ -1300,16 +1355,23 @@ TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) changes state from NULL to ASSIGN
TX: START TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) Immediate Assignment Downlink (PCH)
Sending data request: trx=0 ts=0 sapi=3 arfcn=0 fn=0 block=0 data=30 33 31 2d 06 3f 30 0c 00 00 7d 80 00 00 00 dc 00 00 01 ff c0 23 2b 2b 2b 2b
TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) append
+********** TBF starts here **********
+Allocating DL TBF: MS_CLASS=45
+Creating MS object, TLLI = 0x00000000
+Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
+Slot Allocation (Algorithm A) for class 45
Searching for first unallocated TFI: TRX=0 first TS=4
No TFI available.
+- Failed to allocate a TFI
No PDCH resource
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
+Destroying MS object, TLLI = 0x00000000
********** TBF starts here **********
-Allocating DL TBF: TFI=0 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Creating MS object, TLLI = 0x00000000
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1321,6 +1383,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
The MS object cannot fully confirm an unexpected TLLI: 0xc0123456, partly confirmed
TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START
Modifying MS object, TLLI = 0xc0123456, IMSI '' -> '001001000123456'
@@ -1334,11 +1397,11 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) free
PDCH(TS 4, TRX 0): Detaching TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN), 0 TBFs, USFs = 00, TFIs = 00000000.
Detaching TBF from MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN)
********** TBF ends here **********
-Searching for first unallocated TFI: TRX=0 first TS=4
- Found TFI=0.
********** TBF starts here **********
-Allocating DL TBF: TFI=0 TRX=0 MS_CLASS=45
+Allocating DL TBF: MS_CLASS=45
Slot Allocation (Algorithm A) for class 45
+Searching for first unallocated TFI: TRX=0 first TS=4
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1350,6 +1413,7 @@ Slot Allocation (Algorithm A) for class 45
PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
- Setting Control TS 4
Attaching TBF to MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL): trx = 0, ul_slots = 10, dl_slots = 10
TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START
Send dowlink assignment for TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) on PCH, no TBF exist (IMSI=001001000123456)
TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) changes state from NULL to ASSIGN
@@ -1386,12 +1450,12 @@ MSG = 07 01 04 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
Searching for first unallocated TFI: TRX=0 first TS=7
Found TFI=0.
MS requests UL TBF on RACH, so we provide one:
-Searching for first unallocated TFI: TRX=0 first TS=7
- Found TFI=0.
********** TBF starts here **********
-Allocating UL TBF: TFI=0 TRX=0 MS_CLASS=0
+Allocating UL TBF: MS_CLASS=0
Creating MS object, TLLI = 0x00000000
Slot Allocation (Algorithm A) for class 0
+Searching for first unallocated TFI: TRX=0 first TS=7
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1403,6 +1467,7 @@ Slot Allocation (Algorithm A) for class 0
PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001.
- Setting Control TS 7
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL): trx = 0, ul_slots = 80, dl_slots = 00
Modifying MS object, TLLI = 0x00000000, TA 0 -> 7
TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to FLOW
TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=FLOW) starting timer 3169.
@@ -1443,12 +1508,12 @@ Searching for first unallocated TFI: TRX=0 first TS=7
------------------------- RX : Uplink Control Block -------------------------
MS requests UL TBF in packet resource request of single block, so we provide one:
MS does not give us a class.
-Searching for first unallocated TFI: TRX=0 first TS=7
- Found TFI=0.
********** TBF starts here **********
-Allocating UL TBF: TFI=0 TRX=0 MS_CLASS=0
+Allocating UL TBF: MS_CLASS=0
Creating MS object, TLLI = 0x00000000
Slot Allocation (Algorithm A) for class 0
+Searching for first unallocated TFI: TRX=0 first TS=7
+ Found TFI=0.
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
- Skipping TS 2, because not enabled
@@ -1460,6 +1525,7 @@ Slot Allocation (Algorithm A) for class 0
PDCH(TS 7, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001.
- Setting Control TS 7
Attaching TBF to MS object, TLLI = 0x00000000, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL)
+Allocated TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL): trx = 0, ul_slots = 80, dl_slots = 00
TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) changes state from NULL to ASSIGN
TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=ASSIGN) starting timer 3169.
Modifying MS object, UL TLLI: 0x00000000 -> 0xf1223344, not yet confirmed