From 10c641979813c3bd2a66a7fd95f656731b83c1f8 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Tue, 17 Apr 2018 19:17:11 +0700 Subject: libmsc/ussd.c: use connection ref-counting and transactions A subscriber may have a few active transactions at the same time. For example, one can receive SMS messages during a call, or during an active SS/USSD session. We already have connection ref-counting and transactions for CC and SMS, so let's also use both for SS/USSD. Change-Id: I21c6777cb88f1f4f80f75dcd39734e952bd4e8b0 --- tests/msc_vlr/msc_vlr_test_reject_concurrency.err | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'tests/msc_vlr/msc_vlr_test_reject_concurrency.err') diff --git a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err index 5d16776b9..8221e7853 100644 --- a/tests/msc_vlr/msc_vlr_test_reject_concurrency.err +++ b/tests/msc_vlr/msc_vlr_test_reject_concurrency.err @@ -1121,8 +1121,13 @@ DREF MSISDN:46071: MSC conn use - dtap == 1 (0x8: cm_service) MSC <--RAN_GERAN_A-- MS: GSM0480_MTYPE_REGISTER DREF MSISDN:46071: MSC conn use + dtap == 2 (0xa: dtap,cm_service) DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b) +DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER) +DMM -> (new transaction) +DCC (ti 08 sub MSISDN:46071 callref 20000001) New transaction +DREF VLR subscr MSISDN:46071 usage increases to: 3 +DREF MSISDN:46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss) DMM MSISDN:46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false -DREF MSISDN:46071: MSC conn use - cm_service == 1 (0x2: dtap) +DREF MSISDN:46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss) DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: Received Event SUBSCR_CONN_E_COMMUNICATING DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_ACCEPTED}: state_chg to SUBSCR_CONN_S_COMMUNICATING DMM USSD: Own number requested @@ -1130,6 +1135,8 @@ DMM MSISDN:46071: MSISDN = 46071 DMSC msc_tx 43 bytes to MSISDN:46071 via RAN_GERAN_A - DTAP --RAN_GERAN_A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020100302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d - DTAP matches expected message +DREF VLR subscr MSISDN:46071 usage decreases to: 2 +DREF MSISDN:46071: MSC conn use - trans_nc_ss == 1 (0x2: dtap) DREF MSISDN:46071: MSC conn use - dtap == 0 (0x0: ) DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: Received Event SUBSCR_CONN_E_UNUSED DMM Subscr_Conn(CM_SERVICE_REQ:901700000004620){SUBSCR_CONN_S_COMMUNICATING}: state_chg to SUBSCR_CONN_S_RELEASING -- cgit v1.2.3