tbf: Remove IMSI handling from trigger_dl_ass
Currently the BTS::trigger_dl_ass() method assigns the IMSI to the MS object. This should be (and is already) done earlier where the MS object is retrieved/created. This commit removes the corresponding code along with the 'imsi' parameter from trigger_dl_ass. Sponsored-by: On-Waves ehf
This commit is contained in:
parent
7b9f825ae8
commit
71e55118f5
11
src/bts.cpp
11
src/bts.cpp
|
@ -471,7 +471,7 @@ int BTS::rcv_rach(uint8_t ra, uint32_t Fn, int16_t qta)
|
|||
/* depending on the current TBF, we assign on PACCH or AGCH */
|
||||
void BTS::trigger_dl_ass(
|
||||
struct gprs_rlcmac_dl_tbf *dl_tbf,
|
||||
struct gprs_rlcmac_tbf *old_tbf, const char *imsi)
|
||||
struct gprs_rlcmac_tbf *old_tbf)
|
||||
{
|
||||
/* stop pending timer */
|
||||
dl_tbf->stop_timer();
|
||||
|
@ -493,19 +493,14 @@ void BTS::trigger_dl_ass(
|
|||
/* start timer */
|
||||
tbf_timer_start(dl_tbf, 0, Tassign_pacch);
|
||||
} else {
|
||||
LOGP(DRLCMAC, LOGL_DEBUG, "Send dowlink assignment for %s on PCH, no TBF exist (IMSI=%s)\n", tbf_name(dl_tbf), imsi);
|
||||
if (!imsi || strlen(imsi) < 3) {
|
||||
LOGP(DRLCMAC, LOGL_ERROR, "No valid IMSI!\n");
|
||||
return;
|
||||
}
|
||||
LOGP(DRLCMAC, LOGL_DEBUG, "Send dowlink assignment for %s on PCH, no TBF exist (IMSI=%s)\n", tbf_name(dl_tbf), dl_tbf->imsi());
|
||||
dl_tbf->was_releasing = dl_tbf->state_is(GPRS_RLCMAC_WAIT_RELEASE);
|
||||
/* change state */
|
||||
dl_tbf->set_state(GPRS_RLCMAC_ASSIGN);
|
||||
dl_tbf->state_flags |= (1 << GPRS_RLCMAC_FLAG_CCCH);
|
||||
dl_tbf->assign_imsi(imsi);
|
||||
dl_tbf->set_new_tbf(dl_tbf);
|
||||
/* send immediate assignment */
|
||||
dl_tbf->bts->snd_dl_ass(dl_tbf, 0, imsi);
|
||||
dl_tbf->bts->snd_dl_ass(dl_tbf, 0, dl_tbf->imsi());
|
||||
dl_tbf->m_wait_confirm = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -216,7 +216,7 @@ public:
|
|||
int rcv_imm_ass_cnf(const uint8_t *data, uint32_t fn);
|
||||
int rcv_rach(uint8_t ra, uint32_t Fn, int16_t qta);
|
||||
|
||||
void trigger_dl_ass(gprs_rlcmac_dl_tbf *tbf, gprs_rlcmac_tbf *old_tbf, const char *imsi);
|
||||
void trigger_dl_ass(gprs_rlcmac_dl_tbf *tbf, gprs_rlcmac_tbf *old_tbf);
|
||||
void snd_dl_ass(gprs_rlcmac_tbf *tbf, uint8_t poll, const char *imsi);
|
||||
|
||||
GprsMsStorage &ms_store();
|
||||
|
|
|
@ -621,7 +621,7 @@ void gprs_rlcmac_tbf::handle_timeout()
|
|||
|
||||
dl_tbf->update();
|
||||
|
||||
dl_tbf->bts->trigger_dl_ass(dl_tbf, dl_tbf, NULL);
|
||||
dl_tbf->bts->trigger_dl_ass(dl_tbf, dl_tbf);
|
||||
} else
|
||||
LOGP(DRLCMAC, LOGL_NOTICE, "%s Continue flow after "
|
||||
"IMM.ASS confirm\n", tbf_name(dl_tbf));
|
||||
|
|
|
@ -221,7 +221,7 @@ static int tbf_new_dl_assignment(struct gprs_rlcmac_bts *bts,
|
|||
* we don't use old_downlink, so the possible uplink is used
|
||||
* to trigger downlink assignment. if there is no uplink,
|
||||
* AGCH is used. */
|
||||
dl_tbf->bts->trigger_dl_ass(dl_tbf, old_ul_tbf, imsi);
|
||||
dl_tbf->bts->trigger_dl_ass(dl_tbf, old_ul_tbf);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -824,7 +824,7 @@ void gprs_rlcmac_dl_tbf::reuse_tbf(const uint8_t *data, const uint16_t len)
|
|||
LOGP(DRLCMAC, LOGL_DEBUG, "%s Trigger dowlink assignment on PACCH, "
|
||||
"because another LLC PDU has arrived in between\n",
|
||||
tbf_name(this));
|
||||
bts->trigger_dl_ass(new_tbf, this, NULL);
|
||||
bts->trigger_dl_ass(new_tbf, this);
|
||||
}
|
||||
|
||||
bool gprs_rlcmac_dl_tbf::dl_window_stalled() const
|
||||
|
|
Loading…
Reference in New Issue