From 2a5cd93d8fe22441e9988fb10e9df2cf44a97447 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Fri, 6 Apr 2018 01:07:42 +0200 Subject: [PATCH] fix BSC Clear Request On receiving a Clear Request, don't send a Clear Command "out of band", let the FSM do the release handling by invoking msc_subscr_conn_mo_close(). Fixes: ttcn3 MSC_Tests.TC_lu_clear_request Change-Id: I168b889ac7989641cc679b781dcffb87ff13a710 --- src/libmsc/a_iface_bssap.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/libmsc/a_iface_bssap.c b/src/libmsc/a_iface_bssap.c index 87ccf0532..6d5848aa1 100644 --- a/src/libmsc/a_iface_bssap.c +++ b/src/libmsc/a_iface_bssap.c @@ -216,8 +216,6 @@ void a_sccp_rx_udt(struct osmo_sccp_user *scu, const struct a_conn_info *a_conn_ static int bssmap_rx_clear_rqst(struct gsm_subscriber_connection *conn, struct msgb *msg, struct tlv_parsed *tp) { - int rc; - struct msgb *msg_resp; uint8_t cause; LOGPCONN(conn, LOGL_INFO, "Rx BSSMAP CLEAR REQUEST\n"); @@ -228,13 +226,9 @@ static int bssmap_rx_clear_rqst(struct gsm_subscriber_connection *conn, } cause = TLVP_VAL(tp, GSM0808_IE_CAUSE)[0]; - /* Respond with clear command */ - msg_resp = gsm0808_create_clear_command(GSM0808_CAUSE_CALL_CONTROL); - rc = osmo_sccp_tx_data_msg(conn->a.scu, conn->a.conn_id, msg_resp); + msc_subscr_conn_mo_close(conn, cause); - msc_clear_request(conn, cause); - - return rc; + return 0; } /* Endpoint to handle BSSMAP clear complete */