diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2023-06-14 09:22:23 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2023-07-21 12:28:06 +0200 |
commit | b265247171d1db63f45eda9f1306ddb089f3eec0 (patch) | |
tree | 69f1be5fc115a7dd268b50a02612124eef646f39 | |
parent | 06497197ad24358321723d46309a165761851e7f (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.c | 7 |
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); } } |