aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openbsc/src/libbsc/abis_om2000.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/openbsc/src/libbsc/abis_om2000.c b/openbsc/src/libbsc/abis_om2000.c
index af8bb30fc..7fc8a0b39 100644
--- a/openbsc/src/libbsc/abis_om2000.c
+++ b/openbsc/src/libbsc/abis_om2000.c
@@ -39,6 +39,7 @@
#include <openbsc/gsm_data.h>
#include <openbsc/debug.h>
#include <openbsc/abis_nm.h>
+#include <openbsc/abis_rsl.h>
#include <openbsc/abis_om2000.h>
#include <openbsc/signal.h>
#include <osmocom/abis/e1_input.h>
@@ -1683,6 +1684,15 @@ static void om2k_mo_st_wait_enable_res(struct osmo_fsm_inst *fi, uint32_t event,
static void om2k_mo_st_wait_opinfo_accept(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
+ struct om2k_mo_fsm_priv *omfp = fi->priv;
+
+ /* if we have just received opinfo accept for the timeslot,
+ * start dynamic TCH switching procedures */
+ if (omfp->mo->addr.class == OM2K_MO_CLS_TS) {
+ struct gsm_bts_trx_s *ts;
+ ts = mo2obj(omfp->trx->bts, &omfp->mo->addr);
+ dyn_ts_init(ts);
+ }
osmo_fsm_inst_state_chg(fi, OM2K_ST_DONE, 0, 0);
}