aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2023-06-14 09:22:23 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2023-07-21 12:28:06 +0200
commitb265247171d1db63f45eda9f1306ddb089f3eec0 (patch)
tree69f1be5fc115a7dd268b50a02612124eef646f39
parent06497197ad24358321723d46309a165761851e7f (diff)
ASCI: Clear VGCS call and channel on BSSMAP reset message
When sending or receiving BSSMAP reset msg, the ongoing VGCS/VBS SCCP connections are cleared. E.g. this happens if the BSC is restarted and there is an ongoing VGCS/VBS call at this BSC. Change-Id: Ib0b309150b82148098d05cfb1fb18767283e654e Related: OS#4854
-rw-r--r--src/libmsc/ran_peer.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libmsc/ran_peer.c b/src/libmsc/ran_peer.c
index 880619dc5..860444334 100644
--- a/src/libmsc/ran_peer.c
+++ b/src/libmsc/ran_peer.c
@@ -119,7 +119,12 @@ void ran_peer_discard_all_conns(struct ran_peer *rp)
struct ran_conn *conn, *next;
ran_peer_for_each_ran_conn_safe(conn, next, rp) {
- ran_conn_discard(conn);
+ /* Tell VGCS FSM that the connections have been cleared. */
+ if (conn->vgcs.bss)
+ vgcs_vbs_clear_cpl(conn->vgcs.bss, NULL);
+ else if (conn->vgcs.cell)
+ vgcs_vbs_clear_cpl_channel(conn->vgcs.cell, NULL);
+ else ran_conn_discard(conn);
}
}