aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bsc/bsc_subscr_conn_fsm.c
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2020-08-26 18:49:08 +0700
committerlaforge <laforge@osmocom.org>2020-08-26 19:05:59 +0000
commit6a26e2cf50aa5f7b302154b6b7e8f39293d50127 (patch)
tree93623f8da95c31fab9007e70f1a5515bbeb9944f /src/osmo-bsc/bsc_subscr_conn_fsm.c
parente76de16ff629be2fbb97c1ec08fce45ba823f908 (diff)
bsc_subscr_conn_fsm: use proper cause values in SAPI N REJECT
As 3GPP TS 48.058 clearly states, an RLL RELease INDication is only sent if the datalink is released by the MS. Thre's no cause value giving further diagnostics, but if the MS releases the link, it is clearly not the BSS's fault, and hence "BSS not equipped" is wrong. Change-Id: I38222e60071841abcd06046a472ddb35907164a4 Related: OS#4728
Diffstat (limited to 'src/osmo-bsc/bsc_subscr_conn_fsm.c')
-rw-r--r--src/osmo-bsc/bsc_subscr_conn_fsm.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c
index 4f559fef8..6871c4cc1 100644
--- a/src/osmo-bsc/bsc_subscr_conn_fsm.c
+++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c
@@ -1036,9 +1036,14 @@ static void rll_ind_cb(struct gsm_lchan *lchan, uint8_t link_id, void *_data, en
rsl_data_request(msg, OBSC_LINKID_CB(msg));
break;
case BSC_RLLR_IND_REL_IND:
+ bsc_sapi_n_reject(lchan->conn, OBSC_LINKID_CB(msg),
+ GSM0808_CAUSE_MS_NOT_EQUIPPED);
+ msgb_free(msg);
+ break;
case BSC_RLLR_IND_ERR_IND:
case BSC_RLLR_IND_TIMEOUT:
- bsc_sapi_n_reject(lchan->conn, OBSC_LINKID_CB(msg));
+ bsc_sapi_n_reject(lchan->conn, OBSC_LINKID_CB(msg),
+ GSM0808_CAUSE_BSS_NOT_EQUIPPED);
msgb_free(msg);
break;
}
@@ -1078,7 +1083,7 @@ static void gsm0808_send_rsl_dtap(struct gsm_subscriber_connection *conn,
rc = rll_establish(msg->lchan, sapi, rll_ind_cb, msg);
if (rc) {
msgb_free(msg);
- bsc_sapi_n_reject(conn, link_id);
+ bsc_sapi_n_reject(conn, link_id, GSM0808_CAUSE_BSS_NOT_EQUIPPED);
goto failed_to_send;
}
return;