diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-08-26 18:49:08 +0700 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2020-08-26 19:05:59 +0000 |
commit | 6a26e2cf50aa5f7b302154b6b7e8f39293d50127 (patch) | |
tree | 93623f8da95c31fab9007e70f1a5515bbeb9944f /src/osmo-bsc/bsc_subscr_conn_fsm.c | |
parent | e76de16ff629be2fbb97c1ec08fce45ba823f908 (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.c | 9 |
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; |