From 73acbca50fe109bcd58f90c1a282b0c75a81b97b Mon Sep 17 00:00:00 2001 From: Stefan Sperling Date: Mon, 12 Feb 2018 14:28:52 +0100 Subject: Make RSL connection attempts time out. If a BTS/TRX does not respond to the "IPA RSL Connect" command, pretend that the BTS has sent a NACK for the connection. To ensure that osmo_timer_del(&trx->rsl_connection_timeout) is not called before this timer is initialized with osmo_timer_setup(), the E1 layer now drops incoming RSL messages from a BTS/TRX in LOCKED administrative state. We cancel the timeout if we receive an RSL Connect ACK or NACK from the BTS, and if the underlying E1 link does down. While here, add a missing message buffer free() in bts_isdn_sign_link(). The callers do not free it. Change-Id: Ia72b65a0f15f47dcb8a6f944f6c3695a4a64b923 Related: OS#2716 --- include/osmocom/bsc/gsm_data_shared.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/osmocom') diff --git a/include/osmocom/bsc/gsm_data_shared.h b/include/osmocom/bsc/gsm_data_shared.h index e3e138957..b753e5468 100644 --- a/include/osmocom/bsc/gsm_data_shared.h +++ b/include/osmocom/bsc/gsm_data_shared.h @@ -351,6 +351,9 @@ struct gsm_bts_trx { uint8_t rsl_tei; struct e1inp_sign_link *rsl_link; + /* Timeout for initiating the RSL connection. */ + struct osmo_timer_list rsl_connect_timeout; + /* Some BTS (specifically Ericsson RBS) have a per-TRX OML Link */ struct e1inp_sign_link *oml_link; -- cgit v1.2.3