diff options
Diffstat (limited to 'tests/handover/handover_test.c')
-rw-r--r-- | tests/handover/handover_test.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 82afbe5ce..e5cbb9883 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -240,8 +240,11 @@ static struct gsm_bts *create_bts(int arfcn) void create_conn(struct gsm_lchan *lchan) { - struct gsm_subscriber_connection *conn; - conn = bsc_subscr_con_allocate(lchan->ts->trx->bts->network); + static unsigned int next_imsi = 0; + char imsi[sizeof(lchan->conn->bsub->imsi)]; + struct gsm_network *net = lchan->ts->trx->bts->network; + + conn = bsc_subscr_con_allocate(net); /* CAUTION HACK: When __real_mgcp_conn_modify() is called by the GSCON * FSM, then we need to know the reference to caller FSM (GSCON FSM). @@ -255,6 +258,12 @@ void create_conn(struct gsm_lchan *lchan) lchan->conn = conn; conn->lchan = lchan; + + /* Make up a new IMSI for this test, for logging the subscriber */ + next_imsi ++; + snprintf(imsi, sizeof(imsi), "%06u", next_imsi); + lchan->conn->bsub = bsc_subscr_find_or_create_by_imsi(net->bsc_subscribers, imsi); + /* kick the FSM from INIT through to the ACTIVE state */ osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_A_CONN_REQ, NULL); osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_A_CONN_CFM, NULL); |