<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/9657">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">msc_vlr_tests: don't abuse USSD-request to conclude connections<br><br>Previously the '*#100#' USSD-request was abused in order to<br>conclude the current subscriber connection. This makes the unit<br>tests depend on each other, for example, if one break something<br>in the GSM 09.11 implementation, a half of tests would fail.<br><br>Moreover, the further changes in the GSM 09.11 implementation<br>will make the results less predictable (i.e. session ID, etc.).<br>So let's introduce a separate unit test with simple request-<br>response logic, while more complex tests will be in TTCN.<br><br>Change-Id: I40b4caac3113263f5a06c861dff5e10d43c319b5<br>---<br>M tests/msc_vlr/Makefile.am<br>M tests/msc_vlr/msc_vlr_test_authen_reuse.c<br>M tests/msc_vlr/msc_vlr_test_authen_reuse.err<br>M tests/msc_vlr/msc_vlr_test_gsm_authen.c<br>M tests/msc_vlr/msc_vlr_test_gsm_authen.err<br>M tests/msc_vlr/msc_vlr_test_gsm_ciph.c<br>M tests/msc_vlr/msc_vlr_test_gsm_ciph.err<br>M tests/msc_vlr/msc_vlr_test_no_authen.c<br>M tests/msc_vlr/msc_vlr_test_no_authen.err<br>M tests/msc_vlr/msc_vlr_test_reject_concurrency.c<br>M tests/msc_vlr/msc_vlr_test_reject_concurrency.err<br>A tests/msc_vlr/msc_vlr_test_ss.c<br>A tests/msc_vlr/msc_vlr_test_ss.err<br>A tests/msc_vlr/msc_vlr_test_ss.ok<br>M tests/msc_vlr/msc_vlr_test_umts_authen.c<br>M tests/msc_vlr/msc_vlr_test_umts_authen.err<br>M tests/msc_vlr/msc_vlr_tests.c<br>M tests/msc_vlr/msc_vlr_tests.h<br>M tests/testsuite.at<br>19 files changed, 488 insertions(+), 659 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/msc_vlr/Makefile.am b/tests/msc_vlr/Makefile.am</span><br><span>index bafe743..8b29f79 100644</span><br><span>--- a/tests/msc_vlr/Makefile.am</span><br><span>+++ b/tests/msc_vlr/Makefile.am</span><br><span>@@ -80,6 +80,8 @@</span><br><span>         msc_vlr_test_call.err \</span><br><span>      msc_vlr_test_rest.ok \</span><br><span>       msc_vlr_test_rest.err \</span><br><span style="color: hsl(120, 100%, 40%);">+       msc_vlr_test_ss.ok \</span><br><span style="color: hsl(120, 100%, 40%);">+  msc_vlr_test_ss.err \</span><br><span>        $(NULL)</span><br><span> </span><br><span> noinst_PROGRAMS = \</span><br><span>@@ -94,6 +96,7 @@</span><br><span>       msc_vlr_test_reject_concurrency \</span><br><span>    msc_vlr_test_call \</span><br><span>  msc_vlr_test_rest \</span><br><span style="color: hsl(120, 100%, 40%);">+   msc_vlr_test_ss \</span><br><span>    $(NULL)</span><br><span> </span><br><span> msc_vlr_test_no_authen_SOURCES = \</span><br><span>@@ -151,6 +154,11 @@</span><br><span>     msc_vlr_tests.c \</span><br><span>    $(NULL)</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+msc_vlr_test_ss_SOURCES = \</span><br><span style="color: hsl(120, 100%, 40%);">+      msc_vlr_test_ss.c \</span><br><span style="color: hsl(120, 100%, 40%);">+   msc_vlr_tests.c \</span><br><span style="color: hsl(120, 100%, 40%);">+     $(NULL)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> .PHONY: update_exp</span><br><span> update_exp:</span><br><span>       $(builddir)/msc_vlr_test_no_authen >$(srcdir)/msc_vlr_test_no_authen.ok 2>$(srcdir)/msc_vlr_test_no_authen.err</span><br><span>@@ -164,3 +172,4 @@</span><br><span>   $(builddir)/msc_vlr_test_reject_concurrency >$(srcdir)/msc_vlr_test_reject_concurrency.ok 2>$(srcdir)/msc_vlr_test_reject_concurrency.err</span><br><span>      $(builddir)/msc_vlr_test_call >$(srcdir)/msc_vlr_test_call.ok 2>$(srcdir)/msc_vlr_test_call.err</span><br><span>        $(builddir)/msc_vlr_test_rest >$(srcdir)/msc_vlr_test_rest.ok 2>$(srcdir)/msc_vlr_test_rest.err</span><br><span style="color: hsl(120, 100%, 40%);">+ $(builddir)/msc_vlr_test_ss >$(srcdir)/msc_vlr_test_ss.ok 2>$(srcdir)/msc_vlr_test_ss.err</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.c b/tests/msc_vlr/msc_vlr_test_authen_reuse.c</span><br><span>index 389837a..3b80e83 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_authen_reuse.c</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.c</span><br><span>@@ -177,12 +177,9 @@</span><br><span>                      VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span>                 }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-            dtap_expect_tx_ussd("Your extension is 42342\r");</span><br><span style="color: hsl(120, 100%, 40%);">+           /* Release connection */</span><br><span>             expect_release_clear(via_ran);</span><br><span style="color: hsl(0, 100%, 40%);">-          ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-             OSMO_ASSERT(dtap_tx_confirmed);</span><br><span style="color: hsl(0, 100%, 40%);">-         ASSERT_RELEASE_CLEAR(via_ran);</span><br><span style="color: hsl(120, 100%, 40%);">+                conn_conclude_cm_service_req(g_conn, via_ran);</span><br><span>               bss_rnc_sends_release_clear_complete(via_ran);</span><br><span> </span><br><span>           btw("all requests serviced, conn has been released");</span><br><span>@@ -252,12 +249,9 @@</span><br><span>                       VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span>                 }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-           btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-            dtap_expect_tx_ussd("Your extension is 42342\r");</span><br><span style="color: hsl(120, 100%, 40%);">+           /* Release connection */</span><br><span>             expect_release_clear(via_ran);</span><br><span style="color: hsl(0, 100%, 40%);">-          ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-             OSMO_ASSERT(dtap_tx_confirmed);</span><br><span style="color: hsl(0, 100%, 40%);">-         ASSERT_RELEASE_CLEAR(via_ran);</span><br><span style="color: hsl(120, 100%, 40%);">+                conn_conclude_cm_service_req(g_conn, via_ran);</span><br><span>               bss_rnc_sends_release_clear_complete(via_ran);</span><br><span> </span><br><span>           btw("all requests serviced, conn has been released");</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_authen_reuse.err b/tests/msc_vlr/msc_vlr_test_authen_reuse.err</span><br><span>index 2fae418..e25396d 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_authen_reuse.err</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_authen_reuse.err</span><br><span>@@ -253,31 +253,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000001) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -382,31 +361,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000002) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -739,31 +697,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000003) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -881,31 +818,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000004) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -1213,31 +1129,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000005) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -1328,31 +1223,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000006) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -1443,31 +1317,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000007) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -1800,31 +1653,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000008) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -1928,31 +1760,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000009) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -2056,31 +1867,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 2000000a) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -2402,31 +2192,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 2000000b) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -2773,31 +2542,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 2000000c) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.c b/tests/msc_vlr/msc_vlr_test_gsm_authen.c</span><br><span>index a863d90..6555fbd 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_gsm_authen.c</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.c</span><br><span>@@ -114,12 +114,9 @@</span><br><span>     ms_sends_msg("0554" "20bde240" /* 2nd vector's sres, s.a. */);</span><br><span>       VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 46071\r");</span><br><span style="color: hsl(0, 100%, 40%);">-     expect_bssap_clear();</span><br><span style="color: hsl(0, 100%, 40%);">-   ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(dtap_tx_confirmed);</span><br><span style="color: hsl(0, 100%, 40%);">- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Release connection */</span><br><span style="color: hsl(120, 100%, 40%);">+      expect_bssap_clear(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+      conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);</span><br><span> </span><br><span>       btw("all requests serviced, conn has been released");</span><br><span>      bss_sends_clear_complete();</span><br><span>@@ -335,12 +332,9 @@</span><br><span>   ms_sends_msg("0554" "20bde240" /* 2nd vector's sres, s.a. */);</span><br><span>       VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 46071\r");</span><br><span style="color: hsl(0, 100%, 40%);">-     expect_bssap_clear();</span><br><span style="color: hsl(0, 100%, 40%);">-   ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(dtap_tx_confirmed);</span><br><span style="color: hsl(0, 100%, 40%);">- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Release connection */</span><br><span style="color: hsl(120, 100%, 40%);">+      expect_bssap_clear(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+      conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);</span><br><span> </span><br><span>       btw("all requests serviced, conn has been released");</span><br><span>      bss_sends_clear_complete();</span><br><span>@@ -833,12 +827,9 @@</span><br><span>   ms_sends_msg("0554" "85aa3130"); /* 2nd vector's sres, s.a. */</span><br><span>       VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 42342\r");</span><br><span style="color: hsl(0, 100%, 40%);">-     expect_bssap_clear();</span><br><span style="color: hsl(0, 100%, 40%);">-   ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(dtap_tx_confirmed);</span><br><span style="color: hsl(0, 100%, 40%);">- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Release connection */</span><br><span style="color: hsl(120, 100%, 40%);">+      expect_bssap_clear(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+      conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);</span><br><span> </span><br><span>       btw("all requests serviced, conn has been released");</span><br><span>      bss_sends_clear_complete();</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_gsm_authen.err b/tests/msc_vlr/msc_vlr_test_gsm_authen.err</span><br><span>index 22f5824..954934a 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_gsm_authen.err</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_gsm_authen.err</span><br><span>@@ -246,31 +246,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:46071: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 46071 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: MSISDN = 46071</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span>@@ -754,31 +733,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:46071: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 46071 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:46071 callref 20000002) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: MSISDN = 46071</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span>@@ -1886,31 +1844,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000003) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c</span><br><span>index b426981..add9f7f 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.c</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.c</span><br><span>@@ -125,12 +125,9 @@</span><br><span>        ms_sends_msg("0632");</span><br><span>      VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 46071\r");</span><br><span style="color: hsl(0, 100%, 40%);">-     expect_bssap_clear();</span><br><span style="color: hsl(0, 100%, 40%);">-   ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(dtap_tx_confirmed);</span><br><span style="color: hsl(0, 100%, 40%);">- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Release connection */</span><br><span style="color: hsl(120, 100%, 40%);">+      expect_bssap_clear(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+      conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);</span><br><span> </span><br><span>       btw("all requests serviced, conn has been released");</span><br><span>      bss_sends_clear_complete();</span><br><span>@@ -368,12 +365,9 @@</span><br><span>   ms_sends_msg("0632");</span><br><span>      VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 46071\r");</span><br><span style="color: hsl(0, 100%, 40%);">-     expect_bssap_clear();</span><br><span style="color: hsl(0, 100%, 40%);">-   ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(dtap_tx_confirmed);</span><br><span style="color: hsl(0, 100%, 40%);">- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Release connection */</span><br><span style="color: hsl(120, 100%, 40%);">+      expect_bssap_clear(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+      conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);</span><br><span> </span><br><span>       btw("all requests serviced, conn has been released");</span><br><span>      bss_sends_clear_complete();</span><br><span>@@ -968,12 +962,9 @@</span><br><span>   ms_sends_msg("0632");</span><br><span>      VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 42342\r");</span><br><span style="color: hsl(0, 100%, 40%);">-     expect_bssap_clear();</span><br><span style="color: hsl(0, 100%, 40%);">-   ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(dtap_tx_confirmed);</span><br><span style="color: hsl(0, 100%, 40%);">- VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Release connection */</span><br><span style="color: hsl(120, 100%, 40%);">+      expect_bssap_clear(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+      conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);</span><br><span> </span><br><span>       btw("all requests serviced, conn has been released");</span><br><span>      bss_sends_clear_complete();</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err</span><br><span>index e309c2e..83723ab 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_gsm_ciph.err</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_gsm_ciph.err</span><br><span>@@ -275,31 +275,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 46071 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: MSISDN = 46071</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span>@@ -838,31 +817,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 46071 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:46071 callref 20000002) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: MSISDN = 46071</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span>@@ -2087,31 +2045,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000003) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.c b/tests/msc_vlr/msc_vlr_test_no_authen.c</span><br><span>index 85c01d9..afa03c3 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_no_authen.c</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_no_authen.c</span><br><span>@@ -72,12 +72,9 @@</span><br><span>      VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");</span><br><span>       EXPECT_ACCEPTED(true);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 46071\r");</span><br><span style="color: hsl(0, 100%, 40%);">-     expect_bssap_clear();</span><br><span style="color: hsl(0, 100%, 40%);">-   ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     VERBOSE_ASSERT(dtap_tx_confirmed, == true, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-     VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Release connection */</span><br><span style="color: hsl(120, 100%, 40%);">+      expect_bssap_clear(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+      conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);</span><br><span> </span><br><span>       btw("all requests serviced, conn has been released");</span><br><span>      bss_sends_clear_complete();</span><br><span>@@ -238,11 +235,9 @@</span><br><span>   VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");</span><br><span>       EXPECT_ACCEPTED(true);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-      btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 46071\r");</span><br><span style="color: hsl(0, 100%, 40%);">-     expect_bssap_clear();</span><br><span style="color: hsl(0, 100%, 40%);">-   ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+    /* Release connection */</span><br><span style="color: hsl(120, 100%, 40%);">+      expect_bssap_clear(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+      conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);</span><br><span> </span><br><span>       btw("all requests serviced, conn has been released");</span><br><span>      bss_sends_clear_complete();</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_no_authen.err b/tests/msc_vlr/msc_vlr_test_no_authen.err</span><br><span>index af80da2..0a36094 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_no_authen.err</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_no_authen.err</span><br><span>@@ -159,36 +159,14 @@</span><br><span> DREF MSISDN:46071: MSC conn use - compl_l3 == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span> msc_subscr_conn_is_accepted() == true</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 46071 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: MSISDN = 46071</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span> - BSSAP Clear --RAN_GERAN_A--> MS</span><br><span style="color: hsl(0, 100%, 40%);">-  dtap_tx_confirmed == 1</span><br><span>   bssap_clear_sent == 1</span><br><span> - all requests serviced, conn has been released</span><br><span> - BSS sends BSSMAP Clear Complete</span><br><span>@@ -542,31 +520,10 @@</span><br><span> DREF MSISDN:46071: MSC conn use - compl_l3 == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span> msc_subscr_conn_is_accepted() == true</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 46071 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:46071 callref 20000002) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: MSISDN = 46071</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:50462976){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c</span><br><span>index ea8c32c..580135a 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.c</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.c</span><br><span>@@ -313,11 +313,10 @@</span><br><span>         EXPECT_CONN_COUNT(1);</span><br><span> </span><br><span>    BTW("The original CM Service Request can conclude");</span><br><span style="color: hsl(0, 100%, 40%);">-  btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 46071\r");</span><br><span style="color: hsl(0, 100%, 40%);">-     expect_bssap_clear();</span><br><span style="color: hsl(0, 100%, 40%);">-   ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* Release connection */</span><br><span style="color: hsl(120, 100%, 40%);">+      expect_bssap_clear(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+      conn_conclude_cm_service_req(g_conn, RAN_GERAN_A);</span><br><span> </span><br><span>       btw("all requests serviced, conn has been released");</span><br><span>      bss_sends_clear_complete();</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err</span><br><span>index 8221e78..39199ef 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err</span><br><span>@@ -1115,31 +1115,10 @@</span><br><span>   llist_count(&net->subscr_conns) == 1</span><br><span> ---</span><br><span> - The original CM Service Request can conclude</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 46071 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:46071: MSISDN = 46071</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_ss.c b/tests/msc_vlr/msc_vlr_test_ss.c</span><br><span>new file mode 100644</span><br><span>index 0000000..f3a1f68</span><br><span>--- /dev/null</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_ss.c</span><br><span>@@ -0,0 +1,122 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ * Osmocom MSC+VLR end-to-end tests</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * (C) 2018 by Vadim Yanitskiy <axilirator@gmail.com></span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * All Rights Reserved</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is free software; you can redistribute it and/or modify</span><br><span style="color: hsl(120, 100%, 40%);">+ * it under the terms of the GNU Affero General Public License as published by</span><br><span style="color: hsl(120, 100%, 40%);">+ * the Free Software Foundation; either version 3 of the License, or</span><br><span style="color: hsl(120, 100%, 40%);">+ * (at your option) any later version.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(120, 100%, 40%);">+ * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(120, 100%, 40%);">+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(120, 100%, 40%);">+ * GNU Affero General Public License for more details.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * You should have received a copy of the GNU Affero General Public License</span><br><span style="color: hsl(120, 100%, 40%);">+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#include "msc_vlr_tests.h"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define IMSI "901700000004620"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define FACILITY_IE_REQ \</span><br><span style="color: hsl(120, 100%, 40%);">+   "a113"    /* Invoke component, len=19 */ \</span><br><span style="color: hsl(120, 100%, 40%);">+  "020101"  /* InvokeID=1 */ \</span><br><span style="color: hsl(120, 100%, 40%);">+        "02013b"  /* OpCode=GSM0480_OP_CODE_PROCESS_USS_REQ */ \</span><br><span style="color: hsl(120, 100%, 40%);">+    "300b"    /* Sequence tag, len=11 */ \</span><br><span style="color: hsl(120, 100%, 40%);">+      "04010f"  /* DCS: Default 7-bit alphabet */ \</span><br><span style="color: hsl(120, 100%, 40%);">+       "0406aa510c061b01" /* USSD text: *#100#, len=6 */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define FACILITY_IE_RSP \</span><br><span style="color: hsl(120, 100%, 40%);">+      "a225"    /* ReturnResult, len=37 */ \</span><br><span style="color: hsl(120, 100%, 40%);">+      "020101"  /* InvokeID=1 */ \</span><br><span style="color: hsl(120, 100%, 40%);">+        "3020"    /* Sequence tag, len=32 */ \</span><br><span style="color: hsl(120, 100%, 40%);">+      "02013b"  /* OpCode=GSM0480_OP_CODE_PROCESS_USS_REQ */ \</span><br><span style="color: hsl(120, 100%, 40%);">+    "301b"    /* Sequence tag, len=27 */ \</span><br><span style="color: hsl(120, 100%, 40%);">+      "04010f"  /* DCS: Default 7-bit alphabet */ \</span><br><span style="color: hsl(120, 100%, 40%);">+       "0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static void perform_lu(void)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       struct vlr_subscr *vsub;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    btw("Location Update request causes a GSUP LU request to HLR");</span><br><span style="color: hsl(120, 100%, 40%);">+     lu_result_sent = RES_NONE;</span><br><span style="color: hsl(120, 100%, 40%);">+    gsup_expect_tx("04010809710000004026f0");</span><br><span style="color: hsl(120, 100%, 40%);">+   ms_sends_msg("050802008168000130089910070000006402");</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(gsup_tx_confirmed);</span><br><span style="color: hsl(120, 100%, 40%);">+       VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        btw("HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT");</span><br><span style="color: hsl(120, 100%, 40%);">+       gsup_rx("10010809710000004026f00804036470f1",</span><br><span style="color: hsl(120, 100%, 40%);">+               "12010809710000004026f0");</span><br><span style="color: hsl(120, 100%, 40%);">+  VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        btw("HLR also sends GSUP _UPDATE_LOCATION_RESULT");</span><br><span style="color: hsl(120, 100%, 40%);">+ expect_bssap_clear();</span><br><span style="color: hsl(120, 100%, 40%);">+ gsup_rx("06010809710000004026f0", NULL);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  btw("LU was successful, and the conn has already been closed");</span><br><span style="color: hsl(120, 100%, 40%);">+     VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+        VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI);</span><br><span style="color: hsl(120, 100%, 40%);">+    VERBOSE_ASSERT(vsub != NULL, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+        VERBOSE_ASSERT(strcmp(vsub->imsi, IMSI), == 0, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+    VERBOSE_ASSERT(vsub->lac, == 23, "%u");</span><br><span style="color: hsl(120, 100%, 40%);">+  vlr_subscr_put(vsub);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       bss_sends_clear_complete();</span><br><span style="color: hsl(120, 100%, 40%);">+   EXPECT_CONN_COUNT(0);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static void _test_ss_ussd(enum ran_type via_ran)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       /* TODO: UTRAN requires auth and ciph */</span><br><span style="color: hsl(120, 100%, 40%);">+      rx_from_ran = via_ran;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* Perform Location Update */</span><br><span style="color: hsl(120, 100%, 40%);">+ perform_lu();</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       BTW("after a while, a new conn sends a CM Service Request");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      cm_service_result_sent = RES_NONE;</span><br><span style="color: hsl(120, 100%, 40%);">+    ms_sends_msg("05247803305886089910070000006402");</span><br><span style="color: hsl(120, 100%, 40%);">+   OSMO_ASSERT(g_conn);</span><br><span style="color: hsl(120, 100%, 40%);">+  OSMO_ASSERT(g_conn->fi);</span><br><span style="color: hsl(120, 100%, 40%);">+   OSMO_ASSERT(g_conn->vsub);</span><br><span style="color: hsl(120, 100%, 40%);">+ VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+        EXPECT_ACCEPTED(true);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* MT: GSM 04.80 RELEASE COMPLETE with Facility IE */</span><br><span style="color: hsl(120, 100%, 40%);">+ dtap_expect_tx("8b2a" "1c27" FACILITY_IE_RSP);</span><br><span style="color: hsl(120, 100%, 40%);">+    expect_release_clear(via_ran);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* MO: GSM 04.80 REGISTER with Facility IE and SS version IE */</span><br><span style="color: hsl(120, 100%, 40%);">+       ms_sends_msg("0b7b" "1c15" FACILITY_IE_REQ "7f0100");</span><br><span style="color: hsl(120, 100%, 40%);">+   VERBOSE_ASSERT(dtap_tx_confirmed, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+   ASSERT_RELEASE_CLEAR(via_ran);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      btw("all requests serviced, conn has been released");</span><br><span style="color: hsl(120, 100%, 40%);">+       bss_sends_clear_complete();</span><br><span style="color: hsl(120, 100%, 40%);">+   EXPECT_CONN_COUNT(0);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static void test_ss_ussd_geran()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       comment_start();</span><br><span style="color: hsl(120, 100%, 40%);">+      _test_ss_ussd(RAN_GERAN_A);</span><br><span style="color: hsl(120, 100%, 40%);">+   clear_vlr();</span><br><span style="color: hsl(120, 100%, 40%);">+  comment_end();</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+msc_vlr_test_func_t msc_vlr_tests[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+  /* TODO: UTRAN requires auth and enc */</span><br><span style="color: hsl(120, 100%, 40%);">+       test_ss_ussd_geran,</span><br><span style="color: hsl(120, 100%, 40%);">+   NULL</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_ss.err b/tests/msc_vlr/msc_vlr_test_ss.err</span><br><span>new file mode 100644</span><br><span>index 0000000..c7f7711</span><br><span>--- /dev/null</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_ss.err</span><br><span>@@ -0,0 +1,206 @@</span><br><span style="color: hsl(120, 100%, 40%);">+full talloc report on 'msgb' (total      0 bytes in   1 blocks)</span><br><span style="color: hsl(120, 100%, 40%);">+talloc_total_blocks(tall_bsc_ctx) == 12</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+===== test_ss_ussd_geran</span><br><span style="color: hsl(120, 100%, 40%);">+- Location Update request causes a GSUP LU request to HLR</span><br><span style="color: hsl(120, 100%, 40%);">+  MSC <--RAN_GERAN_A-- MS: GSM48_MT_MM_LOC_UPD_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+  new conn</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DREF unknown: MSC conn use + compl_l3 == 1 (0x1: compl_l3)</span><br><span style="color: hsl(120, 100%, 40%);">+DRLL Dispatching 04.08 message GSM48_MT_MM_LOC_UPD_REQUEST (0x5:0x8)</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_NEW}: Updated ID</span><br><span style="color: hsl(120, 100%, 40%);">+DMM LOCATION UPDATING REQUEST: MI(IMSI)=901700000004620 type=IMSI ATTACH</span><br><span style="color: hsl(120, 100%, 40%);">+DMM LU/new-LAC: 1/23</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: is child of Subscr_Conn(LU:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr unknown usage increases to: 1</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR New subscr, IMSI: 901700000004620</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr IMSI:901700000004620 usage increases to: 2</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr IMSI:901700000004620 usage decreases to: 1</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: vlr_loc_upd_node_4()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_HLR_UPD</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_INIT}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_INIT}: is child of vlr_lu_fsm(LU:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_INIT}: Received Event UPD_HLR_VLR_E_START</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR GSUP tx: 04010809710000004026f0</span><br><span style="color: hsl(120, 100%, 40%);">+GSUP --> HLR: OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST: 04010809710000004026f0</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_INIT}: state_chg to UPD_HLR_VLR_S_WAIT_FOR_DATA</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_NEW}: Received Event SUBSCR_CONN_E_COMPLETE_LAYER_3</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_AUTH_CIPH</span><br><span style="color: hsl(120, 100%, 40%);">+DREF IMSI:901700000004620: MSC conn use - compl_l3 == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: Awaiting results for Auth+Ciph, overruling event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+  lu_result_sent == 0</span><br><span style="color: hsl(120, 100%, 40%);">+- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT</span><br><span style="color: hsl(120, 100%, 40%);">+<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR GSUP rx 17: 10010809710000004026f00804036470f1</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr IMSI:901700000004620 usage increases to: 2</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR IMSI:901700000004620 has MSISDN:46071</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR SUBSCR(MSISDN:46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR GSUP tx: 12010809710000004026f0</span><br><span style="color: hsl(120, 100%, 40%);">+GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage decreases to: 1</span><br><span style="color: hsl(120, 100%, 40%);">+<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0</span><br><span style="color: hsl(120, 100%, 40%);">+  lu_result_sent == 0</span><br><span style="color: hsl(120, 100%, 40%);">+- HLR also sends GSUP _UPDATE_LOCATION_RESULT</span><br><span style="color: hsl(120, 100%, 40%);">+<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR GSUP rx 11: 06010809710000004026f0</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage increases to: 2</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_REGULAR)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_DONE}: Removing from parent vlr_lu_fsm(LU:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_DONE}: Freeing instance</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR upd_hlr_vlr_fsm(LU:901700000004620){UPD_HLR_VLR_S_DONE}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_UPD_HLR_COMPL</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_HLR_UPD}: state_chg to VLR_ULA_S_WAIT_LU_COMPL</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_INIT}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_INIT}: is child of vlr_lu_fsm(LU:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_INIT}: Received Event LU_COMPL_VLR_E_START</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_INIT}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_INIT}: is child of lu_compl_vlr_fsm(LU:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_INIT}: Received Event SUB_PRES_VLR_E_START</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_INIT}: state_chg to SUB_PRES_VLR_S_DONE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_REGULAR)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_DONE}: Removing from parent lu_compl_vlr_fsm(LU:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_DONE}: Freeing instance</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR sub_pres_vlr_fsm(LU:901700000004620){SUB_PRES_VLR_S_DONE}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL</span><br><span style="color: hsl(120, 100%, 40%);">+- sending LU Accept for MSISDN:46071</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_DONE}: Removing from parent vlr_lu_fsm(LU:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_DONE}: Freeing instance</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR lu_compl_vlr_fsm(LU:901700000004620){LU_COMPL_VLR_S_DONE}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_WAIT_LU_COMPL}: state_chg to VLR_ULA_S_DONE</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: Received Event SUBSCR_CONN_E_ACCEPTED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage increases to: 4</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage decreases to: 3</span><br><span style="color: hsl(120, 100%, 40%);">+- BSSAP Clear --RAN_GERAN_A--> MS</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(120, 100%, 40%);">+<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0</span><br><span style="color: hsl(120, 100%, 40%);">+- LU was successful, and the conn has already been closed</span><br><span style="color: hsl(120, 100%, 40%);">+  lu_result_sent == 1</span><br><span style="color: hsl(120, 100%, 40%);">+  bssap_clear_sent == 1</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(120, 100%, 40%);">+  vsub != NULL == 1</span><br><span style="color: hsl(120, 100%, 40%);">+  strcmp(vsub->imsi, IMSI) == 0</span><br><span style="color: hsl(120, 100%, 40%);">+  vsub->lac == 23</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(120, 100%, 40%);">+- BSS sends BSSMAP Clear Complete</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - release == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: Removing from parent Subscr_Conn(LU:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: Freeing instance</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(LU:901700000004620){VLR_ULA_S_DONE}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DRLL MSISDN:46071: Freeing subscriber connection</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage decreases to: 1</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(LU:901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+  llist_count(&net->subscr_conns) == 0</span><br><span style="color: hsl(120, 100%, 40%);">+---</span><br><span style="color: hsl(120, 100%, 40%);">+- after a while, a new conn sends a CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+  MSC <--RAN_GERAN_A-- MS: GSM48_MT_MM_CM_SERV_REQ</span><br><span style="color: hsl(120, 100%, 40%);">+  new conn</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn{SUBSCR_CONN_S_NEW}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DREF unknown: MSC conn use + compl_l3 == 1 (0x1: compl_l3)</span><br><span style="color: hsl(120, 100%, 40%);">+DRLL Dispatching 04.08 message GSM48_MT_MM_CM_SERV_REQ (0x5:0x24)</span><br><span style="color: hsl(120, 100%, 40%);">+DMM <- CM SERVICE REQUEST serv_type=0x08 MI(IMSI)=901700000004620</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: Updated ID</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: is child of Subscr_Conn(CM_SERVICE_REQ:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: rev=GSM net=GERAN (no Auth)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage increases to: 2</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_node2()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_ciph()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_node2_post_vlr()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_post_pres()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_post_trace()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: _proc_arq_vlr_post_imei()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: proc_arq_fsm_done(PASSED)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_DONE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Process Access Request result: PASSED</span><br><span style="color: hsl(120, 100%, 40%);">+- sending CM Service Accept for MSISDN:46071</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: Received Event SUBSCR_CONN_E_ACCEPTED</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use + cm_service == 2 (0x9: compl_l3,cm_service)</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_NEW}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span style="color: hsl(120, 100%, 40%);">+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</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMPLETE_LAYER_3</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Event SUBSCR_CONN_E_COMPLETE_LAYER_3 not permitted</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - compl_l3 == 1 (0x8: cm_service)</span><br><span style="color: hsl(120, 100%, 40%);">+  cm_service_result_sent == 1</span><br><span style="color: hsl(120, 100%, 40%);">+msc_subscr_conn_is_accepted() == true</span><br><span style="color: hsl(120, 100%, 40%);">+  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(120, 100%, 40%);">+DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(120, 100%, 40%);">+DMM  -> (new transaction)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(120, 100%, 40%);">+DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(120, 100%, 40%);">+DMM USSD: Own number requested</span><br><span style="color: hsl(120, 100%, 40%);">+DMM MSISDN:46071: MSISDN = 46071</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A</span><br><span style="color: hsl(120, 100%, 40%);">+- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d</span><br><span style="color: hsl(120, 100%, 40%);">+- DTAP matches expected message</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use + release == 1 (0x100: release)</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage increases to: 3</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage decreases to: 2</span><br><span style="color: hsl(120, 100%, 40%);">+- BSSAP Clear --RAN_GERAN_A--> MS</span><br><span style="color: hsl(120, 100%, 40%);">+  dtap_tx_confirmed == 1</span><br><span style="color: hsl(120, 100%, 40%);">+  bssap_clear_sent == 1</span><br><span style="color: hsl(120, 100%, 40%);">+- all requests serviced, conn has been released</span><br><span style="color: hsl(120, 100%, 40%);">+- BSS sends BSSMAP Clear Complete</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:46071: MSC conn use - release == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASING}: state_chg to SUBSCR_CONN_S_RELEASED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Removing from parent Subscr_Conn(CM_SERVICE_REQ:901700000004620)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Freeing instance</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(CM_SERVICE_REQ:901700000004620){PR_ARQ_S_DONE}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DRLL MSISDN:46071: Freeing subscriber connection</span><br><span style="color: hsl(120, 100%, 40%);">+DREF VLR subscr MSISDN:46071 usage decreases to: 1</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASED}: Freeing instance</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_RELEASED}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+  llist_count(&net->subscr_conns) == 0</span><br><span style="color: hsl(120, 100%, 40%);">+DREF freeing VLR subscr MSISDN:46071</span><br><span style="color: hsl(120, 100%, 40%);">+===== test_ss_ussd_geran: SUCCESS</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+full talloc report on 'msgb' (total      0 bytes in   1 blocks)</span><br><span style="color: hsl(120, 100%, 40%);">+talloc_total_blocks(tall_bsc_ctx) == 12</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+full talloc report on 'msgb' (total      0 bytes in   1 blocks)</span><br><span style="color: hsl(120, 100%, 40%);">+talloc_total_blocks(tall_bsc_ctx) == 12</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_ss.ok b/tests/msc_vlr/msc_vlr_test_ss.ok</span><br><span>new file mode 100644</span><br><span>index 0000000..a965a70</span><br><span>--- /dev/null</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_ss.ok</span><br><span>@@ -0,0 +1 @@</span><br><span style="color: hsl(120, 100%, 40%);">+Done</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.c b/tests/msc_vlr/msc_vlr_test_umts_authen.c</span><br><span>index 42d406c..03f516f 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_umts_authen.c</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_umts_authen.c</span><br><span>@@ -211,12 +211,9 @@</span><br><span>              VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span>         }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   btw("a USSD request is serviced");</span><br><span style="color: hsl(0, 100%, 40%);">-    dtap_expect_tx_ussd("Your extension is 42342\r");</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Release connection */</span><br><span>     expect_release_clear(via_ran);</span><br><span style="color: hsl(0, 100%, 40%);">-  ms_sends_msg("0b3b1c15a11302010002013b300b04010f0406aa510c061b017f0100");</span><br><span style="color: hsl(0, 100%, 40%);">-     OSMO_ASSERT(dtap_tx_confirmed);</span><br><span style="color: hsl(0, 100%, 40%);">- ASSERT_RELEASE_CLEAR(via_ran);</span><br><span style="color: hsl(120, 100%, 40%);">+        conn_conclude_cm_service_req(g_conn, via_ran);</span><br><span>       bss_rnc_sends_release_clear_complete(via_ran);</span><br><span> </span><br><span>   btw("all requests serviced, conn has been released");</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_umts_authen.err b/tests/msc_vlr/msc_vlr_test_umts_authen.err</span><br><span>index fcaaa97..4a060af 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_umts_authen.err</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_umts_authen.err</span><br><span>@@ -259,31 +259,10 @@</span><br><span> 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</span><br><span> DREF MSISDN:42342: MSC conn use - dtap == 1 (0x8: cm_service)</span><br><span>   cm_service_result_sent == 1</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000001) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_GERAN_A</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>@@ -770,31 +749,10 @@</span><br><span> DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_AUTH_CIPH}: state_chg to SUBSCR_CONN_S_ACCEPTED</span><br><span> 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</span><br><span>   cm_service_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- a USSD request is serviced</span><br><span style="color: hsl(0, 100%, 40%);">-  expecting USSD:</span><br><span style="color: hsl(0, 100%, 40%);">-  Your extension is 42342 </span><br><span style="color: hsl(0, 100%, 40%);">-  MSC <--RAN_UTRAN_IU-- MS: GSM0480_MTYPE_REGISTER</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + dtap == 2 (0xa: dtap,cm_service)</span><br><span style="color: hsl(0, 100%, 40%);">-DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM  -> (new transaction)</span><br><span style="color: hsl(0, 100%, 40%);">-DCC (ti 08 sub MSISDN:42342 callref 20000002) New transaction</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING</span><br><span style="color: hsl(0, 100%, 40%);">-DMM USSD: Own number requested</span><br><span style="color: hsl(0, 100%, 40%);">-DMM MSISDN:42342: MSISDN = 42342</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_tx 43 bytes to MSISDN:42342 via RAN_UTRAN_IU</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --RAN_UTRAN_IU--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d273104d36a3c91a0d</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP matches expected message</span><br><span style="color: hsl(0, 100%, 40%);">-DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - trans_nc_ss == 1 (0x2: dtap)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF MSISDN:42342: MSC conn use - dtap == 0 (0x0: )</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(0, 100%, 40%);">-DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span style="color: hsl(120, 100%, 40%);">+- Concluding CM Service Request</span><br><span style="color: hsl(120, 100%, 40%);">+DREF MSISDN:42342: MSC conn use - cm_service == 0 (0x0: )</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_UNUSED</span><br><span style="color: hsl(120, 100%, 40%);">+DMM Subscr_Conn(CM_SERVICE_REQ:901700000010650){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_RELEASING</span><br><span> DREF MSISDN:42342: MSC conn use + release == 1 (0x100: release)</span><br><span> DREF VLR subscr MSISDN:42342 usage increases to: 3</span><br><span> DREF VLR subscr MSISDN:42342 usage decreases to: 2</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c</span><br><span>index 8910e32..b38bfe0 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_tests.c</span><br><span>+++ b/tests/msc_vlr/msc_vlr_tests.c</span><br><span>@@ -138,22 +138,6 @@</span><br><span>     dtap_tx_confirmed = false;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-void dtap_expect_tx_ussd(char *ussd_text)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-   uint8_t ussd_enc[128];</span><br><span style="color: hsl(0, 100%, 40%);">-  int len;</span><br><span style="color: hsl(0, 100%, 40%);">-        /* header */</span><br><span style="color: hsl(0, 100%, 40%);">-    char ussd_msg_hex[128] = "8b2a1c27a225020100302002013b301b04010f0416";</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        log("expecting USSD:\n  %s", ussd_text);</span><br><span style="color: hsl(0, 100%, 40%);">-      /* append encoded USSD text */</span><br><span style="color: hsl(0, 100%, 40%);">-  gsm_7bit_encode_n_ussd(ussd_enc, sizeof(ussd_enc), ussd_text,</span><br><span style="color: hsl(0, 100%, 40%);">-                          &len);</span><br><span style="color: hsl(0, 100%, 40%);">-       strncat(ussd_msg_hex, osmo_hexdump_nospc(ussd_enc, len),</span><br><span style="color: hsl(0, 100%, 40%);">-                sizeof(ussd_msg_hex) - strlen(ussd_msg_hex));</span><br><span style="color: hsl(0, 100%, 40%);">-   dtap_expect_tx(ussd_msg_hex);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> int vlr_gsupc_read_cb(struct gsup_client *gsupc, struct msgb *msg);</span><br><span> </span><br><span> void gsup_rx(const char *rx_hex, const char *expect_tx_hex)</span><br><span>@@ -186,6 +170,21 @@</span><br><span>      return false;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Simplified version of the cm_service_request_concludes() */</span><br><span style="color: hsl(120, 100%, 40%);">+void conn_conclude_cm_service_req(struct gsm_subscriber_connection *conn,</span><br><span style="color: hsl(120, 100%, 40%);">+                               enum ran_type via_ran)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+   btw("Concluding CM Service Request");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     OSMO_ASSERT(conn);</span><br><span style="color: hsl(120, 100%, 40%);">+    OSMO_ASSERT(conn->received_cm_service_request);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  conn->received_cm_service_request = false;</span><br><span style="color: hsl(120, 100%, 40%);">+ msc_subscr_conn_put(conn, MSC_CONN_USE_CM_SERVICE);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ ASSERT_RELEASE_CLEAR(via_ran);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> enum ran_type rx_from_ran = RAN_GERAN_A;</span><br><span> </span><br><span> struct gsm_subscriber_connection *conn_new(void)</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_tests.h b/tests/msc_vlr/msc_vlr_tests.h</span><br><span>index a62cffa..4ca05d2 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_tests.h</span><br><span>+++ b/tests/msc_vlr/msc_vlr_tests.h</span><br><span>@@ -153,6 +153,8 @@</span><br><span> </span><br><span> void clear_vlr();</span><br><span> bool conn_exists(struct gsm_subscriber_connection *conn);</span><br><span style="color: hsl(120, 100%, 40%);">+void conn_conclude_cm_service_req(struct gsm_subscriber_connection *conn,</span><br><span style="color: hsl(120, 100%, 40%);">+                                 enum ran_type via_ran);</span><br><span> </span><br><span> void dtap_expect_tx(const char *hex);</span><br><span> void dtap_expect_tx_ussd(char *ussd_text);</span><br><span>diff --git a/tests/testsuite.at b/tests/testsuite.at</span><br><span>index 5307899..f27b60c 100644</span><br><span>--- a/tests/testsuite.at</span><br><span>+++ b/tests/testsuite.at</span><br><span>@@ -92,3 +92,10 @@</span><br><span> cat $abs_srcdir/msc_vlr/msc_vlr_test_rest.err > experr</span><br><span> AT_CHECK([$abs_top_builddir/tests/msc_vlr/msc_vlr_test_rest], [], [expout], [experr])</span><br><span> AT_CLEANUP</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+AT_SETUP([msc_vlr_test_ss])</span><br><span style="color: hsl(120, 100%, 40%);">+AT_KEYWORDS([msc_vlr_test_ss])</span><br><span style="color: hsl(120, 100%, 40%);">+cat $abs_srcdir/msc_vlr/msc_vlr_test_ss.ok > expout</span><br><span style="color: hsl(120, 100%, 40%);">+cat $abs_srcdir/msc_vlr/msc_vlr_test_ss.err > experr</span><br><span style="color: hsl(120, 100%, 40%);">+AT_CHECK([$abs_top_builddir/tests/msc_vlr/msc_vlr_test_ss], [], [expout], [experr])</span><br><span style="color: hsl(120, 100%, 40%);">+AT_CLEANUP</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9657">change 9657</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/9657"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I40b4caac3113263f5a06c861dff5e10d43c319b5 </div>
<div style="display:none"> Gerrit-Change-Number: 9657 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>