aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/msc_vlr/Makefile.am9
-rw-r--r--tests/msc_vlr/msc_vlr_test_authen_reuse.c14
-rw-r--r--tests/msc_vlr/msc_vlr_test_authen_reuse.err348
-rw-r--r--tests/msc_vlr/msc_vlr_test_gsm_authen.c27
-rw-r--r--tests/msc_vlr/msc_vlr_test_gsm_authen.err87
-rw-r--r--tests/msc_vlr/msc_vlr_test_gsm_ciph.c27
-rw-r--r--tests/msc_vlr/msc_vlr_test_gsm_ciph.err87
-rw-r--r--tests/msc_vlr/msc_vlr_test_no_authen.c17
-rw-r--r--tests/msc_vlr/msc_vlr_test_no_authen.err59
-rw-r--r--tests/msc_vlr/msc_vlr_test_reject_concurrency.c9
-rw-r--r--tests/msc_vlr/msc_vlr_test_reject_concurrency.err29
-rw-r--r--tests/msc_vlr/msc_vlr_test_ss.c122
-rw-r--r--tests/msc_vlr/msc_vlr_test_ss.err206
-rw-r--r--tests/msc_vlr/msc_vlr_test_ss.ok1
-rw-r--r--tests/msc_vlr/msc_vlr_test_umts_authen.c7
-rw-r--r--tests/msc_vlr/msc_vlr_test_umts_authen.err58
-rw-r--r--tests/msc_vlr/msc_vlr_tests.c31
-rw-r--r--tests/msc_vlr/msc_vlr_tests.h2
-rw-r--r--tests/testsuite.at7
19 files changed, 488 insertions, 659 deletions
diff --git a/tests/msc_vlr/Makefile.am b/tests/msc_vlr/Makefile.am
index bafe743e8..8b29f7917 100644
--- a/tests/msc_vlr/Makefile.am
+++ b/tests/msc_vlr/Makefile.am
@@ -80,6 +80,8 @@ EXTRA_DIST = \
msc_vlr_test_call.err \
msc_vlr_test_rest.ok \
msc_vlr_test_rest.err \
+ msc_vlr_test_ss.ok \
+ msc_vlr_test_ss.err \
$(NULL)
noinst_PROGRAMS = \
@@ -94,6 +96,7 @@ noinst_PROGRAMS = \
msc_vlr_test_reject_concurrency \
msc_vlr_test_call \
msc_vlr_test_rest \
+ msc_vlr_test_ss \
$(NULL)
msc_vlr_test_no_authen_SOURCES = \
@@ -151,6 +154,11 @@ msc_vlr_test_rest_SOURCES = \
msc_vlr_tests.c \
$(NULL)
+msc_vlr_test_ss_SOURCES = \
+ msc_vlr_test_ss.c \
+ msc_vlr_tests.c \
+ $(NULL)
+
.PHONY: update_exp
update_exp:
$(builddir)/msc_vlr_test_no_authen >$(srcdir)/msc_vlr_test_no_authen.ok 2>$(srcdir)/msc_vlr_test_no_authen.err
@@ -164,3 +172,4 @@ update_exp:
$(builddir)/msc_vlr_test_reject_concurrency >$(srcdir)/msc_vlr_test_reject_concurrency.ok 2>$(srcdir)/msc_vlr_test_reject_concurrency.err
$(builddir)/msc_vlr_test_call >$(srcdir)/msc_vlr_test_call.ok 2>$(srcdir)/msc_vlr_test_call.err
$(builddir)/msc_vlr_test_rest >$(srcdir)/msc_vlr_test_rest.ok 2>$(srcdir)/msc_vlr_test_rest.err
+ $(builddir)/msc_vlr_test_ss >$(srcdir)/msc_vlr_test_ss.ok 2>$(srcdir)/msc_vlr_test_ss.err
diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.c b/tests/msc_vlr/msc_vlr_test_authen_reuse.c
index 389837ad6..3b80e8373 100644
--- a/tests/msc_vlr/msc_vlr_test_authen_reuse.c
+++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.c
@@ -177,12 +177,9 @@ static void _test_auth_reuse(enum ran_type via_ran,
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
}
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 42342\r");
+ /* Release connection */
expect_release_clear(via_ran);
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- OSMO_ASSERT(dtap_tx_confirmed);
- ASSERT_RELEASE_CLEAR(via_ran);
+ conn_conclude_cm_service_req(g_conn, via_ran);
bss_rnc_sends_release_clear_complete(via_ran);
btw("all requests serviced, conn has been released");
@@ -252,12 +249,9 @@ static void _test_auth_reuse(enum ran_type via_ran,
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
}
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 42342\r");
+ /* Release connection */
expect_release_clear(via_ran);
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- OSMO_ASSERT(dtap_tx_confirmed);
- ASSERT_RELEASE_CLEAR(via_ran);
+ conn_conclude_cm_service_req(g_conn, via_ran);
bss_rnc_sends_release_clear_complete(via_ran);
btw("all requests serviced, conn has been released");
diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.err b/tests/msc_vlr/msc_vlr_test_authen_reuse.err
index 2fae41810..e25396ded 100644
--- a/tests/msc_vlr/msc_vlr_test_authen_reuse.err
+++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.err
@@ -253,31 +253,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000001) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -382,31 +361,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000002) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -739,31 +697,10 @@ DREF MSISDN:42342: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000003) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU
-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -881,31 +818,10 @@ DREF MSISDN:42342: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000004) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU
-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -1213,31 +1129,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000005) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -1328,31 +1223,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000006) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -1443,31 +1317,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000007) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -1800,31 +1653,10 @@ DREF MSISDN:42342: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000008) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU
-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -1928,31 +1760,10 @@ DREF MSISDN:42342: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000009) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU
-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -2056,31 +1867,10 @@ DREF MSISDN:42342: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 2000000a) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU
-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -2402,31 +2192,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 2000000b) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -2773,31 +2542,10 @@ DREF MSISDN:42342: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 2000000c) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU
-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.c b/tests/msc_vlr/msc_vlr_test_gsm_authen.c
index a863d9018..6555fbdb8 100644
--- a/tests/msc_vlr/msc_vlr_test_gsm_authen.c
+++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.c
@@ -114,12 +114,9 @@ static void test_gsm_authen()
ms_sends_msg("0554" "20bde240" /* 2nd vector's sres, s.a. */);
VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 46071\r");
- expect_bssap_clear();
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- OSMO_ASSERT(dtap_tx_confirmed);
- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
+ /* Release connection */
+ expect_bssap_clear(RAN_GERAN_A);
+ conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);
btw("all requests serviced, conn has been released");
bss_sends_clear_complete();
@@ -335,12 +332,9 @@ static void test_gsm_authen_tmsi()
ms_sends_msg("0554" "20bde240" /* 2nd vector's sres, s.a. */);
VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 46071\r");
- expect_bssap_clear();
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- OSMO_ASSERT(dtap_tx_confirmed);
- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
+ /* Release connection */
+ expect_bssap_clear(RAN_GERAN_A);
+ conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);
btw("all requests serviced, conn has been released");
bss_sends_clear_complete();
@@ -833,12 +827,9 @@ static void test_gsm_milenage_authen()
ms_sends_msg("0554" "85aa3130"); /* 2nd vector's sres, s.a. */
VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 42342\r");
- expect_bssap_clear();
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- OSMO_ASSERT(dtap_tx_confirmed);
- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
+ /* Release connection */
+ expect_bssap_clear(RAN_GERAN_A);
+ conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);
btw("all requests serviced, conn has been released");
bss_sends_clear_complete();
diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err
index 22f5824f9..954934abb 100644
--- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err
+++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err
@@ -246,31 +246,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: state_
DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:46071: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 46071
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction
-DREF VLR subscr MSISDN:46071 usage increases to: 3
-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:46071: MSISDN = 46071
-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:46071 usage decreases to: 2
-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:46071 usage increases to: 3
DREF VLR subscr MSISDN:46071 usage decreases to: 2
@@ -754,31 +733,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to
DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:46071: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 46071
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:46071 callref 20000002) New transaction
-DREF VLR subscr MSISDN:46071 usage increases to: 3
-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:46071: MSISDN = 46071
-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:46071 usage decreases to: 2
-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:46071 usage increases to: 3
DREF VLR subscr MSISDN:46071 usage decreases to: 2
@@ -1886,31 +1844,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000003) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c
index b4269818c..add9f7f32 100644
--- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c
+++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c
@@ -125,12 +125,9 @@ static void test_ciph()
ms_sends_msg("0632");
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 46071\r");
- expect_bssap_clear();
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- OSMO_ASSERT(dtap_tx_confirmed);
- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
+ /* Release connection */
+ expect_bssap_clear(RAN_GERAN_A);
+ conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);
btw("all requests serviced, conn has been released");
bss_sends_clear_complete();
@@ -368,12 +365,9 @@ static void test_ciph_tmsi()
ms_sends_msg("0632");
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 46071\r");
- expect_bssap_clear();
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- OSMO_ASSERT(dtap_tx_confirmed);
- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
+ /* Release connection */
+ expect_bssap_clear(RAN_GERAN_A);
+ conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);
btw("all requests serviced, conn has been released");
bss_sends_clear_complete();
@@ -968,12 +962,9 @@ static void test_gsm_ciph_in_umts_env()
ms_sends_msg("0632");
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 42342\r");
- expect_bssap_clear();
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- OSMO_ASSERT(dtap_tx_confirmed);
- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
+ /* Release connection */
+ expect_bssap_clear(RAN_GERAN_A);
+ conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);
btw("all requests serviced, conn has been released");
bss_sends_clear_complete();
diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err
index e309c2e43..83723ab13 100644
--- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err
+++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err
@@ -275,31 +275,10 @@ DREF MSISDN:46071: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 46071
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction
-DREF VLR subscr MSISDN:46071 usage increases to: 3
-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:46071: MSISDN = 46071
-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:46071 usage decreases to: 2
-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:46071 usage increases to: 3
DREF VLR subscr MSISDN:46071 usage decreases to: 2
@@ -838,31 +817,10 @@ DREF MSISDN:46071: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 46071
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:46071 callref 20000002) New transaction
-DREF VLR subscr MSISDN:46071 usage increases to: 3
-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:46071: MSISDN = 46071
-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:46071 usage decreases to: 2
-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:46071 usage increases to: 3
DREF VLR subscr MSISDN:46071 usage decreases to: 2
@@ -2087,31 +2045,10 @@ DREF MSISDN:42342: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000003) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.c b/tests/msc_vlr/msc_vlr_test_no_authen.c
index 85c01d9d2..afa03c33c 100644
--- a/tests/msc_vlr/msc_vlr_test_no_authen.c
+++ b/tests/msc_vlr/msc_vlr_test_no_authen.c
@@ -72,12 +72,9 @@ static void test_no_authen()
VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");
EXPECT_ACCEPTED(true);
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 46071\r");
- expect_bssap_clear();
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- VERBOSE_ASSERT(dtap_tx_confirmed, == true, "%d");
- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
+ /* Release connection */
+ expect_bssap_clear(RAN_GERAN_A);
+ conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);
btw("all requests serviced, conn has been released");
bss_sends_clear_complete();
@@ -238,11 +235,9 @@ static void test_no_authen_tmsi()
VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");
EXPECT_ACCEPTED(true);
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 46071\r");
- expect_bssap_clear();
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
+ /* Release connection */
+ expect_bssap_clear(RAN_GERAN_A);
+ conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);
btw("all requests serviced, conn has been released");
bss_sends_clear_complete();
diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err
index af80da2d0..0a36094cf 100644
--- a/tests/msc_vlr/msc_vlr_test_no_authen.err
+++ b/tests/msc_vlr/msc_vlr_test_no_authen.err
@@ -159,36 +159,14 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Event S
DREF MSISDN:46071: MSC conn use - compl_l3 == 1 (0x8: cm_service)
cm_service_result_sent == 1
msc_subscr_conn_is_accepted() == true
-- a USSD request is serviced
- expecting USSD:
- Your extension is 46071
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction
-DREF VLR subscr MSISDN:46071 usage increases to: 3
-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:46071: MSISDN = 46071
-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:46071 usage decreases to: 2
-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)
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
@@ -542,31 +520,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Event SUBSCR_C
DREF MSISDN:46071: MSC conn use - compl_l3 == 1 (0x8: cm_service)
cm_service_result_sent == 1
msc_subscr_conn_is_accepted() == true
-- a USSD request is serviced
- expecting USSD:
- Your extension is 46071
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:46071 callref 20000002) New transaction
-DREF VLR subscr MSISDN:46071 usage increases to: 3
-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:46071: MSISDN = 46071
-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:46071 usage decreases to: 2
-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:46071 usage increases to: 3
DREF VLR subscr MSISDN:46071 usage decreases to: 2
diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c
index ea8c32cab..580135a0e 100644
--- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c
+++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c
@@ -313,11 +313,10 @@ static void test_reject_paging_resp_during_cm()
EXPECT_CONN_COUNT(1);
BTW("The original CM Service Request can conclude");
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 46071\r");
- expect_bssap_clear();
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
+
+ /* Release connection */
+ expect_bssap_clear(RAN_GERAN_A);
+ conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);
btw("all requests serviced, conn has been released");
bss_sends_clear_complete();
diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err
index 8221e7853..39199ef73 100644
--- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err
+++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err
@@ -1115,31 +1115,10 @@ DREF MSISDN:46071: MSC conn use - dtap == 1 (0x8: cm_service)
llist_count(&net->subscr_conns) == 1
---
- The original CM Service Request can conclude
-- a USSD request is serviced
- expecting USSD:
- Your extension is 46071
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction
-DREF VLR subscr MSISDN:46071 usage increases to: 3
-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:46071: MSISDN = 46071
-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:46071 usage decreases to: 2
-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:46071 usage increases to: 3
DREF VLR subscr MSISDN:46071 usage decreases to: 2
diff --git a/tests/msc_vlr/msc_vlr_test_ss.c b/tests/msc_vlr/msc_vlr_test_ss.c
new file mode 100644
index 000000000..f3a1f68e5
--- /dev/null
+++ b/tests/msc_vlr/msc_vlr_test_ss.c
@@ -0,0 +1,122 @@
+/*
+ * Osmocom MSC+VLR end-to-end tests
+ *
+ * (C) 2018 by Vadim Yanitskiy <axilirator@gmail.com>
+ *
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "msc_vlr_tests.h"
+
+#define IMSI "901700000004620"
+
+#define FACILITY_IE_REQ \
+ "a113" /* Invoke component, len=19 */ \
+ "020101" /* InvokeID=1 */ \
+ "02013b" /* OpCode=GSM0480_OP_CODE_PROCESS_USS_REQ */ \
+ "300b" /* Sequence tag, len=11 */ \
+ "04010f" /* DCS: Default 7-bit alphabet */ \
+ "0406aa510c061b01" /* USSD text: *#100#, len=6 */
+
+#define FACILITY_IE_RSP \
+ "a225" /* ReturnResult, len=37 */ \
+ "020101" /* InvokeID=1 */ \
+ "3020" /* Sequence tag, len=32 */ \
+ "02013b" /* OpCode=GSM0480_OP_CODE_PROCESS_USS_REQ */ \
+ "301b" /* Sequence tag, len=27 */ \
+ "04010f" /* DCS: Default 7-bit alphabet */ \
+ "0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d"
+
+static void perform_lu(void)
+{
+ struct vlr_subscr *vsub;
+
+ btw("Location Update request causes a GSUP LU request to HLR");
+ lu_result_sent = RES_NONE;
+ gsup_expect_tx("04010809710000004026f0");
+ ms_sends_msg("050802008168000130089910070000006402");
+ OSMO_ASSERT(gsup_tx_confirmed);
+ VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
+
+ btw("HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT");
+ gsup_rx("10010809710000004026f00804036470f1",
+ "12010809710000004026f0");
+ VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
+
+ btw("HLR also sends GSUP _UPDATE_LOCATION_RESULT");
+ expect_bssap_clear();
+ gsup_rx("06010809710000004026f0", NULL);
+
+ 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");
+
+ vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI);
+ VERBOSE_ASSERT(vsub != NULL, == true, "%d");
+ VERBOSE_ASSERT(strcmp(vsub->imsi, IMSI), == 0, "%d");
+ VERBOSE_ASSERT(vsub->lac, == 23, "%u");
+ vlr_subscr_put(vsub);
+
+ bss_sends_clear_complete();
+ EXPECT_CONN_COUNT(0);
+}
+
+static void _test_ss_ussd(enum ran_type via_ran)
+{
+ /* TODO: UTRAN requires auth and ciph */
+ rx_from_ran = via_ran;
+
+ /* Perform Location Update */
+ perform_lu();
+
+ BTW("after a while, a new conn sends a CM Service Request");
+
+ cm_service_result_sent = RES_NONE;
+ ms_sends_msg("05247803305886089910070000006402");
+ OSMO_ASSERT(g_conn);
+ OSMO_ASSERT(g_conn->fi);
+ OSMO_ASSERT(g_conn->vsub);
+ VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");
+ EXPECT_ACCEPTED(true);
+
+ /* MT: GSM 04.80 RELEASE COMPLETE with Facility IE */
+ dtap_expect_tx("8b2a" "1c27" FACILITY_IE_RSP);
+ expect_release_clear(via_ran);
+
+ /* MO: GSM 04.80 REGISTER with Facility IE and SS version IE */
+ ms_sends_msg("0b7b" "1c15" FACILITY_IE_REQ "7f0100");
+ VERBOSE_ASSERT(dtap_tx_confirmed, == true, "%d");
+ ASSERT_RELEASE_CLEAR(via_ran);
+
+ btw("all requests serviced, conn has been released");
+ bss_sends_clear_complete();
+ EXPECT_CONN_COUNT(0);
+}
+
+static void test_ss_ussd_geran()
+{
+ comment_start();
+ _test_ss_ussd(RAN_GERAN_A);
+ clear_vlr();
+ comment_end();
+}
+
+msc_vlr_test_func_t msc_vlr_tests[] = {
+ /* TODO: UTRAN requires auth and enc */
+ test_ss_ussd_geran,
+ NULL
+};
diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err
new file mode 100644
index 000000000..c7f77119e
--- /dev/null
+++ b/tests/msc_vlr/msc_vlr_test_ss.err
@@ -0,0 +1,206 @@
+full talloc report on 'msgb' (total 0 bytes in 1 blocks)
+talloc_total_blocks(tall_bsc_ctx) == 12
+
+===== test_ss_ussd_geran
+- Location Update request causes a GSUP LU request to HLR
+ MSC <--RAN_GERAN_A-- MS: GSM48_MT_MM_LOC_UPD_REQUEST
+ new conn
+DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Allocated
+DREF unknown: MSC conn use + compl_l3 == 1 (0x1: compl_l3)
+DRLL Dispatching 04.08 message GSM48_MT_MM_LOC_UPD_REQUEST (0x5:0x8)
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_NEW}: Updated ID
+DMM LOCATION UPDATING REQUEST: MI(IMSI)=901700000004620 type=IMSI ATTACH
+DMM LU/new-LAC: 1/23
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: Allocated
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: is child of Subscr_Conn(LU:901700000004620)
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
+DREF VLR subscr unknown usage increases to: 1
+DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
+DVLR New subscr, IMSI: 901700000004620
+DREF VLR subscr IMSI:901700000004620 usage increases to: 2
+DREF VLR subscr IMSI:901700000004620 usage decreases to: 1
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4()
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_INIT}: Allocated
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_INIT}: is child of vlr_lu_fsm(LU:901700000004620)
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_INIT}: Received Event UPD_HLR_VLR_E_START
+DVLR GSUP tx: 04010809710000004026f0
+GSUP --> HLR: OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST: 04010809710000004026f0
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_INIT}: state_chg to UPD_HLR_VLR_S_WAIT_FOR_DATA
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_NEW}: Received Event SUBSCR_CONN_E_COMPLETE_LAYER_3
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_AUTH_CIPH
+DREF IMSI:901700000004620: MSC conn use - compl_l3 == 0 (0x0: )
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: Awaiting results for Auth+Ciph, overruling event SUBSCR_CONN_E_UNUSED
+ lu_result_sent == 0
+- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
+<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
+DVLR GSUP rx 17: 10010809710000004026f00804036470f1
+DREF VLR subscr IMSI:901700000004620 usage increases to: 2
+DVLR IMSI:901700000004620 has MSISDN:46071
+DVLR SUBSCR(MSISDN:46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
+DVLR GSUP tx: 12010809710000004026f0
+GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
+DREF VLR subscr MSISDN:46071 usage decreases to: 1
+<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
+ lu_result_sent == 0
+- HLR also sends GSUP _UPDATE_LOCATION_RESULT
+<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
+DVLR GSUP rx 11: 06010809710000004026f0
+DREF VLR subscr MSISDN:46071 usage increases to: 2
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_DONE}: Removing from parent vlr_lu_fsm(LU:901700000004620)
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_DONE}: Freeing instance
+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_DONE}: Deallocated
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_UPD_HLR_COMPL
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_HLR_UPD}: state_chg to VLR_ULA_S_WAIT_LU_COMPL
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_INIT}: Allocated
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_INIT}: is child of vlr_lu_fsm(LU:901700000004620)
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_INIT}: Received Event LU_COMPL_VLR_E_START
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_INIT}: Allocated
+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_INIT}: is child of lu_compl_vlr_fsm(LU:901700000004620)
+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_INIT}: Received Event SUB_PRES_VLR_E_START
+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_INIT}: state_chg to SUB_PRES_VLR_S_DONE
+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_DONE}: Removing from parent lu_compl_vlr_fsm(LU:901700000004620)
+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_DONE}: Freeing instance
+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_DONE}: Deallocated
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
+- sending LU Accept for MSISDN:46071
+DREF VLR subscr MSISDN:46071 usage increases to: 3
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_DONE}: Removing from parent vlr_lu_fsm(LU:901700000004620)
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_DONE}: Freeing instance
+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_DONE}: Deallocated
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_LU_COMPL}: state_chg to VLR_ULA_S_DONE
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: Received Event SUBSCR_CONN_E_ACCEPTED
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
+DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)
+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
+DREF VLR subscr MSISDN:46071 usage increases to: 3
+ vsub != NULL == 1
+ strcmp(vsub->imsi, IMSI) == 0
+ vsub->lac == 23
+DREF VLR subscr MSISDN:46071 usage decreases to: 2
+- BSS sends BSSMAP Clear Complete
+DREF MSISDN:46071: MSC conn use - release == 0 (0x0: )
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: Removing from parent Subscr_Conn(LU:901700000004620)
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: Freeing instance
+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: Deallocated
+DRLL MSISDN:46071: Freeing subscriber connection
+DREF VLR subscr MSISDN:46071 usage decreases to: 1
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance
+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated
+ llist_count(&net->subscr_conns) == 0
+---
+- after a while, a new conn sends a CM Service Request
+ MSC <--RAN_GERAN_A-- MS: GSM48_MT_MM_CM_SERV_REQ
+ new conn
+DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Allocated
+DREF unknown: MSC conn use + compl_l3 == 1 (0x1: compl_l3)
+DRLL Dispatching 04.08 message GSM48_MT_MM_CM_SERV_REQ (0x5:0x24)
+DMM <- CM SERVICE REQUEST serv_type=0x08 MI(IMSI)=901700000004620
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: Updated ID
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: Allocated
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: is child of Subscr_Conn(CM_SERVICE_REQ:901700000004620)
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: rev=GSM net=GERAN (no Auth)
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
+DREF VLR subscr MSISDN:46071 usage increases to: 2
+DREF VLR subscr MSISDN:46071 usage increases to: 3
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_node2()
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph()
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr()
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres()
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace()
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_post_imei()
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED)
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Process Access Request result: PASSED
+- sending CM Service Accept for MSISDN:46071
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: Received Event SUBSCR_CONN_E_ACCEPTED
+DREF MSISDN:46071: MSC conn use + cm_service == 2 (0x9: compl_l3,cm_service)
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_ACCEPTED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
+DREF VLR subscr MSISDN:46071 usage decreases to: 2
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMPLETE_LAYER_3
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Event SUBSCR_CONN_E_COMPLETE_LAYER_3 not permitted
+DREF MSISDN:46071: MSC conn use - compl_l3 == 1 (0x8: cm_service)
+ cm_service_result_sent == 1
+msc_subscr_conn_is_accepted() == true
+ MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
+DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
+DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
+DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
+DMM -> (new transaction)
+DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction
+DREF VLR subscr MSISDN:46071 usage increases to: 3
+DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
+DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
+DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
+DMM USSD: Own number requested
+DMM MSISDN:46071: MSISDN = 46071
+DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A
+- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
+- DTAP matches expected message
+DREF VLR subscr MSISDN:46071 usage decreases to: 2
+DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
+DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)
+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(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Removing from parent Subscr_Conn(CM_SERVICE_REQ:901700000004620)
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Freeing instance
+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Deallocated
+DRLL MSISDN:46071: Freeing subscriber connection
+DREF VLR subscr MSISDN:46071 usage decreases to: 1
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated
+ llist_count(&net->subscr_conns) == 0
+DREF freeing VLR subscr MSISDN:46071
+===== test_ss_ussd_geran: SUCCESS
+
+full talloc report on 'msgb' (total 0 bytes in 1 blocks)
+talloc_total_blocks(tall_bsc_ctx) == 12
+
+full talloc report on 'msgb' (total 0 bytes in 1 blocks)
+talloc_total_blocks(tall_bsc_ctx) == 12
+
diff --git a/tests/msc_vlr/msc_vlr_test_ss.ok b/tests/msc_vlr/msc_vlr_test_ss.ok
new file mode 100644
index 000000000..a965a70ed
--- /dev/null
+++ b/tests/msc_vlr/msc_vlr_test_ss.ok
@@ -0,0 +1 @@
+Done
diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.c b/tests/msc_vlr/msc_vlr_test_umts_authen.c
index 42d406c76..03f516fe9 100644
--- a/tests/msc_vlr/msc_vlr_test_umts_authen.c
+++ b/tests/msc_vlr/msc_vlr_test_umts_authen.c
@@ -211,12 +211,9 @@ static void _test_umts_authen(enum ran_type via_ran)
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
}
- btw("a USSD request is serviced");
- dtap_expect_tx_ussd("Your extension is 42342\r");
+ /* Release connection */
expect_release_clear(via_ran);
- ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");
- OSMO_ASSERT(dtap_tx_confirmed);
- ASSERT_RELEASE_CLEAR(via_ran);
+ conn_conclude_cm_service_req(g_conn, via_ran);
bss_rnc_sends_release_clear_complete(via_ran);
btw("all requests serviced, conn has been released");
diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err
index fcaaa97da..4a060af08 100644
--- a/tests/msc_vlr/msc_vlr_test_umts_authen.err
+++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err
@@ -259,31 +259,10 @@ DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)
cm_service_result_sent == 1
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000001) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A
-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
@@ -770,31 +749,10 @@ DREF MSISDN:42342: MSC conn use + cm_service == 1 (0x8: cm_service)
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED
DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: subscr_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
cm_service_result_sent == 0
-- a USSD request is serviced
- expecting USSD:
- Your extension is 42342
- MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER
-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)
-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
-DMM -> (new transaction)
-DCC (ti 08 sub MSISDN:42342 callref 20000002) New transaction
-DREF VLR subscr MSISDN:42342 usage increases to: 3
-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING
-DMM USSD: Own number requested
-DMM MSISDN:42342: MSISDN = 42342
-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU
-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d
-- DTAP matches expected message
-DREF VLR subscr MSISDN:42342 usage decreases to: 2
-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)
-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED
-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING
+- Concluding CM Service Request
+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED
+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING
DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr MSISDN:42342 usage increases to: 3
DREF VLR subscr MSISDN:42342 usage decreases to: 2
diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c
index 8910e328e..b38bfe0d7 100644
--- a/tests/msc_vlr/msc_vlr_tests.c
+++ b/tests/msc_vlr/msc_vlr_tests.c
@@ -138,22 +138,6 @@ void dtap_expect_tx(const char *hex)
dtap_tx_confirmed = false;
}
-void dtap_expect_tx_ussd(char *ussd_text)
-{
- uint8_t ussd_enc[128];
- int len;
- /* header */
- char ussd_msg_hex[128] = "8b2a1c27a225020100302002013b301b04010f0416";
-
- log("expecting USSD:\n %s", ussd_text);
- /* append encoded USSD text */
- gsm_7bit_encode_n_ussd(ussd_enc, sizeof(ussd_enc), ussd_text,
- &len);
- strncat(ussd_msg_hex, osmo_hexdump_nospc(ussd_enc, len),
- sizeof(ussd_msg_hex) - strlen(ussd_msg_hex));
- dtap_expect_tx(ussd_msg_hex);
-}
-
int vlr_gsupc_read_cb(struct gsup_client *gsupc, struct msgb *msg);
void gsup_rx(const char *rx_hex, const char *expect_tx_hex)
@@ -186,6 +170,21 @@ bool conn_exists(struct gsm_subscriber_connection *conn)
return false;
}
+/* Simplified version of the cm_service_request_concludes() */
+void conn_conclude_cm_service_req(struct gsm_subscriber_connection *conn,
+ enum ran_type via_ran)
+{
+ btw("Concluding CM Service Request");
+
+ OSMO_ASSERT(conn);
+ OSMO_ASSERT(conn->received_cm_service_request);
+
+ conn->received_cm_service_request = false;
+ msc_subscr_conn_put(conn, MSC_CONN_USE_CM_SERVICE);
+
+ ASSERT_RELEASE_CLEAR(via_ran);
+}
+
enum ran_type rx_from_ran = RAN_GERAN_A;
struct gsm_subscriber_connection *conn_new(void)
diff --git a/tests/msc_vlr/msc_vlr_tests.h b/tests/msc_vlr/msc_vlr_tests.h
index a62cffa5e..4ca05d29f 100644
--- a/tests/msc_vlr/msc_vlr_tests.h
+++ b/tests/msc_vlr/msc_vlr_tests.h
@@ -153,6 +153,8 @@ struct msgb *msgb_from_hex(const char *label, uint16_t size, const char *hex);
void clear_vlr();
bool conn_exists(struct gsm_subscriber_connection *conn);
+void conn_conclude_cm_service_req(struct gsm_subscriber_connection *conn,
+ enum ran_type via_ran);
void dtap_expect_tx(const char *hex);
void dtap_expect_tx_ussd(char *ussd_text);
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 5307899c8..f27b60c48 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -92,3 +92,10 @@ cat $abs_srcdir/msc_vlr/msc_vlr_test_rest.ok > expout
cat $abs_srcdir/msc_vlr/msc_vlr_test_rest.err > experr
AT_CHECK([$abs_top_builddir/tests/msc_vlr/msc_vlr_test_rest], [], [expout], [experr])
AT_CLEANUP
+
+AT_SETUP([msc_vlr_test_ss])
+AT_KEYWORDS([msc_vlr_test_ss])
+cat $abs_srcdir/msc_vlr/msc_vlr_test_ss.ok > expout
+cat $abs_srcdir/msc_vlr/msc_vlr_test_ss.err > experr
+AT_CHECK([$abs_top_builddir/tests/msc_vlr/msc_vlr_test_ss], [], [expout], [experr])
+AT_CLEANUP