diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-04-01 20:55:54 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-04-11 21:39:44 +0000 |
commit | 4068ab278b66af7010c3acc73a7bb87bf651fc46 (patch) | |
tree | 096c6e858639e74703f272762dcead6df7c8df4b /tests | |
parent | e3d3dc6ea218a07161eeb80ae864a96bef2d8e61 (diff) |
properly receive BSSMAP Clear Complete and Iu Release Complete
When sending a BSSMAP Clear or Iu Release, do not immediately discard the conn,
but wait until a BSSMAP Clear Complete / Iu Release Complete has been received.
Hence we will no longer show in the log that an incoming Release/Clear Complete
belongs to an unknown subscriber, but will still be around to properly log the
release.
Related: OS#3122
Change-Id: Ie4c6aaba3866d6e5b98004e8870a215e8cf8ffc1
Diffstat (limited to 'tests')
24 files changed, 839 insertions, 556 deletions
diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.c b/tests/msc_vlr/msc_vlr_test_authen_reuse.c index c9a9d0954..389837ad6 100644 --- a/tests/msc_vlr/msc_vlr_test_authen_reuse.c +++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.c @@ -25,19 +25,6 @@ #include "msc_vlr_tests.h" -#define ASSERT_RELEASE_CLEAR(via_ran) \ - switch (via_ran) { \ - case RAN_GERAN_A: \ - VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); \ - break; \ - case RAN_UTRAN_IU: \ - VERBOSE_ASSERT(iu_release_sent, == true, "%d"); \ - break; \ - default: \ - OSMO_ASSERT(false); \ - break; \ - } - static void _test_auth_reuse(enum ran_type via_ran, int set_max_reuse_count, int loop_requests_without_hlr, @@ -144,6 +131,7 @@ static void _test_auth_reuse(enum ran_type via_ran, expect_release_clear(via_ran); ms_sends_msg("055b"); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); btw("LU was successful, and the conn has already been closed"); EXPECT_CONN_COUNT(0); @@ -195,6 +183,7 @@ static void _test_auth_reuse(enum ran_type via_ran, ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100"); OSMO_ASSERT(dtap_tx_confirmed); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); btw("all requests serviced, conn has been released"); EXPECT_CONN_COUNT(0); @@ -269,6 +258,7 @@ static void _test_auth_reuse(enum ran_type via_ran, ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100"); OSMO_ASSERT(dtap_tx_confirmed); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); btw("all requests serviced, conn has been released"); EXPECT_CONN_COUNT(0); @@ -279,6 +269,7 @@ static void _test_auth_reuse(enum ran_type via_ran, ms_sends_msg("050130" "089910070000106005" /* IMSI */); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); EXPECT_CONN_COUNT(0); clear_vlr(); diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.err b/tests/msc_vlr/msc_vlr_test_authen_reuse.err index 193eb817c..5e9649c65 100644 --- a/tests/msc_vlr/msc_vlr_test_authen_reuse.err +++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.err @@ -165,8 +165,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -179,7 +181,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 --- @@ -275,6 +276,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -287,7 +290,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -397,6 +399,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -409,7 +413,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -430,15 +433,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_auth_use_twice_geran: SUCCESS @@ -621,8 +625,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -635,7 +641,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 --- @@ -744,6 +749,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS + iu_release_sent == 1 +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -756,7 +763,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -879,6 +885,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS + iu_release_sent == 1 +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -891,7 +899,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -912,15 +919,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - Iu Release --RAN_UTRAN_IU--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_auth_use_twice_utran: SUCCESS @@ -1091,8 +1099,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1105,7 +1115,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 --- @@ -1201,6 +1210,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1213,7 +1224,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -1309,6 +1319,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1321,7 +1333,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -1417,6 +1428,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1429,7 +1442,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -1450,15 +1462,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_auth_use_infinitely_geran: SUCCESS @@ -1641,8 +1654,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1655,7 +1670,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 --- @@ -1764,6 +1778,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS + iu_release_sent == 1 +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1776,7 +1792,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -1885,6 +1900,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS + iu_release_sent == 1 +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1897,7 +1914,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -2006,6 +2022,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS + iu_release_sent == 1 +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -2018,7 +2036,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -2039,15 +2056,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - Iu Release --RAN_UTRAN_IU--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_auth_use_infinitely_utran: SUCCESS @@ -2218,8 +2236,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -2232,7 +2252,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 --- @@ -2342,6 +2361,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -2354,7 +2375,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -2375,15 +2395,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_auth_reuse_geran: SUCCESS @@ -2566,8 +2587,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -2580,7 +2603,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 --- @@ -2703,6 +2725,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS + iu_release_sent == 1 +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -2715,7 +2739,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -2736,15 +2759,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - Iu Release --RAN_UTRAN_IU--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_auth_reuse_utran: SUCCESS diff --git a/tests/msc_vlr/msc_vlr_test_call.c b/tests/msc_vlr/msc_vlr_test_call.c index 9d4126e40..50bf17491 100644 --- a/tests/msc_vlr/msc_vlr_test_call.c +++ b/tests/msc_vlr/msc_vlr_test_call.c @@ -148,6 +148,7 @@ static void standard_lu() VERBOSE_ASSERT(iu_release_sent, == true, "%d"); \ btw("LU was successful, and the conn has already been closed"); + rnc_sends_release_complete(); EXPECT_CONN_COUNT(0); vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI); @@ -252,6 +253,7 @@ static void test_call_mo() OSMO_ASSERT(cc_to_mncc_tx_confirmed); OSMO_ASSERT(iu_release_sent); + rnc_sends_release_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -335,6 +337,7 @@ static void test_call_mt() OSMO_ASSERT(cc_to_mncc_tx_confirmed); OSMO_ASSERT(iu_release_sent); + rnc_sends_release_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -405,6 +408,7 @@ static void test_call_mt2() OSMO_ASSERT(cc_to_mncc_tx_confirmed); OSMO_ASSERT(iu_release_sent); + rnc_sends_release_complete(); EXPECT_CONN_COUNT(0); /* Make sure a pending release timer doesn't fire later to access freed data */ @@ -488,6 +492,7 @@ static void test_call_mo_to_unknown() OSMO_ASSERT(iu_release_sent); OSMO_ASSERT(cc_to_mncc_tx_confirmed); + rnc_sends_release_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -568,6 +573,7 @@ static void test_call_mo_to_unknown_timeout() OSMO_ASSERT(cc_to_mncc_tx_confirmed); OSMO_ASSERT(iu_release_sent); + rnc_sends_release_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err index 1da80d9af..2cb697c97 100644 --- a/tests/msc_vlr/msc_vlr_test_call.err +++ b/tests/msc_vlr/msc_vlr_test_call.err @@ -162,8 +162,11 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- LU was successful, and the conn has already been closed +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -176,8 +179,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 DREF VLR subscr MSISDN:42342 usage increases to: 2 vsub != NULL == 1 @@ -359,6 +360,7 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -539,8 +541,11 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- LU was successful, and the conn has already been closed +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -553,8 +558,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 DREF VLR subscr MSISDN:42342 usage increases to: 2 vsub != NULL == 1 @@ -741,6 +744,7 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -921,8 +925,11 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- LU was successful, and the conn has already been closed +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -935,8 +942,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 DREF VLR subscr MSISDN:42342 usage increases to: 2 vsub != NULL == 1 @@ -1091,6 +1096,7 @@ DCC (ti 00 sub MSISDN:42342) new state RELEASE_REQ -> NULL DREF VLR subscr MSISDN:42342 usage decreases to: 2 DREF MSISDN:42342: MSC conn use - trans_cc == 1 (0x100) - Iu Release --RAN_UTRAN_IU--> MS +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1272,8 +1278,11 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- LU was successful, and the conn has already been closed +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1286,8 +1295,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 DREF VLR subscr MSISDN:42342 usage increases to: 2 vsub != NULL == 1 @@ -1435,6 +1442,7 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1615,8 +1623,11 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- LU was successful, and the conn has already been closed +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1629,8 +1640,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 DREF VLR subscr MSISDN:42342 usage increases to: 2 vsub != NULL == 1 @@ -1775,6 +1784,7 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.c b/tests/msc_vlr/msc_vlr_test_gsm_authen.c index 517630667..a863d9018 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.c @@ -91,6 +91,7 @@ static void test_gsm_authen() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector"); @@ -121,6 +122,7 @@ static void test_gsm_authen() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("all requests serviced, conn has been released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("an SMS is sent, MS is paged"); @@ -203,6 +205,7 @@ static void test_gsm_authen() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("SMS is done, conn is gone"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("subscriber detaches"); @@ -210,6 +213,7 @@ static void test_gsm_authen() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -300,6 +304,7 @@ static void test_gsm_authen_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("LU was successful, and the conn has already been closed"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the new TMSI"); @@ -338,6 +343,7 @@ static void test_gsm_authen_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("all requests serviced, conn has been released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("an SMS is sent, MS is paged"); @@ -420,6 +426,7 @@ static void test_gsm_authen_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("SMS is done, conn is gone"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); /* TODO: when the subscriber detaches, the vlr_subscr gets @@ -429,6 +436,7 @@ static void test_gsm_authen_tmsi() expect_bssap_clear(); ms_sends_msg("050130" "05f4" "03020100"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); */ @@ -476,6 +484,7 @@ static void test_gsm_authen_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("LU was successful, and the conn has already been closed"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("subscriber has the new TMSI"); @@ -491,6 +500,7 @@ static void test_gsm_authen_tmsi() ms_sends_msg("050130" "05f4" "07060504"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -576,6 +586,7 @@ static void test_gsm_authen_imei() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the IMEI"); @@ -589,6 +600,7 @@ static void test_gsm_authen_imei() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -693,6 +705,7 @@ static void test_gsm_authen_tmsi_imei() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("LU was successful, and the conn has already been closed"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the IMEI and TMSI"); @@ -707,6 +720,7 @@ static void test_gsm_authen_tmsi_imei() ms_sends_msg("050130" "05f4" "03020100"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -793,6 +807,7 @@ static void test_gsm_milenage_authen() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector"); @@ -826,6 +841,7 @@ static void test_gsm_milenage_authen() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("all requests serviced, conn has been released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("an SMS is sent, MS is paged"); @@ -911,6 +927,7 @@ static void test_gsm_milenage_authen() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("SMS is done, conn is gone"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("subscriber detaches"); @@ -919,6 +936,7 @@ static void test_gsm_milenage_authen() "089910070000106005" /* IMSI */); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -979,6 +997,7 @@ static void test_wrong_sres_length() ms_sends_msg("05542d8b2c"); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err index f212cfcbf..5897ce096 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err @@ -151,6 +151,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -161,14 +167,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector @@ -268,6 +269,9 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- all requests serviced, conn has been released +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -280,8 +284,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -414,6 +416,10 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- SMS is done, conn is gone +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -426,9 +432,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 -- SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- - subscriber detaches @@ -448,15 +451,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_gsm_authen: SUCCESS @@ -644,8 +648,11 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -658,8 +665,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 - Subscriber has the new TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -766,6 +771,9 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- all requests serviced, conn has been released +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -778,8 +786,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -912,6 +918,10 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- SMS is done, conn is gone +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -924,9 +934,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 -- SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- - subscriber sends LU Request, this time with the TMSI @@ -1076,8 +1083,11 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1090,8 +1100,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 - subscriber has the new TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -1118,15 +1126,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_gsm_authen_tmsi: SUCCESS @@ -1312,8 +1321,12 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1326,9 +1339,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 - Subscriber has the IMEI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -1352,15 +1362,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_gsm_authen_imei: SUCCESS @@ -1578,8 +1589,11 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1592,8 +1606,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 - Subscriber has the IMEI and TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -1618,15 +1630,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_gsm_authen_tmsi_imei: SUCCESS @@ -1764,6 +1777,12 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 4 DREF VLR subscr MSISDN:42342 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:42342 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1774,14 +1793,9 @@ DVLR vlr_lu_fsm(901700000010650){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000010650){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000010650){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:42342: Freeing subscriber connection -DREF VLR subscr MSISDN:42342 usage decreases to: 2 +DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:42342 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector @@ -1881,6 +1895,9 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- all requests serviced, conn has been released +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1893,8 +1910,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -2027,6 +2042,10 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- SMS is done, conn is gone +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -2039,9 +2058,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 -- SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- - subscriber detaches @@ -2061,15 +2077,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_gsm_milenage_authen: SUCCESS @@ -2171,8 +2188,10 @@ DREF IMSI:901700000004620: MSC conn use + release == 2 (0x102) DREF VLR subscr IMSI:901700000004620 usage increases to: 2 DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 - BSSAP Clear --RAN_GERAN_A--> MS -DREF IMSI:901700000004620: MSC conn use - release == 1 (0x2) -DREF IMSI:901700000004620: MSC conn use - dtap == 0 (0x0) +DREF IMSI:901700000004620: MSC conn use - dtap == 1 (0x100) + lu_result_sent == 2 +- BSS sends BSSMAP Clear Complete +DREF IMSI:901700000004620: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -2186,7 +2205,6 @@ DREF VLR subscr IMSI:901700000004620 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000004620 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - lu_result_sent == 2 llist_count(&net->subscr_conns) == 0 ===== test_wrong_sres_length: SUCCESS diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c index 8a05b3f2d..b4269818c 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c @@ -93,6 +93,7 @@ static void test_ciph() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector"); @@ -132,6 +133,7 @@ static void test_ciph() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("all requests serviced, conn has been released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("an SMS is sent, MS is paged"); @@ -223,6 +225,7 @@ static void test_ciph() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("SMS is done, conn is gone"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("subscriber detaches"); @@ -230,6 +233,7 @@ static void test_ciph() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -323,6 +327,7 @@ static void test_ciph_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("LU was successful, and the conn has already been closed"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the new TMSI"); @@ -371,6 +376,7 @@ static void test_ciph_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("all requests serviced, conn has been released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("an SMS is sent, MS is paged"); @@ -462,6 +468,7 @@ static void test_ciph_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("SMS is done, conn is gone"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("subscriber detaches, using TMSI"); @@ -469,6 +476,7 @@ static void test_ciph_tmsi() ms_sends_msg("050130" "05f4" "03020100"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -558,6 +566,7 @@ static void test_ciph_imei() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the IMEI"); @@ -571,6 +580,7 @@ static void test_ciph_imei() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -662,6 +672,7 @@ static void test_ciph_imeisv() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("subscriber detaches"); @@ -669,6 +680,7 @@ static void test_ciph_imeisv() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -775,6 +787,7 @@ static void test_ciph_tmsi_imei() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("LU was successful, and the conn has already been closed"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the IMEI and TMSI"); @@ -789,6 +802,7 @@ static void test_ciph_tmsi_imei() ms_sends_msg("050130" "05f4" "03020100"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -923,6 +937,7 @@ static void test_gsm_ciph_in_umts_env() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("after a while, a new conn sends a CM Service Request. VLR responds with *UMTS AKA* Auth Req, 2nd auth vector"); @@ -961,6 +976,7 @@ static void test_gsm_ciph_in_umts_env() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("all requests serviced, conn has been released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("an SMS is sent, MS is paged"); @@ -1031,6 +1047,7 @@ static void test_gsm_ciph_in_umts_env() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("SMS is done, conn is gone"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("subscriber detaches"); @@ -1039,6 +1056,7 @@ static void test_gsm_ciph_in_umts_env() "089910070000106005" /* IMSI */); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -1091,6 +1109,7 @@ static void test_a5_3_not_supported() OSMO_ASSERT(!cipher_mode_cmd_sent); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err index 9d9026063..2d5670d34 100644 --- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err +++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err @@ -155,6 +155,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -165,14 +171,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector @@ -297,6 +298,9 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- all requests serviced, conn has been released +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -309,8 +313,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -468,6 +470,10 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- SMS is done, conn is gone +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -480,9 +486,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 -- SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- - subscriber detaches @@ -502,15 +505,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_ciph: SUCCESS @@ -703,8 +707,11 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -717,8 +724,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 - Subscriber has the new TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -850,6 +855,9 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- all requests serviced, conn has been released +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -862,8 +870,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -1021,6 +1027,10 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- SMS is done, conn is gone +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1033,9 +1043,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 -- SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- - subscriber detaches, using TMSI @@ -1055,15 +1062,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_ciph_tmsi: SUCCESS @@ -1253,8 +1261,12 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1267,9 +1279,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 - Subscriber has the IMEI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -1293,15 +1302,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_ciph_imei: SUCCESS @@ -1483,6 +1493,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1493,14 +1509,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - subscriber detaches @@ -1520,15 +1531,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_ciph_imeisv: SUCCESS @@ -1750,8 +1762,11 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1764,8 +1779,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 - Subscriber has the IMEI and TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -1790,15 +1803,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_ciph_tmsi_imei: SUCCESS @@ -1948,6 +1962,12 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 4 DREF VLR subscr MSISDN:42342 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:42342 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1958,14 +1978,9 @@ DVLR vlr_lu_fsm(901700000010650){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000010650){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000010650){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:42342: Freeing subscriber connection -DREF VLR subscr MSISDN:42342 usage decreases to: 2 +DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:42342 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - after a while, a new conn sends a CM Service Request. VLR responds with *UMTS AKA* Auth Req, 2nd auth vector @@ -2080,6 +2095,9 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- all requests serviced, conn has been released +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -2092,8 +2110,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -2241,6 +2257,10 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- SMS is done, conn is gone +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -2253,9 +2273,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 -- SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- - subscriber detaches @@ -2275,15 +2292,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_gsm_ciph_in_umts_env: SUCCESS @@ -2369,8 +2387,10 @@ DREF IMSI:901700000004620: MSC conn use + release == 2 (0x102) DREF VLR subscr IMSI:901700000004620 usage increases to: 2 DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 - BSSAP Clear --RAN_GERAN_A--> MS -DREF IMSI:901700000004620: MSC conn use - release == 1 (0x2) -DREF IMSI:901700000004620: MSC conn use - dtap == 0 (0x0) +DREF IMSI:901700000004620: MSC conn use - dtap == 1 (0x100) + lu_result_sent == 2 +- BSS sends BSSMAP Clear Complete +DREF IMSI:901700000004620: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -2384,7 +2404,6 @@ DREF VLR subscr IMSI:901700000004620 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000004620 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - lu_result_sent == 2 llist_count(&net->subscr_conns) == 0 ===== test_a5_3_not_supported: SUCCESS diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.c b/tests/msc_vlr/msc_vlr_test_hlr_reject.c index 8532f8e8d..8dfe1f441 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_reject.c +++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.c @@ -44,6 +44,7 @@ static void test_hlr_rej_auth_info_unknown_imsi() VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -70,6 +71,7 @@ static void test_hlr_rej_auth_info_net_fail() VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -128,6 +130,7 @@ static void test_hlr_rej_auth_info_net_fail_no_reuse_tuples() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); @@ -157,6 +160,7 @@ static void test_hlr_rej_auth_info_net_fail_no_reuse_tuples() VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -215,6 +219,7 @@ static void test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); @@ -245,6 +250,7 @@ static void test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples() VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -277,6 +283,7 @@ static void test_hlr_acc_but_no_auth_tuples() VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -335,6 +342,7 @@ static void test_hlr_rej_auth_info_net_fail_reuse_tuples() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); @@ -379,6 +387,7 @@ static void test_hlr_rej_auth_info_net_fail_reuse_tuples() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -402,6 +411,7 @@ static void test_hlr_rej_lu() NULL); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -429,6 +439,7 @@ static void test_hlr_no_insert_data() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); diff --git a/tests/msc_vlr/msc_vlr_test_hlr_reject.err b/tests/msc_vlr/msc_vlr_test_hlr_reject.err index 28e15aa65..959b58c92 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_reject.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_reject.err @@ -55,6 +55,12 @@ DREF IMSI:901700000004620: MSC conn use + release == 1 (0x100) DREF VLR subscr IMSI:901700000004620 usage increases to: 3 DREF VLR subscr IMSI:901700000004620 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 +<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 + auth_request_sent == 0 + lu_result_sent == 2 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF IMSI:901700000004620: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -65,15 +71,10 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL IMSI:901700000004620: Freeing subscriber connection -DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 -DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance -DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated DREF VLR subscr IMSI:901700000004620 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000004620 -<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 - auth_request_sent == 0 - lu_result_sent == 2 - bssap_clear_sent == 1 +DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance +DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated llist_count(&net->subscr_conns) == 0 ===== test_hlr_rej_auth_info_unknown_imsi: SUCCESS @@ -134,6 +135,12 @@ DREF IMSI:901700000004620: MSC conn use + release == 1 (0x100) DREF VLR subscr IMSI:901700000004620 usage increases to: 3 DREF VLR subscr IMSI:901700000004620 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 +<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 + auth_request_sent == 0 + lu_result_sent == 2 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF IMSI:901700000004620: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -144,15 +151,10 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL IMSI:901700000004620: Freeing subscriber connection -DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 -DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance -DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated DREF VLR subscr IMSI:901700000004620 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000004620 -<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 - auth_request_sent == 0 - lu_result_sent == 2 - bssap_clear_sent == 1 +DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance +DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated llist_count(&net->subscr_conns) == 0 ===== test_hlr_rej_auth_info_net_fail: SUCCESS @@ -292,6 +294,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -302,14 +310,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - Now one auth tuple is available, but used. @@ -445,6 +448,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -455,14 +464,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 ===== test_hlr_rej_auth_info_net_fail_reuse_tuples: SUCCESS @@ -603,6 +607,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -613,14 +623,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - Now one auth tuple is available, but used. @@ -680,6 +685,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 + auth_request_sent == 0 + lu_result_sent == 2 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -690,14 +701,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 - auth_request_sent == 0 - lu_result_sent == 2 - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 ===== test_hlr_rej_auth_info_net_fail_no_reuse_tuples: SUCCESS @@ -838,6 +844,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -848,14 +860,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - Now one auth tuple is available, but used. @@ -916,6 +923,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 + auth_request_sent == 0 + lu_result_sent == 2 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -926,14 +939,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0 - auth_request_sent == 0 - lu_result_sent == 2 - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 ===== test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples: SUCCESS @@ -994,6 +1002,12 @@ DREF IMSI:901700000004620: MSC conn use + release == 1 (0x100) DREF VLR subscr IMSI:901700000004620 usage increases to: 3 DREF VLR subscr IMSI:901700000004620 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 +<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0 + auth_request_sent == 0 + lu_result_sent == 2 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF IMSI:901700000004620: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1004,15 +1018,10 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL IMSI:901700000004620: Freeing subscriber connection -DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 -DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance -DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated DREF VLR subscr IMSI:901700000004620 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000004620 -<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0 - auth_request_sent == 0 - lu_result_sent == 2 - bssap_clear_sent == 1 +DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance +DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated llist_count(&net->subscr_conns) == 0 ===== test_hlr_acc_but_no_auth_tuples: SUCCESS @@ -1076,6 +1085,11 @@ DREF IMSI:901700000004620: MSC conn use + release == 1 (0x100) DREF VLR subscr IMSI:901700000004620 usage increases to: 3 DREF VLR subscr IMSI:901700000004620 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR: vlr_gsupc_read_cb() returns 0 + lu_result_sent == 2 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF IMSI:901700000004620: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1086,14 +1100,10 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL IMSI:901700000004620: Freeing subscriber connection -DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 -DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance -DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated DREF VLR subscr IMSI:901700000004620 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000004620 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR: vlr_gsupc_read_cb() returns 0 - lu_result_sent == 2 - bssap_clear_sent == 1 +DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance +DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated llist_count(&net->subscr_conns) == 0 ===== test_hlr_rej_lu: SUCCESS @@ -1179,6 +1189,12 @@ DREF IMSI:901700000004620: MSC conn use + release == 1 (0x100) DREF VLR subscr IMSI:901700000004620 usage increases to: 4 DREF VLR subscr IMSI:901700000004620 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr IMSI:901700000004620 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF IMSI:901700000004620: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1189,14 +1205,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL IMSI:901700000004620: Freeing subscriber connection -DREF VLR subscr IMSI:901700000004620 usage decreases to: 2 +DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr IMSI:901700000004620 ===== test_hlr_no_insert_data: SUCCESS diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.c b/tests/msc_vlr/msc_vlr_test_hlr_timeout.c index 610b388d5..ce3f3d08a 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.c +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.c @@ -57,6 +57,7 @@ static void test_hlr_timeout_lu_auth_info() fake_time_passes(1, 235); btw("SUBSCR_CONN_TIMEOUT has passed, conn is gone."); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); @@ -104,6 +105,7 @@ static void test_hlr_timeout_lu_upd_loc_result() fake_time_passes(1, 235); btw("SUBSCR_CONN_TIMEOUT has passed, conn is gone."); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); diff --git a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err index 883141cf9..45c6a6f5c 100644 --- a/tests/msc_vlr/msc_vlr_test_hlr_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_hlr_timeout.err @@ -62,6 +62,9 @@ DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Event SUBSCR_CONN_E_CN_CLOSE not permitted DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 - BSSAP Clear --RAN_GERAN_A--> MS +- SUBSCR_CONN_TIMEOUT has passed, conn is gone. + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF IMSI:901700000004620: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -80,8 +83,6 @@ DREF VLR subscr IMSI:901700000004620 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000004620 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -- SUBSCR_CONN_TIMEOUT has passed, conn is gone. - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 lu_result_sent == 2 ===== test_hlr_timeout_lu_auth_info: SUCCESS @@ -169,6 +170,9 @@ DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Event SUBSCR_CONN_E_CN_CLOSE not permitted DREF VLR subscr MSISDN:46071 usage decreases to: 1 - BSSAP Clear --RAN_GERAN_A--> MS +- SUBSCR_CONN_TIMEOUT has passed, conn is gone. + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -187,8 +191,6 @@ DREF VLR subscr MSISDN:46071 usage decreases to: 0 DREF freeing VLR subscr MSISDN:46071 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -- SUBSCR_CONN_TIMEOUT has passed, conn is gone. - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 lu_result_sent == 2 ===== test_hlr_timeout_lu_upd_loc_result: SUCCESS diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.c b/tests/msc_vlr/msc_vlr_test_ms_timeout.c index a36027c91..c5ab0590e 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.c +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.c @@ -77,6 +77,7 @@ static void test_ms_timeout_lu_auth_resp() fake_time_passes(1, 235); btw("SUBSCR_CONN_TIMEOUT has passed, conn is gone."); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); @@ -140,6 +141,7 @@ static void test_ms_timeout_cm_auth_resp() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector"); @@ -175,6 +177,7 @@ static void test_ms_timeout_cm_auth_resp() fake_time_passes(1, 235); btw("SUBSCR_CONN_TIMEOUT has passed, conn is gone."); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); VERBOSE_ASSERT(cm_service_result_sent, == RES_REJECT, "%d"); @@ -212,6 +215,7 @@ static void test_ms_timeout_paging() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("an SMS is sent, MS is paged"); @@ -282,6 +286,7 @@ static void test_ms_timeout_paging() vsub = vlr_subscr_find_by_imsi(net->vlr, imsi); OSMO_ASSERT(!vsub); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); diff --git a/tests/msc_vlr/msc_vlr_test_ms_timeout.err b/tests/msc_vlr/msc_vlr_test_ms_timeout.err index a3950edc2..82786ff42 100644 --- a/tests/msc_vlr/msc_vlr_test_ms_timeout.err +++ b/tests/msc_vlr/msc_vlr_test_ms_timeout.err @@ -82,6 +82,9 @@ DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Event SUBSCR_CONN_E_CN_CLOSE not permitted DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 - BSSAP Clear --RAN_GERAN_A--> MS +- SUBSCR_CONN_TIMEOUT has passed, conn is gone. + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF IMSI:901700000004620: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -100,8 +103,6 @@ DREF VLR subscr IMSI:901700000004620 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000004620 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -- SUBSCR_CONN_TIMEOUT has passed, conn is gone. - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 lu_result_sent == 2 ===== test_ms_timeout_lu_auth_resp: SUCCESS @@ -241,6 +242,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -251,14 +258,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector @@ -327,6 +329,9 @@ DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Event SUBSCR_CONN_E_CN_CLOSE not permitted DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS +- SUBSCR_CONN_TIMEOUT has passed, conn is gone. + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -343,8 +348,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -- SUBSCR_CONN_TIMEOUT has passed, conn is gone. - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 cm_service_result_sent == 2 DREF freeing VLR subscr MSISDN:46071 @@ -444,6 +447,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -454,14 +463,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -533,16 +537,17 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 + paging_stopped == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - paging_stopped == 1 llist_count(&net->subscr_conns) == 0 ===== test_ms_timeout_paging: SUCCESS diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.c b/tests/msc_vlr/msc_vlr_test_no_authen.c index b20f9d7d9..cd61fa127 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.c +++ b/tests/msc_vlr/msc_vlr_test_no_authen.c @@ -59,6 +59,8 @@ static void test_no_authen() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("after a while, a new conn sends a CM Service Request"); @@ -78,6 +80,7 @@ static void test_no_authen() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("all requests serviced, conn has been released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("an SMS is sent, MS is paged"); @@ -150,6 +153,7 @@ static void test_no_authen() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("SMS is done, conn is gone"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("subscriber detaches"); @@ -157,6 +161,7 @@ static void test_no_authen() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -213,6 +218,7 @@ static void test_no_authen_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("LU was successful, and the conn has already been closed"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the new TMSI"); @@ -239,6 +245,7 @@ static void test_no_authen_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("all requests serviced, conn has been released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("an SMS is sent, MS is paged using above TMSI"); @@ -311,6 +318,7 @@ static void test_no_authen_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("SMS is done, conn is gone"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); /* TODO: when the subscriber detaches, the vlr_subscr gets @@ -362,6 +370,7 @@ static void test_no_authen_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("LU was successful, and the conn has already been closed"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("subscriber has the new TMSI"); @@ -377,6 +386,7 @@ static void test_no_authen_tmsi() ms_sends_msg("050130" "05f4" "07060504"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -432,6 +442,7 @@ static void test_no_authen_imei() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the IMEI"); @@ -445,6 +456,7 @@ static void test_no_authen_imei() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -508,6 +520,7 @@ static void test_no_authen_tmsi_imei() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the IMEI and TMSI"); @@ -522,6 +535,7 @@ static void test_no_authen_tmsi_imei() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -576,6 +590,7 @@ static void test_no_authen_imeisv() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("subscriber detaches"); @@ -583,6 +598,7 @@ static void test_no_authen_imeisv() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -648,6 +664,7 @@ static void test_no_authen_imeisv_imei() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the IMEI"); @@ -661,6 +678,7 @@ static void test_no_authen_imeisv_imei() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -729,6 +747,7 @@ static void test_no_authen_imeisv_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("LU was successful, and the conn has already been closed"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); @@ -784,6 +803,7 @@ static void test_no_authen_imeisv_tmsi() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("LU was successful, and the conn has already been closed"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("subscriber has the new TMSI"); @@ -799,6 +819,7 @@ static void test_no_authen_imeisv_tmsi() ms_sends_msg("050130" "05f4" "07060504"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -874,6 +895,7 @@ static void test_no_authen_imeisv_tmsi_imei() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); btw("Subscriber has the IMEISV, IMEI and TMSI"); @@ -889,6 +911,7 @@ static void test_no_authen_imeisv_tmsi_imei() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err index 5cd2fa350..c71f04aba 100644 --- a/tests/msc_vlr/msc_vlr_test_no_authen.err +++ b/tests/msc_vlr/msc_vlr_test_no_authen.err @@ -103,6 +103,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -113,14 +119,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 --- - after a while, a new conn sends a CM Service Request @@ -180,6 +181,10 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- all requests serviced, conn has been released +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -192,9 +197,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 -- all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -287,6 +289,10 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- SMS is done, conn is gone +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -299,9 +305,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 -- SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- - subscriber detaches @@ -321,15 +324,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_authen: SUCCESS @@ -469,8 +473,11 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -483,8 +490,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 - Subscriber has the new TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -551,6 +556,9 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- all requests serviced, conn has been released +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -563,8 +571,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged using above TMSI @@ -657,6 +663,10 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- SMS is done, conn is gone +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -669,9 +679,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 -- SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- - subscriber sends LU Request, this time with the TMSI @@ -804,8 +811,11 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -818,8 +828,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(50462976){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 - subscriber has the new TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -846,15 +854,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_authen_tmsi: SUCCESS @@ -992,8 +1001,12 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1006,9 +1019,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 - Subscriber has the IMEI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -1032,15 +1042,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_authen_imei: SUCCESS @@ -1203,8 +1214,12 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1217,9 +1232,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 - Subscriber has the IMEI and TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -1244,15 +1256,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_authen_tmsi_imei: SUCCESS @@ -1379,6 +1392,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1389,14 +1408,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 --- - subscriber detaches @@ -1416,15 +1430,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_authen_imeisv: SUCCESS @@ -1580,8 +1595,12 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1594,9 +1613,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 - Subscriber has the IMEI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -1620,15 +1636,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_authen_imeisv_imei: SUCCESS @@ -1786,8 +1803,11 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1800,8 +1820,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 --- - subscriber sends LU Request, this time with the TMSI @@ -1952,8 +1970,11 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1966,8 +1987,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 - subscriber has the new TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -1994,15 +2013,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_authen_imeisv_tmsi: SUCCESS @@ -2183,8 +2203,12 @@ DREF MSISDN:46071: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -2197,9 +2221,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 - Subscriber has the IMEISV, IMEI and TMSI DREF VLR subscr MSISDN:46071 usage increases to: 2 @@ -2225,15 +2246,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_no_authen_imeisv_tmsi_imei: SUCCESS diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c index ceab109c3..cf9d8c92a 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c @@ -43,6 +43,7 @@ static void test_reject_2nd_conn() ms_sends_msg("050802008168000130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(1); @@ -61,6 +62,7 @@ static void test_reject_2nd_conn() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -93,6 +95,7 @@ static void _normal_lu_part2() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); } @@ -182,8 +185,10 @@ static void _paging_resp_part2(int expect_conn_count, bool expect_clear) expect_bssap_clear(); ms_sends_msg("890106020041020000"); VERBOSE_ASSERT(dtap_tx_confirmed, == true, "%d"); - if (expect_clear) + if (expect_clear) { VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); + } btw("SMS is done"); EXPECT_CONN_COUNT(expect_conn_count); @@ -265,6 +270,7 @@ static void test_reject_lu_during_cm() expect_bssap_clear(); ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -288,6 +294,7 @@ static void test_reject_cm_during_cm() expect_bssap_clear(); ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -313,6 +320,7 @@ static void test_reject_paging_resp_during_cm() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("all requests serviced, conn has been released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -377,6 +385,7 @@ static void test_accept_cm_during_paging_resp() expect_bssap_clear(); ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err index 7dca53f7b..0d9ef5be3 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err @@ -59,10 +59,13 @@ DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_NEW}: Received Event SUBSCR_CONN_ DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) DREF VLR subscr IMSI:901700000004620 usage decreases to: 1 DRR 901700000004620: internal error during Location Updating attempt -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 + lu_result_sent == 2 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -74,8 +77,6 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - lu_result_sent == 2 llist_count(&net->subscr_conns) == 1 --- - The first connection can still complete its LU @@ -133,6 +134,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -143,14 +150,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 ===== test_reject_2nd_conn: SUCCESS @@ -262,6 +264,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -272,14 +280,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 ===== test_reject_lu_during_lu: SUCCESS @@ -398,6 +401,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -408,14 +417,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 ===== test_reject_cm_during_lu: SUCCESS @@ -527,6 +531,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -537,14 +547,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 ===== test_reject_paging_resp_during_lu: SUCCESS @@ -645,6 +650,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -655,14 +666,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - Subscriber does a normal CM Service Request @@ -727,11 +733,13 @@ DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) DREF VLR subscr MSISDN:46071 usage decreases to: 2 DREF VLR subscr MSISDN:46071 usage decreases to: 1 -DMM msc_subscr_conn_close(vsub=MSISDN:46071, cause=0): already in release, ignore. -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DMM conn_close(vsub=MSISDN:46071, cause=0): already in release, ignore. +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -740,7 +748,6 @@ DREF VLR subscr MSISDN:46071 usage decreases to: 0 DREF freeing VLR subscr MSISDN:46071 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_reject_lu_during_cm: SUCCESS @@ -840,6 +847,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -850,14 +863,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - Subscriber does a normal CM Service Request @@ -925,11 +933,13 @@ DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) DREF VLR subscr MSISDN:46071 usage decreases to: 2 DREF VLR subscr MSISDN:46071 usage decreases to: 1 -DMM msc_subscr_conn_close(vsub=MSISDN:46071, cause=0): already in release, ignore. -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DMM conn_close(vsub=MSISDN:46071, cause=0): already in release, ignore. +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -938,7 +948,6 @@ DREF VLR subscr MSISDN:46071 usage decreases to: 0 DREF freeing VLR subscr MSISDN:46071 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_reject_cm_during_cm: SUCCESS @@ -1038,6 +1047,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1048,14 +1063,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - Subscriber does a normal CM Service Request @@ -1125,6 +1135,9 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- all requests serviced, conn has been released +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1137,8 +1150,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 ===== test_reject_paging_resp_during_cm: SUCCESS @@ -1239,6 +1250,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1249,14 +1266,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -1350,6 +1362,9 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1362,8 +1377,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 - SMS is done llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 @@ -1465,6 +1478,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1475,14 +1494,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -1597,11 +1611,13 @@ DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x102) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:46071: MSC conn use - release == 1 (0x2) DREF VLR subscr MSISDN:46071 usage decreases to: 2 DREF VLR subscr MSISDN:46071 usage decreases to: 1 -DMM msc_subscr_conn_close(vsub=MSISDN:46071, cause=0): already in release, ignore. -DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0) +DMM conn_close(vsub=MSISDN:46071, cause=0): already in release, ignore. +DREF MSISDN:46071: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1610,7 +1626,6 @@ DREF VLR subscr MSISDN:46071 usage decreases to: 0 DREF freeing VLR subscr MSISDN:46071 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_accept_cm_during_paging_resp: SUCCESS @@ -1710,6 +1725,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1720,14 +1741,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - an SMS is sent, MS is paged @@ -1819,6 +1835,9 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 3 DREF VLR subscr MSISDN:46071 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -1831,8 +1850,6 @@ DRLL MSISDN:46071: Freeing subscriber connection DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 - SMS is done llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 diff --git a/tests/msc_vlr/msc_vlr_test_rest.c b/tests/msc_vlr/msc_vlr_test_rest.c index 0233047d5..aef1df50c 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.c +++ b/tests/msc_vlr/msc_vlr_test_rest.c @@ -55,6 +55,7 @@ static void test_early_stage() expect_bssap_clear(); osmo_fsm_inst_dispatch(g_conn->fi, SUBSCR_CONN_E_CN_CLOSE, NULL); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -71,6 +72,7 @@ static void test_cm_service_without_lu() VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); btw("conn was released"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -107,6 +109,7 @@ static void test_two_lu() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); @@ -137,6 +140,7 @@ static void test_two_lu() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); BTW("subscriber detaches"); @@ -144,6 +148,7 @@ static void test_two_lu() ms_sends_msg("050130089910070000006402"); VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); @@ -185,6 +190,7 @@ static void test_lu_unknown_tmsi() btw("LU was successful, and the conn has already been closed"); VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d"); + bss_sends_clear_complete(); EXPECT_CONN_COUNT(0); clear_vlr(); comment_end(); diff --git a/tests/msc_vlr/msc_vlr_test_rest.err b/tests/msc_vlr/msc_vlr_test_rest.err index 2f0976065..683e9142b 100644 --- a/tests/msc_vlr/msc_vlr_test_rest.err +++ b/tests/msc_vlr/msc_vlr_test_rest.err @@ -31,6 +31,8 @@ DREF unknown: MSC conn use + release == 1 (0x100) DREF VLR subscr unknown usage increases to: 2 DREF VLR subscr unknown usage decreases to: 1 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -42,7 +44,6 @@ DREF VLR subscr unknown usage decreases to: 0 DREF freeing VLR subscr unknown DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_early_stage: SUCCESS @@ -70,10 +71,13 @@ DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_NEW}: Received Event SUBSCR_CONN_ DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_COMPLETE_LAYER_3 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Event SUBSCR_CONN_E_COMPLETE_LAYER_3 not permitted -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- conn was released +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -84,8 +88,6 @@ DVLR Process_Access_Request_VLR(901700000004620){PR_ARQ_S_DONE}: Deallocated DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 -- conn was released llist_count(&net->subscr_conns) == 0 ===== test_cm_service_without_lu: SUCCESS @@ -194,6 +196,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -204,14 +212,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - verify that the MS can send another LU request @@ -313,6 +316,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -323,14 +332,9 @@ DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cau DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(901700000004620){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 --- - subscriber detaches @@ -350,15 +354,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_two_lu: SUCCESS @@ -493,6 +498,12 @@ DREF MSISDN:46071: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:46071 usage increases to: 4 DREF VLR subscr MSISDN:46071 usage decreases to: 3 - BSSAP Clear --RAN_GERAN_A--> MS +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 + bssap_clear_sent == 1 +- LU was successful, and the conn has already been closed + lu_result_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:46071: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(591536962){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(591536962){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -503,14 +514,9 @@ DVLR vlr_lu_fsm(591536962){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSM DVLR vlr_lu_fsm(591536962){VLR_ULA_S_DONE}: Freeing instance DVLR vlr_lu_fsm(591536962){VLR_ULA_S_DONE}: Deallocated DRLL MSISDN:46071: Freeing subscriber connection -DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF VLR subscr MSISDN:46071 usage decreases to: 1 DMM Subscr_Conn(591536962){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(591536962){SUBSCR_CONN_S_RELEASED}: Deallocated -DREF VLR subscr MSISDN:46071 usage decreases to: 1 -<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0 - bssap_clear_sent == 1 -- LU was successful, and the conn has already been closed - lu_result_sent == 1 llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:46071 ===== test_lu_unknown_tmsi: SUCCESS diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.c b/tests/msc_vlr/msc_vlr_test_umts_authen.c index 7b410df1d..42d406c76 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.c +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.c @@ -23,19 +23,6 @@ #include "msc_vlr_tests.h" -#define ASSERT_RELEASE_CLEAR(via_ran) \ - switch (via_ran) { \ - case RAN_GERAN_A: \ - VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); \ - break; \ - case RAN_UTRAN_IU: \ - VERBOSE_ASSERT(iu_release_sent, == true, "%d"); \ - break; \ - default: \ - OSMO_ASSERT(false); \ - break; \ - } - static void _test_umts_authen(enum ran_type via_ran) { struct vlr_subscr *vsub; @@ -183,6 +170,7 @@ static void _test_umts_authen(enum ran_type via_ran) expect_release_clear(via_ran); ms_sends_msg("055b"); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); btw("LU was successful, and the conn has already been closed"); EXPECT_CONN_COUNT(0); @@ -229,6 +217,7 @@ static void _test_umts_authen(enum ran_type via_ran) ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100"); OSMO_ASSERT(dtap_tx_confirmed); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); btw("all requests serviced, conn has been released"); EXPECT_CONN_COUNT(0); @@ -308,6 +297,7 @@ static void _test_umts_authen(enum ran_type via_ran) ms_sends_msg("890106020041020000"); VERBOSE_ASSERT(dtap_tx_confirmed, == true, "%d"); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); btw("SMS is done, conn is gone"); EXPECT_CONN_COUNT(0); @@ -317,6 +307,7 @@ static void _test_umts_authen(enum ran_type via_ran) ms_sends_msg("050130" "089910070000106005" /* IMSI */); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -551,6 +542,7 @@ static void _test_umts_authen_resync(enum ran_type via_ran) expect_release_clear(via_ran); ms_sends_msg("055b"); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); btw("LU was successful, and the conn has already been closed"); EXPECT_CONN_COUNT(0); @@ -652,6 +644,7 @@ static void _test_umts_authen_too_short_res(enum ran_type via_ran) ms_sends_msg("0554" "e229c19e" "2103" "791f2e" /* nipped one byte */); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -751,6 +744,7 @@ static void _test_umts_authen_too_long_res(enum ran_type via_ran) ms_sends_msg("0554" "e229c19e" "2105" "791f2e4123" /* added one byte */); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); EXPECT_CONN_COUNT(0); clear_vlr(); @@ -855,6 +849,7 @@ static void _test_umts_authen_only_sres(enum ran_type via_ran) ms_sends_msg("0554" "e229c19e" /* Only the SRES half of the RES */); VERBOSE_ASSERT(lu_result_sent, == RES_REJECT, "%d"); ASSERT_RELEASE_CLEAR(via_ran); + bss_rnc_sends_release_clear_complete(via_ran); EXPECT_CONN_COUNT(0); clear_vlr(); diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err index 9e0186ea5..fe687a13e 100644 --- a/tests/msc_vlr/msc_vlr_test_umts_authen.err +++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err @@ -165,8 +165,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -179,7 +181,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 --- @@ -281,6 +282,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -293,7 +296,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -428,6 +430,9 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS + dtap_tx_confirmed == 1 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -440,8 +445,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - bssap_clear_sent == 1 - SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- @@ -462,15 +465,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - BSSAP Clear --RAN_GERAN_A--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_umts_authen_geran: SUCCESS @@ -653,8 +657,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -667,7 +673,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 --- @@ -782,6 +787,8 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS + iu_release_sent == 1 +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -794,7 +801,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - all requests serviced, conn has been released llist_count(&net->subscr_conns) == 0 --- @@ -942,6 +948,9 @@ DREF MSISDN:42342: MSC conn use + release == 1 (0x100) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS + dtap_tx_confirmed == 1 + iu_release_sent == 1 +- RNC sends Iu Release Complete DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED @@ -954,8 +963,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - dtap_tx_confirmed == 1 - iu_release_sent == 1 - SMS is done, conn is gone llist_count(&net->subscr_conns) == 0 --- @@ -976,15 +983,16 @@ DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Close event, cause 0 DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_RELEASING DREF unknown: MSC conn use + release == 2 (0x101) - Iu Release --RAN_UTRAN_IU--> MS -DREF unknown: MSC conn use - release == 1 (0x1) -DREF unknown: MSC conn use - compl_l3 == 0 (0x0) +DREF unknown: MSC conn use - compl_l3 == 1 (0x100) + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF unknown: MSC conn use - release == 0 (0x0) DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) DRLL Freeing subscriber connection with NULL subscriber DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn{SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_umts_authen_utran: SUCCESS @@ -1186,8 +1194,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - BSSAP Clear --RAN_GERAN_A--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1200,7 +1210,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - bssap_clear_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:42342 @@ -1416,8 +1425,10 @@ DREF MSISDN:42342: MSC conn use + release == 2 (0x102) DREF VLR subscr MSISDN:42342 usage increases to: 3 DREF VLR subscr MSISDN:42342 usage decreases to: 2 - Iu Release --RAN_UTRAN_IU--> MS -DREF MSISDN:42342: MSC conn use - release == 1 (0x2) -DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0) +DREF MSISDN:42342: MSC conn use - dtap == 1 (0x100) + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF MSISDN:42342: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1430,7 +1441,6 @@ DRLL MSISDN:42342: Freeing subscriber connection DREF VLR subscr MSISDN:42342 usage decreases to: 1 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - iu_release_sent == 1 - LU was successful, and the conn has already been closed llist_count(&net->subscr_conns) == 0 DREF freeing VLR subscr MSISDN:42342 @@ -1513,8 +1523,11 @@ DREF IMSI:901700000010650: MSC conn use + release == 2 (0x102) DREF VLR subscr IMSI:901700000010650 usage increases to: 2 DREF VLR subscr IMSI:901700000010650 usage decreases to: 1 - BSSAP Clear --RAN_GERAN_A--> MS -DREF IMSI:901700000010650: MSC conn use - release == 1 (0x2) -DREF IMSI:901700000010650: MSC conn use - dtap == 0 (0x0) +DREF IMSI:901700000010650: MSC conn use - dtap == 1 (0x100) + lu_result_sent == 2 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF IMSI:901700000010650: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1528,8 +1541,6 @@ DREF VLR subscr IMSI:901700000010650 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000010650 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - lu_result_sent == 2 - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_umts_authen_too_short_res_geran: SUCCESS @@ -1610,8 +1621,11 @@ DREF IMSI:901700000010650: MSC conn use + release == 2 (0x102) DREF VLR subscr IMSI:901700000010650 usage increases to: 2 DREF VLR subscr IMSI:901700000010650 usage decreases to: 1 - Iu Release --RAN_UTRAN_IU--> MS -DREF IMSI:901700000010650: MSC conn use - release == 1 (0x2) -DREF IMSI:901700000010650: MSC conn use - dtap == 0 (0x0) +DREF IMSI:901700000010650: MSC conn use - dtap == 1 (0x100) + lu_result_sent == 2 + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF IMSI:901700000010650: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1625,8 +1639,6 @@ DREF VLR subscr IMSI:901700000010650 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000010650 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - lu_result_sent == 2 - iu_release_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_umts_authen_too_short_res_utran: SUCCESS @@ -1707,8 +1719,11 @@ DREF IMSI:901700000010650: MSC conn use + release == 2 (0x102) DREF VLR subscr IMSI:901700000010650 usage increases to: 2 DREF VLR subscr IMSI:901700000010650 usage decreases to: 1 - BSSAP Clear --RAN_GERAN_A--> MS -DREF IMSI:901700000010650: MSC conn use - release == 1 (0x2) -DREF IMSI:901700000010650: MSC conn use - dtap == 0 (0x0) +DREF IMSI:901700000010650: MSC conn use - dtap == 1 (0x100) + lu_result_sent == 2 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF IMSI:901700000010650: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1722,8 +1737,6 @@ DREF VLR subscr IMSI:901700000010650 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000010650 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - lu_result_sent == 2 - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_umts_authen_too_long_res_geran: SUCCESS @@ -1804,8 +1817,11 @@ DREF IMSI:901700000010650: MSC conn use + release == 2 (0x102) DREF VLR subscr IMSI:901700000010650 usage increases to: 2 DREF VLR subscr IMSI:901700000010650 usage decreases to: 1 - Iu Release --RAN_UTRAN_IU--> MS -DREF IMSI:901700000010650: MSC conn use - release == 1 (0x2) -DREF IMSI:901700000010650: MSC conn use - dtap == 0 (0x0) +DREF IMSI:901700000010650: MSC conn use - dtap == 1 (0x100) + lu_result_sent == 2 + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF IMSI:901700000010650: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1819,8 +1835,6 @@ DREF VLR subscr IMSI:901700000010650 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000010650 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - lu_result_sent == 2 - iu_release_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_umts_authen_too_long_res_utran: SUCCESS @@ -1901,8 +1915,11 @@ DREF IMSI:901700000010650: MSC conn use + release == 2 (0x102) DREF VLR subscr IMSI:901700000010650 usage increases to: 2 DREF VLR subscr IMSI:901700000010650 usage decreases to: 1 - BSSAP Clear --RAN_GERAN_A--> MS -DREF IMSI:901700000010650: MSC conn use - release == 1 (0x2) -DREF IMSI:901700000010650: MSC conn use - dtap == 0 (0x0) +DREF IMSI:901700000010650: MSC conn use - dtap == 1 (0x100) + lu_result_sent == 2 + bssap_clear_sent == 1 +- BSS sends BSSMAP Clear Complete +DREF IMSI:901700000010650: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -1916,8 +1933,6 @@ DREF VLR subscr IMSI:901700000010650 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000010650 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - lu_result_sent == 2 - bssap_clear_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_umts_authen_only_sres_geran: SUCCESS @@ -1998,8 +2013,11 @@ DREF IMSI:901700000010650: MSC conn use + release == 2 (0x102) DREF VLR subscr IMSI:901700000010650 usage increases to: 2 DREF VLR subscr IMSI:901700000010650 usage decreases to: 1 - Iu Release --RAN_UTRAN_IU--> MS -DREF IMSI:901700000010650: MSC conn use - release == 1 (0x2) -DREF IMSI:901700000010650: MSC conn use - dtap == 0 (0x0) +DREF IMSI:901700000010650: MSC conn use - dtap == 1 (0x100) + lu_result_sent == 2 + iu_release_sent == 1 +- RNC sends Iu Release Complete +DREF IMSI:901700000010650: MSC conn use - release == 0 (0x0) DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR) @@ -2013,8 +2031,6 @@ DREF VLR subscr IMSI:901700000010650 usage decreases to: 0 DREF freeing VLR subscr IMSI:901700000010650 DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Freeing instance DMM Subscr_Conn(901700000010650){SUBSCR_CONN_S_RELEASED}: Deallocated - lu_result_sent == 2 - iu_release_sent == 1 llist_count(&net->subscr_conns) == 0 ===== test_umts_authen_only_sres_utran: SUCCESS diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c index 915f2821a..eda3ea174 100644 --- a/tests/msc_vlr/msc_vlr_tests.c +++ b/tests/msc_vlr/msc_vlr_tests.c @@ -795,6 +795,22 @@ void ms_sends_security_mode_complete() msc_rx_sec_mode_compl(g_conn); } +void bss_sends_clear_complete() +{ + btw("BSS sends BSSMAP Clear Complete"); + OSMO_ASSERT(g_conn); + OSMO_ASSERT(g_conn->via_ran == RAN_GERAN_A); + msc_subscr_conn_rx_bssmap_clear_complete(g_conn); +} + +void rnc_sends_release_complete() +{ + btw("RNC sends Iu Release Complete"); + OSMO_ASSERT(g_conn); + OSMO_ASSERT(g_conn->via_ran == RAN_UTRAN_IU); + msc_subscr_conn_rx_iu_release_complete(g_conn); +} + const struct timeval fake_time_start_time = { 123, 456 }; void fake_time_start() diff --git a/tests/msc_vlr/msc_vlr_tests.h b/tests/msc_vlr/msc_vlr_tests.h index 15df9ec78..a29e87065 100644 --- a/tests/msc_vlr/msc_vlr_tests.h +++ b/tests/msc_vlr/msc_vlr_tests.h @@ -166,6 +166,9 @@ void send_sms(struct vlr_subscr *receiver, struct vlr_subscr *sender, char *str); +void bss_sends_clear_complete(); +void rnc_sends_release_complete(); + void thwart_rx_non_initial_requests(); #define EXPECT_ACCEPTED(expect_accepted) do { \ @@ -223,3 +226,31 @@ void fake_time_start(); } while (0) extern const struct timeval fake_time_start_time; + +#define ASSERT_RELEASE_CLEAR(via_ran) \ + switch (via_ran) { \ + case RAN_GERAN_A: \ + VERBOSE_ASSERT(bssap_clear_sent, == true, "%d"); \ + break; \ + case RAN_UTRAN_IU: \ + VERBOSE_ASSERT(iu_release_sent, == true, "%d"); \ + break; \ + default: \ + OSMO_ASSERT(false); \ + break; \ + } + +static inline void bss_rnc_sends_release_clear_complete(enum ran_type via_ran) +{ + switch (via_ran) { + case RAN_GERAN_A: + bss_sends_clear_complete(); + return; + case RAN_UTRAN_IU: + rnc_sends_release_complete(); + return; + default: + OSMO_ASSERT(false); + break; + } +} |