aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-04-01 20:55:54 +0200
committerHarald Welte <laforge@gnumonks.org>2018-04-11 21:39:44 +0000
commit4068ab278b66af7010c3acc73a7bb87bf651fc46 (patch)
tree096c6e858639e74703f272762dcead6df7c8df4b
parente3d3dc6ea218a07161eeb80ae864a96bef2d8e61 (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
-rw-r--r--include/osmocom/msc/gsm_data.h3
-rw-r--r--include/osmocom/msc/osmo_msc.h6
-rw-r--r--src/libmsc/a_iface_bssap.c20
-rw-r--r--src/libmsc/iucs_ranap.c2
-rw-r--r--src/libmsc/osmo_msc.c5
-rw-r--r--src/libmsc/subscr_conn.c71
-rw-r--r--tests/msc_vlr/msc_vlr_test_authen_reuse.c17
-rw-r--r--tests/msc_vlr/msc_vlr_test_authen_reuse.err120
-rw-r--r--tests/msc_vlr/msc_vlr_test_call.c6
-rw-r--r--tests/msc_vlr/msc_vlr_test_call.err50
-rw-r--r--tests/msc_vlr/msc_vlr_test_gsm_authen.c19
-rw-r--r--tests/msc_vlr/msc_vlr_test_gsm_authen.err142
-rw-r--r--tests/msc_vlr/msc_vlr_test_gsm_ciph.c19
-rw-r--r--tests/msc_vlr/msc_vlr_test_gsm_ciph.err153
-rw-r--r--tests/msc_vlr/msc_vlr_test_hlr_reject.c11
-rw-r--r--tests/msc_vlr/msc_vlr_test_hlr_reject.err149
-rw-r--r--tests/msc_vlr/msc_vlr_test_hlr_timeout.c2
-rw-r--r--tests/msc_vlr/msc_vlr_test_hlr_timeout.err10
-rw-r--r--tests/msc_vlr/msc_vlr_test_ms_timeout.c5
-rw-r--r--tests/msc_vlr/msc_vlr_test_ms_timeout.err45
-rw-r--r--tests/msc_vlr/msc_vlr_test_no_authen.c23
-rw-r--r--tests/msc_vlr/msc_vlr_test_no_authen.err188
-rw-r--r--tests/msc_vlr/msc_vlr_test_reject_concurrency.c11
-rw-r--r--tests/msc_vlr/msc_vlr_test_reject_concurrency.err181
-rw-r--r--tests/msc_vlr/msc_vlr_test_rest.c6
-rw-r--r--tests/msc_vlr/msc_vlr_test_rest.err58
-rw-r--r--tests/msc_vlr/msc_vlr_test_umts_authen.c21
-rw-r--r--tests/msc_vlr/msc_vlr_test_umts_authen.err112
-rw-r--r--tests/msc_vlr/msc_vlr_tests.c16
-rw-r--r--tests/msc_vlr/msc_vlr_tests.h31
30 files changed, 931 insertions, 571 deletions
diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h
index 4cfe08d08..c5e7aaf12 100644
--- a/include/osmocom/msc/gsm_data.h
+++ b/include/osmocom/msc/gsm_data.h
@@ -148,6 +148,7 @@ struct gsm_subscriber_connection {
struct {
struct ranap_ue_conn_ctx *ue_ctx;
uint8_t rab_id;
+ bool waiting_for_release_complete;
} iu;
struct {
@@ -164,6 +165,8 @@ struct gsm_subscriber_connection {
* to reference the SCCP connection that is
* associated with this subscriber connection */
uint32_t conn_id;
+
+ bool waiting_for_clear_complete;
} a;
};
diff --git a/include/osmocom/msc/osmo_msc.h b/include/osmocom/msc/osmo_msc.h
index f7d89a259..632b2316e 100644
--- a/include/osmocom/msc/osmo_msc.h
+++ b/include/osmocom/msc/osmo_msc.h
@@ -77,8 +77,12 @@ bool msc_subscr_conn_is_establishing_auth_ciph(const struct gsm_subscriber_conne
void msc_subscr_conn_communicating(struct gsm_subscriber_connection *conn);
void msc_subscr_conn_close(struct gsm_subscriber_connection *conn,
uint32_t cause);
+void msc_subscr_conn_mo_close(struct gsm_subscriber_connection *conn, uint32_t cause);
bool msc_subscr_conn_in_release(struct gsm_subscriber_connection *conn);
+void msc_subscr_conn_rx_bssmap_clear_complete(struct gsm_subscriber_connection *conn);
+void msc_subscr_conn_rx_iu_release_complete(struct gsm_subscriber_connection *conn);
+
enum msc_subscr_conn_use {
MSC_CONN_USE_UNTRACKED = -1,
MSC_CONN_USE_COMPL_L3,
@@ -107,6 +111,8 @@ _msc_subscr_conn_get(struct gsm_subscriber_connection *conn,
void _msc_subscr_conn_put(struct gsm_subscriber_connection *conn,
enum msc_subscr_conn_use balance_token,
const char *file, int line);
+bool msc_subscr_conn_used_by(struct gsm_subscriber_connection *conn,
+ enum msc_subscr_conn_use token);
void msc_stop_paging(struct vlr_subscr *vsub);
diff --git a/src/libmsc/a_iface_bssap.c b/src/libmsc/a_iface_bssap.c
index d0d6bc03e..87ccf0532 100644
--- a/src/libmsc/a_iface_bssap.c
+++ b/src/libmsc/a_iface_bssap.c
@@ -239,11 +239,16 @@ static int bssmap_rx_clear_rqst(struct gsm_subscriber_connection *conn,
/* Endpoint to handle BSSMAP clear complete */
static int bssmap_rx_clear_complete(struct osmo_sccp_user *scu,
- const struct a_conn_info *a_conn_info, struct msgb *msg)
+ const struct a_conn_info *a_conn_info,
+ struct gsm_subscriber_connection *conn)
{
int rc;
- LOGP(DMSC, LOGL_INFO, "Rx BSSMAP CLEAR COMPLETE, releasing SCCP connection\n");
+ LOGPCONN(conn, LOGL_INFO, "Rx BSSMAP CLEAR COMPLETE, releasing SCCP connection\n");
+
+ if (conn)
+ msc_subscr_conn_rx_bssmap_clear_complete(conn);
+
rc = osmo_sccp_tx_disconn(scu, a_conn_info->conn_id,
NULL, SCCP_RELEASE_CAUSE_END_USER_ORIGINATED);
@@ -568,8 +573,6 @@ static int rx_bssmap(struct osmo_sccp_user *scu, const struct a_conn_info *a_con
switch (msg_type) {
case BSS_MAP_MSG_COMPLETE_LAYER_3:
return bssmap_rx_l3_compl(scu, a_conn_info, msg, &tp);
- case BSS_MAP_MSG_CLEAR_COMPLETE:
- return bssmap_rx_clear_complete(scu, a_conn_info, msg);
default:
break;
}
@@ -577,6 +580,13 @@ static int rx_bssmap(struct osmo_sccp_user *scu, const struct a_conn_info *a_con
conn = subscr_conn_lookup_a(a_conn_info->network, a_conn_info->conn_id);
if (!conn) {
LOGP(DBSSAP, LOGL_ERROR, "Couldn't find subscr_conn for conn_id=%d\n", a_conn_info->conn_id);
+ /* We expect a Clear Complete to come in on a valid conn. But if for some reason we still
+ * have the SCCP connection while the subscriber connection data is already gone, at
+ * least close the SCCP conn. */
+
+ if (msg_type == BSS_MAP_MSG_CLEAR_COMPLETE)
+ return bssmap_rx_clear_complete(scu, a_conn_info, NULL);
+
return -EINVAL;
}
@@ -585,6 +595,8 @@ static int rx_bssmap(struct osmo_sccp_user *scu, const struct a_conn_info *a_con
switch (msg_type) {
case BSS_MAP_MSG_CLEAR_RQST:
return bssmap_rx_clear_rqst(conn, msg, &tp);
+ case BSS_MAP_MSG_CLEAR_COMPLETE:
+ return bssmap_rx_clear_complete(scu, a_conn_info, conn);
case BSS_MAP_MSG_CLASSMARK_UPDATE:
return bssmap_rx_classmark_upd(conn, msg, &tp);
case BSS_MAP_MSG_CIPHER_MODE_COMPLETE:
diff --git a/src/libmsc/iucs_ranap.c b/src/libmsc/iucs_ranap.c
index 57cd50eed..ec0b569c7 100644
--- a/src/libmsc/iucs_ranap.c
+++ b/src/libmsc/iucs_ranap.c
@@ -117,7 +117,7 @@ int iucs_rx_ranap_event(struct gsm_network *network,
case RANAP_IU_EVENT_LINK_INVALIDATED:
LOGP(DIUCS, LOGL_INFO, "IuCS release for %s\n",
vlr_subscr_name(conn->vsub));
- msc_subscr_conn_close(conn, 0);
+ msc_subscr_conn_rx_iu_release_complete(conn);
return 0;
case RANAP_IU_EVENT_SECURITY_MODE_COMPLETE:
diff --git a/src/libmsc/osmo_msc.c b/src/libmsc/osmo_msc.c
index a5184b213..cc67a5ac9 100644
--- a/src/libmsc/osmo_msc.c
+++ b/src/libmsc/osmo_msc.c
@@ -283,6 +283,11 @@ void _msc_subscr_conn_put(struct gsm_subscriber_connection *conn,
osmo_fsm_inst_dispatch(conn->fi, SUBSCR_CONN_E_UNUSED, NULL);
}
+bool msc_subscr_conn_used_by(struct gsm_subscriber_connection *conn, enum msc_subscr_conn_use token)
+{
+ return conn && (conn->use_tokens & (1 << token));
+}
+
const struct value_string msc_subscr_conn_use_names[] = {
{MSC_CONN_USE_UNTRACKED, "UNTRACKED"},
{MSC_CONN_USE_COMPL_L3, "compl_l3"},
diff --git a/src/libmsc/subscr_conn.c b/src/libmsc/subscr_conn.c
index e3a6b248c..1ca6b2d41 100644
--- a/src/libmsc/subscr_conn.c
+++ b/src/libmsc/subscr_conn.c
@@ -260,8 +260,11 @@ static void subscr_conn_fsm_releasing_onenter(struct osmo_fsm_inst *fi, uint32_t
{
struct gsm_subscriber_connection *conn = fi->priv;
- /* While we're still checking on release, prevent a last use count decrement from deallocating */
- msc_subscr_conn_get(conn, MSC_CONN_USE_RELEASE);
+ /* Use count for either conn->a.waiting_for_clear_complete or
+ * conn->iu.waiting_for_release_complete. 'get' it early, so we don't deallocate after tearing
+ * down active transactions. Safeguard against double-get (though it shouldn't happen). */
+ if (!msc_subscr_conn_used_by(conn, MSC_CONN_USE_RELEASE))
+ msc_subscr_conn_get(conn, MSC_CONN_USE_RELEASE);
/* Cancel pending CM Service Requests */
if (conn->received_cm_service_request) {
@@ -278,20 +281,27 @@ static void subscr_conn_fsm_releasing_onenter(struct osmo_fsm_inst *fi, uint32_t
switch (conn->via_ran) {
case RAN_GERAN_A:
a_iface_tx_clear_cmd(conn);
+ if (conn->a.waiting_for_clear_complete) {
+ LOGPFSML(fi, LOGL_ERROR,
+ "Unexpected: conn is already waiting for BSSMAP Clear Complete\n");
+ break;
+ }
+ conn->a.waiting_for_clear_complete = true;
break;
case RAN_UTRAN_IU:
ranap_iu_tx_release(conn->iu.ue_ctx, NULL);
+ if (conn->iu.waiting_for_release_complete) {
+ LOGPFSML(fi, LOGL_ERROR,
+ "Unexpected: conn is already waiting for Iu Release Complete\n");
+ break;
+ }
+ conn->iu.waiting_for_release_complete = true;
break;
default:
LOGP(DMM, LOGL_ERROR, "%s: Unknown RAN type, cannot tx release/clear\n",
vlr_subscr_name(conn->vsub));
break;
}
-
- /* FIXME: keep the conn until the Iu Release Outcome is
- * received from the UE, or a timeout expires. For now, the log
- * says "unknown UE" for each release outcome. */
- msc_subscr_conn_put(conn, MSC_CONN_USE_RELEASE);
}
static void subscr_conn_fsm_releasing(struct osmo_fsm_inst *fi, uint32_t event, void *data)
@@ -456,7 +466,7 @@ void subscr_conn_release_when_unused(struct gsm_subscriber_connection *conn)
osmo_fsm_inst_dispatch(conn->fi, SUBSCR_CONN_E_RELEASE_WHEN_UNUSED, NULL);
}
-void msc_subscr_conn_close(struct gsm_subscriber_connection *conn, uint32_t cause)
+static void conn_close(struct gsm_subscriber_connection *conn, uint32_t cause, uint32_t event)
{
if (!conn) {
LOGP(DMM, LOGL_ERROR, "Cannot release NULL connection\n");
@@ -467,11 +477,23 @@ void msc_subscr_conn_close(struct gsm_subscriber_connection *conn, uint32_t caus
__func__, vlr_subscr_name(conn->vsub), cause);
return;
}
- osmo_fsm_inst_dispatch(conn->fi, SUBSCR_CONN_E_CN_CLOSE, &cause);
+ osmo_fsm_inst_dispatch(conn->fi, event, &cause);
+}
+
+void msc_subscr_conn_close(struct gsm_subscriber_connection *conn, uint32_t cause)
+{
+ return conn_close(conn, cause, SUBSCR_CONN_E_CN_CLOSE);
+}
+
+void msc_subscr_conn_mo_close(struct gsm_subscriber_connection *conn, uint32_t cause)
+{
+ return conn_close(conn, cause, SUBSCR_CONN_E_MO_CLOSE);
}
bool msc_subscr_conn_in_release(struct gsm_subscriber_connection *conn)
{
+ if (!conn || !conn->fi)
+ return true;
if (conn->fi->state == SUBSCR_CONN_S_RELEASING)
return true;
if (conn->fi->state == SUBSCR_CONN_S_RELEASED)
@@ -491,7 +513,8 @@ bool msc_subscr_conn_is_accepted(const struct gsm_subscriber_connection *conn)
return true;
}
-/* Indicate that *some* communication is happening with the phone. */
+/* Indicate that *some* communication is happening with the phone, so that the conn FSM no longer times
+ * out to release within a few seconds. */
void msc_subscr_conn_communicating(struct gsm_subscriber_connection *conn)
{
osmo_fsm_inst_dispatch(conn->fi, SUBSCR_CONN_E_COMMUNICATING, NULL);
@@ -544,6 +567,7 @@ bool msc_subscr_conn_is_establishing_auth_ciph(const struct gsm_subscriber_conne
return conn->fi->state == SUBSCR_CONN_S_AUTH_CIPH;
}
+
const struct value_string complete_layer3_type_names[] = {
{ COMPLETE_LAYER3_NONE, "NONE" },
{ COMPLETE_LAYER3_LU, "LU" },
@@ -559,3 +583,30 @@ void msc_subscr_conn_update_id(struct gsm_subscriber_connection *conn,
osmo_fsm_inst_update_id(conn->fi, id);
LOGPFSML(conn->fi, LOGL_DEBUG, "Updated ID from %s\n", complete_layer3_type_name(from));
}
+
+static void rx_close_complete(struct gsm_subscriber_connection *conn, const char *label, bool *flag)
+{
+ if (!conn)
+ return;
+ if (!msc_subscr_conn_in_release(conn)) {
+ LOGPFSML(conn->fi, LOGL_ERROR, "Received unexpected %s, discarding right now\n",
+ label);
+ trans_conn_closed(conn);
+ osmo_fsm_inst_term(conn->fi, OSMO_FSM_TERM_ERROR, NULL);
+ return;
+ }
+ if (*flag) {
+ *flag = false;
+ msc_subscr_conn_put(conn, MSC_CONN_USE_RELEASE);
+ }
+}
+
+void msc_subscr_conn_rx_bssmap_clear_complete(struct gsm_subscriber_connection *conn)
+{
+ rx_close_complete(conn, "BSSMAP Clear Complete", &conn->a.waiting_for_clear_complete);
+}
+
+void msc_subscr_conn_rx_iu_release_complete(struct gsm_subscriber_connection *conn)
+{
+ rx_close_complete(conn, "Iu Release Complete", &conn->iu.waiting_for_release_complete);
+}
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;
+ }
+}