diff options
-rw-r--r-- | include/bsc_sccp.h | 1 | ||||
-rw-r--r-- | src/sccp_state.c | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/include/bsc_sccp.h b/include/bsc_sccp.h index 76e4437..6b4f6c4 100644 --- a/include/bsc_sccp.h +++ b/include/bsc_sccp.h @@ -57,7 +57,6 @@ struct active_sccp_con { /* Link to the SS7 Application */ struct ss7_application *app; - struct mtp_link_set *link; /* sls id */ int sls; diff --git a/src/sccp_state.c b/src/sccp_state.c index 47d117f..f182a1f 100644 --- a/src/sccp_state.c +++ b/src/sccp_state.c @@ -476,6 +476,7 @@ static void send_local_rlsd_for_con(void *data) { struct msgb *rlsd; struct active_sccp_con *con = (struct active_sccp_con *) data; + struct mtp_link_set *set; /* try again in three seconds */ con->rlc_timeout.data = con; @@ -488,9 +489,16 @@ static void send_local_rlsd_for_con(void *data) return; ++con->rls_tries; + + set = con->app->route_src.set; + if (!set) { + LOGP(DINP, LOGL_DEBUG, "Application %d has no linkset\n", con->app->nr); + return; + } + LOGP(DINP, LOGL_DEBUG, "Sending RLSD for 0x%x the %d time.\n", sccp_src_ref_to_int(&con->src_ref), con->rls_tries); - mtp_link_set_submit_sccp_data(con->link, con->sls, rlsd->l2h, msgb_l2len(rlsd)); + mtp_link_set_submit_sccp_data(set, con->sls, rlsd->l2h, msgb_l2len(rlsd)); msgb_free(rlsd); } |