aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-07-30 14:48:06 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2021-08-23 17:14:23 +0200
commitf48de627f4dacd867fabec8161f29e88894ee17e (patch)
treef7afdf839489a5f5927acbbb5fddfdcb74804488
parenta161bf48bd68d8fa1e1cbeb61f9d51d1de5f344c (diff)
tbf: Move T3193 to tbf_state FSM
-rw-r--r--src/tbf.cpp5
-rw-r--r--src/tbf.h4
-rw-r--r--src/tbf_dl.cpp26
-rw-r--r--src/tbf_fsm.c42
-rw-r--r--src/tbf_fsm.h1
-rw-r--r--tests/tbf/TbfTest.cpp2
-rw-r--r--tests/tbf/TbfTest.err96
7 files changed, 50 insertions, 126 deletions
diff --git a/src/tbf.cpp b/src/tbf.cpp
index acd191be..4154d501 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -69,7 +69,6 @@ static const struct value_string tbf_counters_names[] = {
static const struct value_string tbf_timers_names[] = {
OSMO_VALUE_STRING(T3141),
OSMO_VALUE_STRING(T3191),
- OSMO_VALUE_STRING(T3193),
{ 0, NULL }
};
@@ -446,7 +445,6 @@ static inline void tbf_timeout_free(struct gprs_rlcmac_tbf *tbf, enum tbf_timers
* the packet access is forgotten.*/
T_CBACK(T3141, true)
T_CBACK(T3191, true)
-T_CBACK(T3193, false)
void gprs_rlcmac_tbf::t_start(enum tbf_timers t, int T, const char *reason, bool force,
const char *file, unsigned line)
@@ -495,9 +493,6 @@ void gprs_rlcmac_tbf::t_start(enum tbf_timers t, int T, const char *reason, bool
case T3191:
Tarr[t].cb = cb_T3191;
break;
- case T3193:
- Tarr[t].cb = cb_T3193;
- break;
default:
LOGPSRC(DTBF, LOGL_ERROR, file, line, "%s attempting to set callback for unknown timer %s [%s], cur_fn=%d\n",
tbf_name(this), get_value_string(tbf_timers_names, t), reason, current_fn);
diff --git a/src/tbf.h b/src/tbf.h
index ffd6cc20..09329333 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -99,10 +99,6 @@ enum tbf_timers {
Wait for reuse of TFI(s) after sending the PACKET TBF RELEASE for an MBMS radio bearer. */
T3191,
- /* Wait for reuse of TFI(s) after reception of the final PACKET DOWNLINK ACK/NACK from the
- MS for this TBF. */
- T3193,
-
T_MAX
};
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 65785f20..885f0d46 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -1141,35 +1141,21 @@ int gprs_rlcmac_dl_tbf::update_window(unsigned first_bsn,
int gprs_rlcmac_dl_tbf::rcvd_dl_final_ack()
{
- osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_FINAL_ACK_RECVD, NULL);
- release();
-
- /* check for LLC PDU in the LLC Queue */
- if (llc_queue_size(llc_queue()) > 0)
- /* we have more data so we will re-use this tbf */
- establish_dl_tbf_on_pacch();
-
- return 0;
-}
-
-int gprs_rlcmac_dl_tbf::release()
-{
uint16_t received;
+ osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_FINAL_ACK_RECVD, NULL);
+
/* range V(A)..V(S)-1 */
received = m_window.count_unacked();
-
/* report all outstanding packets as received */
gprs_rlcmac_received_lost(this, received, 0);
-
- /* start T3193 */
- T_START(this, T3193, 3193, "release (DL-TBF)", true);
-
- /* reset rlc states */
m_tx_counter = 0;
m_window.reset();
- osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL);
+ /* check for LLC PDU in the LLC Queue */
+ if (llc_queue_size(llc_queue()) > 0)
+ /* we have more data so we will re-use this tbf */
+ establish_dl_tbf_on_pacch();
return 0;
}
diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c
index 42c5118e..1641f4dc 100644
--- a/src/tbf_fsm.c
+++ b/src/tbf_fsm.c
@@ -43,7 +43,6 @@ const struct osmo_tdef_state_timeout tbf_fsm_timeouts[32] = {
const struct value_string tbf_fsm_event_names[] = {
{ TBF_EV_ASSIGN_ADD_CCCH, "ASSIGN_ADD_CCCH" },
{ TBF_EV_ASSIGN_ADD_PACCH, "ASSIGN_ADD_PACCH" },
- { TBF_EV_ASSIGN_DEL_CCCH, "ASSIGN_DEL_CCCH" },
{ TBF_EV_ASSIGN_ACK_PACCH, "ASSIGN_ACK_PACCH" },
{ TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" },
{ TBF_EV_ASSIGN_PCUIF_CNF, "ASSIGN_PCUIF_CNF" },
@@ -267,6 +266,23 @@ static void st_finished(struct osmo_fsm_inst *fi, uint32_t event, void *data)
}
}
+static void st_wait_release_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
+{
+ struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv;
+ unsigned long val_s, val_ms, val_us;
+ OSMO_ASSERT(tbf_direction(ctx->tbf) == GPRS_RLCMAC_DL_TBF);
+
+ fi->T = 3193;
+ val_ms = osmo_tdef_get(tbf_ms(ctx->tbf)->bts->T_defs_bts, fi->T, OSMO_TDEF_MS, -1);
+ val_s = val_ms / 1000;
+ val_us = (val_ms % 1000) * 1000;
+ LOGPTBF(ctx->tbf, LOGL_DEBUG, "starting timer T%u with %lu sec. %lu microsec\n",
+ fi->T, val_s, val_us);
+ osmo_timer_schedule(&fi->timer, val_s, val_us);
+
+ mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false);
+}
+
static void st_wait_release(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv;
@@ -307,13 +323,6 @@ static void st_releasing_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
osmo_timer_schedule(&fi->timer, val, 0);
}
-static void tbf_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause)
-{
- /* TODO: needed ?
- * struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv;
- */
-}
-
static void handle_timeout_X2002(struct tbf_fsm_ctx *ctx)
{
struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(ctx->tbf);
@@ -354,6 +363,7 @@ static int tbf_fsm_timer_cb(struct osmo_fsm_inst *fi)
LOGPTBF(ctx->tbf, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n");
/* fall-through */
case 3169:
+ case 3193:
case 3195:
tbf_free(ctx->tbf);
break;
@@ -427,6 +437,7 @@ static struct osmo_fsm_state tbf_fsm_states[] = {
X(TBF_ST_RELEASING),
.name = "WAIT_RELEASE",
.action = st_wait_release,
+ .onenter = st_wait_release_on_enter,
},
[TBF_ST_RELEASING] = {
.in_event_mask =
@@ -438,28 +449,13 @@ static struct osmo_fsm_state tbf_fsm_states[] = {
},
};
-void tbf_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data)
-{
- struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv;
- switch (event) {
- case TBF_EV_ASSIGN_DEL_CCCH:
- mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false);
- break;
- default:
- OSMO_ASSERT(0);
- }
-}
-
struct osmo_fsm tbf_fsm = {
.name = "TBF",
.states = tbf_fsm_states,
.num_states = ARRAY_SIZE(tbf_fsm_states),
.timer_cb = tbf_fsm_timer_cb,
- .cleanup = tbf_fsm_cleanup,
.log_subsys = DTBF,
.event_names = tbf_fsm_event_names,
- .allstate_action = tbf_fsm_allstate_action,
- .allstate_event_mask = X(TBF_EV_ASSIGN_DEL_CCCH),
};
static __attribute__((constructor)) void tbf_fsm_init(void)
diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h
index 2f63eef2..d6fe41f2 100644
--- a/src/tbf_fsm.h
+++ b/src/tbf_fsm.h
@@ -29,7 +29,6 @@ struct gprs_rlcmac_tbf;
enum tbf_fsm_event {
TBF_EV_ASSIGN_ADD_CCCH, /* An assignment is sent over CCCH and confirmation from MS is pending */
TBF_EV_ASSIGN_ADD_PACCH, /* An assignment is sent over PACCH and confirmation from MS is pending */
- TBF_EV_ASSIGN_DEL_CCCH, /* An assignment previously sent over CCCH has been confirmed by MS */
TBF_EV_ASSIGN_ACK_PACCH, /* We received a CTRL ACK confirming assignment started on PACCH */
TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */
TBF_EV_ASSIGN_PCUIF_CNF, /* Transmission of IMM.ASS for DL TBF to the MS confirmed by BTS over PCUIF */
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 62a2582e..ae12f1e7 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -89,7 +89,7 @@ static void check_tbf(gprs_rlcmac_tbf *tbf)
{
OSMO_ASSERT(tbf);
if (tbf->state_is(TBF_ST_WAIT_RELEASE))
- OSMO_ASSERT(tbf->timers_pending(T3191) || tbf->timers_pending(T3193));
+ OSMO_ASSERT(tbf->timers_pending(T3191) || osmo_timer_pending(&tbf->state_fsm.fi->timer));
if (tbf->state_is(TBF_ST_RELEASING))
OSMO_ASSERT(tbf->timers_pending(T_MAX));
}
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index afc5a8f2..a211d220 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -116,8 +116,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=2)""(V(S)-1=1) A=Acked
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) ********** DL-TBF starts here **********
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Allocating DL TBF
TBF{NULL}: Allocated
@@ -145,7 +144,6 @@ TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, P
TBF(DL-TFI_1){NULL}: state_chg to ASSIGN
TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 1 TBFs, USFs = 00, TFIs = 00000002.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE)
********** DL-TBF ends here **********
@@ -231,8 +229,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=2)""(V(S)-1=1) A=Acked
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) ********** DL-TBF starts here **********
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Allocating DL TBF
TBF{NULL}: Allocated
@@ -267,7 +264,6 @@ TBF(DL-TFI_1){ASSIGN}: Deallocated
UL_ASS_TBF(DL-TFI_1){NONE}: Deallocated
DL_ASS_TBF(DL-TFI_1){NONE}: Deallocated
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE)
********** DL-TBF ends here **********
@@ -534,10 +530,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) V(B): (V(A)=22)""(V(S)-1=21) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received.
TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Destroying MS object
@@ -3233,8 +3227,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) V(B): (V(A)=28)""(V(S)-1=27) A
TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Final ACK received.
TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654379
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec
MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) ********** DL-TBF starts here **********
MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Allocating DL TBF
TBF{NULL}: Allocated
@@ -3346,7 +3339,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) [UPLINK] DOWNLINK ASSIGNED
DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event RX_ASS_CTRL_ACK
DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to NONE
TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) free
-TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE), 1 TBFs, USFs = 01, TFIs = 00000002.
MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE)
********** DL-TBF ends here **********
@@ -4322,10 +4314,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=25)""(V(S)-1=24)
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=112
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -4582,10 +4572,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=20)""(V(S)-1=19)
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=91
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -4802,10 +4790,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=15)""(V(S)-1=14)
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=69
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -5006,10 +4992,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=13)""(V(S)-1=12)
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=60
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -5194,10 +5178,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=11)""(V(S)-1=10)
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=52
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -5358,10 +5340,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=8)""(V(S)-1=7) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=39
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -5531,10 +5511,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=11)""(V(S)-1=10)
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=34
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -5695,10 +5673,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=9)""(V(S)-1=8) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=30
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -5848,10 +5824,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=8)""(V(S)-1=7) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=26
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -5923,10 +5897,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -5995,10 +5967,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -6067,10 +6037,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -6163,10 +6131,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -6258,10 +6224,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -6353,10 +6317,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -6448,10 +6410,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -6529,10 +6489,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -6608,10 +6566,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -6687,10 +6643,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object
@@ -6773,10 +6727,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received.
TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD
TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167
-TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH
+TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec
TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free
-TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF]
PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS)
MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object