<p>fixeria has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-msc/+/26406">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">libvlr: fix is_ciph_required(): always send SecModeCmd for UTRAN<br><br>Ciphering is optional in both GERAN and UTRAN, however for the later<br>it's *required* to enable integrity protection for the signalling.<br>Thus we must always send Security Mode Command in UTRAN, even in<br>case if ciphering is disabled (UEA0) in the configuration.<br><br>The actual decision whether to send CMC/SMC or not is taken in:<br><br>  * vlr_access_req_fsm.c / _proc_arq_vlr_node2(), and<br>  * vlr_lu_fsm.c / vlr_loc_upd_post_auth().<br><br>depending on the value returned by is_ciph_required().  Let's<br>rename this function to is_cmc_smc_required() and ensure that<br>it always returns true in UTRAN.<br><br>This change fixes the Iu test cases in ttcn3-msc-test.<br><br>Change-Id: I6205f13453eff7afbf25e013d72ae98a78fcd31b<br>Fixes: OS#5333<br>---<br>M src/libvlr/vlr_access_req_fsm.c<br>M src/libvlr/vlr_lu_fsm.c<br>M tests/msc_vlr/msc_vlr_test_umts_authen.c<br>M tests/msc_vlr/msc_vlr_test_umts_authen.err<br>4 files changed, 178 insertions(+), 111 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/06/26406/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/libvlr/vlr_access_req_fsm.c b/src/libvlr/vlr_access_req_fsm.c</span><br><span>index b880fcf..8daaaad 100644</span><br><span>--- a/src/libvlr/vlr_access_req_fsm.c</span><br><span>+++ b/src/libvlr/vlr_access_req_fsm.c</span><br><span>@@ -267,9 +267,12 @@</span><br><span>        _proc_arq_vlr_node2_post_vlr(fi);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-static bool is_ciph_required(struct proc_arq_priv *par)</span><br><span style="color: hsl(120, 100%, 40%);">+/* Determine if sending of CMC/SMC is required */</span><br><span style="color: hsl(120, 100%, 40%);">+static bool is_cmc_smc_required(struct proc_arq_priv *par)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-   return par->ciphering_required;</span><br><span style="color: hsl(120, 100%, 40%);">+    /* UTRAN: always send SecModeCmd, even if ciphering is not required.</span><br><span style="color: hsl(120, 100%, 40%);">+   * GERAN: avoid sending CiphModeCmd if ciphering is not required. */</span><br><span style="color: hsl(120, 100%, 40%);">+  return par->is_utran || par->ciphering_required;</span><br><span> }</span><br><span> </span><br><span> static void _proc_arq_vlr_node2(struct osmo_fsm_inst *fi)</span><br><span>@@ -280,7 +283,7 @@</span><br><span> </span><br><span>       LOGPFSM(fi, "%s()\n", __func__);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  if (!is_ciph_required(par)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!is_cmc_smc_required(par)) {</span><br><span>             _proc_arq_vlr_node2_post_ciph(fi);</span><br><span>           return;</span><br><span>      }</span><br><span>diff --git a/src/libvlr/vlr_lu_fsm.c b/src/libvlr/vlr_lu_fsm.c</span><br><span>index 41e5608..4f603b3 100644</span><br><span>--- a/src/libvlr/vlr_lu_fsm.c</span><br><span>+++ b/src/libvlr/vlr_lu_fsm.c</span><br><span>@@ -702,10 +702,12 @@</span><br><span>           (lfp->ciphering_required && !auth_try_reuse_tuple(lfp->vsub, lfp->key_seq));</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/* Determine if ciphering is required */</span><br><span style="color: hsl(0, 100%, 40%);">-static bool is_ciph_required(struct lu_fsm_priv *lfp)</span><br><span style="color: hsl(120, 100%, 40%);">+/* Determine if sending of CMC/SMC is required */</span><br><span style="color: hsl(120, 100%, 40%);">+static bool is_cmc_smc_required(struct lu_fsm_priv *lfp)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-   return lfp->ciphering_required;</span><br><span style="color: hsl(120, 100%, 40%);">+    /* UTRAN: always send SecModeCmd, even if ciphering is not required.</span><br><span style="color: hsl(120, 100%, 40%);">+   * GERAN: avoid sending CiphModeCmd if ciphering is not required. */</span><br><span style="color: hsl(120, 100%, 40%);">+  return lfp->is_utran || lfp->ciphering_required;</span><br><span> }</span><br><span> </span><br><span> /* Determine if a HLR Update is required */</span><br><span>@@ -853,7 +855,7 @@</span><br><span> </span><br><span>     OSMO_ASSERT(vsub);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  if (!is_ciph_required(lfp)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ if (!is_cmc_smc_required(lfp)) {</span><br><span>             vlr_loc_upd_post_ciph(fi);</span><br><span>           return;</span><br><span>      }</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 f132cdf..0a2a446 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>@@ -124,31 +124,38 @@</span><br><span>       VERBOSE_ASSERT(auth_request_sent, == true, "%d");</span><br><span>  VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        if (encryption) {</span><br><span style="color: hsl(0, 100%, 40%);">-               if (via_ran == OSMO_RAT_GERAN_A) {</span><br><span style="color: hsl(120, 100%, 40%);">+    switch (via_ran) {</span><br><span style="color: hsl(120, 100%, 40%);">+    case OSMO_RAT_GERAN_A:</span><br><span style="color: hsl(120, 100%, 40%);">+                if (encryption) {</span><br><span>                    btw("Test code not implemented");</span><br><span>                  OSMO_ASSERT(false);</span><br><span style="color: hsl(0, 100%, 40%);">-             } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                        /* On UTRAN */</span><br><span style="color: hsl(0, 100%, 40%);">-                  btw("Encryption enabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl");</span><br><span style="color: hsl(0, 100%, 40%);">-                       expect_security_mode_ctrl(NULL, "27497388b6cb044648f396aa155b95ef");</span><br><span style="color: hsl(0, 100%, 40%);">-                  ms_sends_msg("0554" "e229c19e" "2104" "791f2e41");</span><br><span style="color: hsl(0, 100%, 40%);">-                      VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-                       VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                    btw("MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR");</span><br><span style="color: hsl(0, 100%, 40%);">-                     gsup_expect_tx("04010809710000000156f0" CN_DOMAIN VLR_TO_HLR);</span><br><span style="color: hsl(0, 100%, 40%);">-                        ms_sends_security_mode_complete(1);</span><br><span style="color: hsl(0, 100%, 40%);">-                     VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-                     VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span>                 }</span><br><span style="color: hsl(0, 100%, 40%);">-       } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                /* Encryption disabled */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>          btw("Encryption disabled. MS sends Authen Response, VLR accepts and sends GSUP LU Req to HLR");</span><br><span>            gsup_expect_tx("04010809710000000156f0" CN_DOMAIN VLR_TO_HLR);</span><br><span>             ms_sends_msg("0554" "e229c19e" "2104" "791f2e41");</span><br><span>           VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");</span><br><span>          VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+          break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case OSMO_RAT_UTRAN_IU:</span><br><span style="color: hsl(120, 100%, 40%);">+               /* Even if encryption is disabled (UEA0), we still expect a SecurityModeControl</span><br><span style="color: hsl(120, 100%, 40%);">+                * message indicating UIA, because integrity protection is mandatory in UTRAN. */</span><br><span style="color: hsl(120, 100%, 40%);">+             btw("Encryption %sabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl",</span><br><span style="color: hsl(120, 100%, 40%);">+                  encryption ? "en" : "dis");</span><br><span style="color: hsl(120, 100%, 40%);">+           expect_security_mode_ctrl(NULL, "27497388b6cb044648f396aa155b95ef");</span><br><span style="color: hsl(120, 100%, 40%);">+                ms_sends_msg("0554" "e229c19e" "2104" "791f2e41");</span><br><span style="color: hsl(120, 100%, 40%);">+            VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");</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("MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR");</span><br><span style="color: hsl(120, 100%, 40%);">+           gsup_expect_tx("04010809710000000156f0" CN_DOMAIN VLR_TO_HLR);</span><br><span style="color: hsl(120, 100%, 40%);">+              ms_sends_security_mode_complete(encryption ? 0x01 : 0x00);</span><br><span style="color: hsl(120, 100%, 40%);">+            VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");</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%);">+          break;</span><br><span style="color: hsl(120, 100%, 40%);">+        default:</span><br><span style="color: hsl(120, 100%, 40%);">+              btw("Unhandled RAT %s", osmo_rat_type_name(via_ran));</span><br><span style="color: hsl(120, 100%, 40%);">+               OSMO_ASSERT(false);</span><br><span>  }</span><br><span> </span><br><span>        btw("HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT");</span><br><span>@@ -198,28 +205,35 @@</span><br><span>      EXPECT_ACCEPTED(false);</span><br><span>      thwart_rx_non_initial_requests();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (encryption) {</span><br><span style="color: hsl(0, 100%, 40%);">-               if (via_ran == OSMO_RAT_GERAN_A) {</span><br><span style="color: hsl(120, 100%, 40%);">+    switch (via_ran) {</span><br><span style="color: hsl(120, 100%, 40%);">+    case OSMO_RAT_GERAN_A:</span><br><span style="color: hsl(120, 100%, 40%);">+                if (encryption) {</span><br><span>                    btw("Test code not implemented");</span><br><span>                  OSMO_ASSERT(false);</span><br><span style="color: hsl(0, 100%, 40%);">-             } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                        /* On UTRAN */</span><br><span style="color: hsl(0, 100%, 40%);">-                  btw("Encryption enabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl");</span><br><span style="color: hsl(0, 100%, 40%);">-                       expect_security_mode_ctrl(NULL, "1159ec926a50e98c034a6b7d7c9f418d");</span><br><span style="color: hsl(0, 100%, 40%);">-                  ms_sends_msg("0554" "7db47cf7" "2104" "f81e4dc7"); /* 2nd vector's res, s.a. */</span><br><span style="color: hsl(0, 100%, 40%);">-                     VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-                       VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                    btw("MS sends SecurityModeControl acceptance, VLR accepts; above Ciphering is an implicit CM Service Accept");</span><br><span style="color: hsl(0, 100%, 40%);">-                        ms_sends_security_mode_complete(1);</span><br><span style="color: hsl(0, 100%, 40%);">-                     VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span>                 }</span><br><span style="color: hsl(0, 100%, 40%);">-       } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                /* Encryption disabled */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>          btw("Encryption disabled. MS sends Authen Response, VLR accepts with a CM Service Accept");</span><br><span>                gsup_expect_tx(NULL);</span><br><span>                ms_sends_msg("0554" "7db47cf7" "2104" "f81e4dc7"); /* 2nd vector's res, s.a. */</span><br><span>          VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+                break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case OSMO_RAT_UTRAN_IU:</span><br><span style="color: hsl(120, 100%, 40%);">+               /* Even if encryption is disabled (UEA0), we still expect a SecurityModeControl</span><br><span style="color: hsl(120, 100%, 40%);">+                * message indicating UIA, because integrity protection is mandatory in UTRAN. */</span><br><span style="color: hsl(120, 100%, 40%);">+             btw("Encryption %sabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl",</span><br><span style="color: hsl(120, 100%, 40%);">+                  encryption ? "en" : "dis");</span><br><span style="color: hsl(120, 100%, 40%);">+           expect_security_mode_ctrl(NULL, "1159ec926a50e98c034a6b7d7c9f418d");</span><br><span style="color: hsl(120, 100%, 40%);">+                ms_sends_msg("0554" "7db47cf7" "2104" "f81e4dc7"); /* 2nd vector's res, s.a. */</span><br><span style="color: hsl(120, 100%, 40%);">+           VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+             VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                btw("MS sends SecurityModeControl acceptance, VLR accepts; above Ciphering is an implicit CM Service Accept");</span><br><span style="color: hsl(120, 100%, 40%);">+              ms_sends_security_mode_complete(encryption ? 0x01 : 0x00);</span><br><span style="color: hsl(120, 100%, 40%);">+            VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+          break;</span><br><span style="color: hsl(120, 100%, 40%);">+        default:</span><br><span style="color: hsl(120, 100%, 40%);">+              btw("Unhandled RAT %s", osmo_rat_type_name(via_ran));</span><br><span style="color: hsl(120, 100%, 40%);">+               OSMO_ASSERT(false);</span><br><span>  }</span><br><span> </span><br><span>        /* Release connection */</span><br><span>@@ -265,27 +279,34 @@</span><br><span>     EXPECT_ACCEPTED(false);</span><br><span>      thwart_rx_non_initial_requests();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   if (encryption) {</span><br><span style="color: hsl(0, 100%, 40%);">-               if (via_ran == OSMO_RAT_GERAN_A) {</span><br><span style="color: hsl(120, 100%, 40%);">+    switch (via_ran) {</span><br><span style="color: hsl(120, 100%, 40%);">+    case OSMO_RAT_GERAN_A:</span><br><span style="color: hsl(120, 100%, 40%);">+                if (encryption) {</span><br><span>                    btw("Test code not implemented");</span><br><span>                  OSMO_ASSERT(false);</span><br><span style="color: hsl(0, 100%, 40%);">-             } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                        /* On UTRAN */</span><br><span style="color: hsl(0, 100%, 40%);">-                  btw("Encryption enabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl");</span><br><span style="color: hsl(0, 100%, 40%);">-                       expect_security_mode_ctrl(NULL, "eb50e770ddcc3060101d2f43b6c2b884");</span><br><span style="color: hsl(0, 100%, 40%);">-                  ms_sends_msg("0554" "706f9967" "2104" "19ba609c"); /* 3nd vector's res, s.a. */</span><br><span style="color: hsl(0, 100%, 40%);">-                     VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                       btw("MS sends SecurityModeControl acceptance, VLR accepts and sends SMS");</span><br><span style="color: hsl(0, 100%, 40%);">-                    dtap_expect_tx(sms);</span><br><span style="color: hsl(0, 100%, 40%);">-                    ms_sends_security_mode_complete(1);</span><br><span>          }</span><br><span style="color: hsl(0, 100%, 40%);">-       } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                /* Encryption disabled */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>          btw("Encryption disabled. MS sends Authen Response, VLR accepts and sends pending SMS");</span><br><span>           dtap_expect_tx(sms);</span><br><span>                 ms_sends_msg("0554" "706f9967" "2104" "19ba609c"); /* 3nd vector's res, s.a. */</span><br><span>          VERBOSE_ASSERT(dtap_tx_confirmed, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+           break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case OSMO_RAT_UTRAN_IU:</span><br><span style="color: hsl(120, 100%, 40%);">+               /* Even if encryption is disabled (UEA0), we still expect a SecurityModeControl</span><br><span style="color: hsl(120, 100%, 40%);">+                * message indicating UIA, because integrity protection is mandatory in UTRAN. */</span><br><span style="color: hsl(120, 100%, 40%);">+             btw("Encryption %sabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl",</span><br><span style="color: hsl(120, 100%, 40%);">+                  encryption ? "en" : "dis");</span><br><span style="color: hsl(120, 100%, 40%);">+           expect_security_mode_ctrl(NULL, "eb50e770ddcc3060101d2f43b6c2b884");</span><br><span style="color: hsl(120, 100%, 40%);">+                ms_sends_msg("0554" "706f9967" "2104" "19ba609c"); /* 3nd vector's res, s.a. */</span><br><span style="color: hsl(120, 100%, 40%);">+           VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           btw("MS sends SecurityModeControl acceptance, VLR accepts and sends SMS");</span><br><span style="color: hsl(120, 100%, 40%);">+          dtap_expect_tx(sms);</span><br><span style="color: hsl(120, 100%, 40%);">+          ms_sends_security_mode_complete(encryption ? 0x01 : 0x00);</span><br><span style="color: hsl(120, 100%, 40%);">+            break;</span><br><span style="color: hsl(120, 100%, 40%);">+        default:</span><br><span style="color: hsl(120, 100%, 40%);">+              btw("Unhandled RAT %s", osmo_rat_type_name(via_ran));</span><br><span style="color: hsl(120, 100%, 40%);">+               OSMO_ASSERT(false);</span><br><span>  }</span><br><span> </span><br><span>        btw("SMS was delivered, no requests pending for subscr");</span><br><span>@@ -516,31 +537,38 @@</span><br><span>  VERBOSE_ASSERT(auth_request_sent, == true, "%d");</span><br><span>  VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        if (encryption) {</span><br><span style="color: hsl(0, 100%, 40%);">-               if (via_ran == OSMO_RAT_GERAN_A) {</span><br><span style="color: hsl(120, 100%, 40%);">+    switch (via_ran) {</span><br><span style="color: hsl(120, 100%, 40%);">+    case OSMO_RAT_GERAN_A:</span><br><span style="color: hsl(120, 100%, 40%);">+                if (encryption) {</span><br><span>                    btw("Test code not implemented");</span><br><span>                  OSMO_ASSERT(false);</span><br><span style="color: hsl(0, 100%, 40%);">-             } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                        /* On UTRAN */</span><br><span style="color: hsl(0, 100%, 40%);">-                  btw("Encryption enabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl");</span><br><span style="color: hsl(0, 100%, 40%);">-                       expect_security_mode_ctrl(NULL, "8a90c769b7272f3bb7a1c1fbb1ea9349");</span><br><span style="color: hsl(0, 100%, 40%);">-                  ms_sends_msg("0554" "1df5f0b4" "2104" "f22b696e");</span><br><span style="color: hsl(0, 100%, 40%);">-                      VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-                       VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-                    btw("MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR");</span><br><span style="color: hsl(0, 100%, 40%);">-                     gsup_expect_tx("04010809710000000156f0" CN_DOMAIN VLR_TO_HLR);</span><br><span style="color: hsl(0, 100%, 40%);">-                        ms_sends_security_mode_complete(1);</span><br><span style="color: hsl(0, 100%, 40%);">-                     VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");</span><br><span style="color: hsl(0, 100%, 40%);">-                     VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span>                 }</span><br><span style="color: hsl(0, 100%, 40%);">-       } else {</span><br><span style="color: hsl(0, 100%, 40%);">-                /* Encryption disabled */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>          btw("Encryption disabled. MS sends Authen Response, VLR accepts and sends GSUP LU Req to HLR");</span><br><span>            gsup_expect_tx("04010809710000000156f0" CN_DOMAIN VLR_TO_HLR);</span><br><span>             ms_sends_msg("0554" "1df5f0b4" "2104" "f22b696e");</span><br><span>           VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");</span><br><span>          VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");</span><br><span style="color: hsl(120, 100%, 40%);">+          break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case OSMO_RAT_UTRAN_IU:</span><br><span style="color: hsl(120, 100%, 40%);">+               /* Even if encryption is disabled (UEA0), we still expect a SecurityModeControl</span><br><span style="color: hsl(120, 100%, 40%);">+                * message indicating UIA, because integrity protection is mandatory in UTRAN. */</span><br><span style="color: hsl(120, 100%, 40%);">+             btw("Encryption %sabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl",</span><br><span style="color: hsl(120, 100%, 40%);">+                  encryption ? "en" : "dis");</span><br><span style="color: hsl(120, 100%, 40%);">+           expect_security_mode_ctrl(NULL, "8a90c769b7272f3bb7a1c1fbb1ea9349");</span><br><span style="color: hsl(120, 100%, 40%);">+                ms_sends_msg("0554" "1df5f0b4" "2104" "f22b696e");</span><br><span style="color: hsl(120, 100%, 40%);">+            VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");</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("MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR");</span><br><span style="color: hsl(120, 100%, 40%);">+           gsup_expect_tx("04010809710000000156f0" CN_DOMAIN VLR_TO_HLR);</span><br><span style="color: hsl(120, 100%, 40%);">+              ms_sends_security_mode_complete(encryption ? 0x01 : 0x00);</span><br><span style="color: hsl(120, 100%, 40%);">+            VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");</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%);">+          break;</span><br><span style="color: hsl(120, 100%, 40%);">+        default:</span><br><span style="color: hsl(120, 100%, 40%);">+              btw("Unhandled RAT %s", osmo_rat_type_name(via_ran));</span><br><span style="color: hsl(120, 100%, 40%);">+               OSMO_ASSERT(false);</span><br><span>  }</span><br><span> </span><br><span>        btw("HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT");</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 76f822f..543c9d3 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>@@ -660,7 +660,7 @@</span><br><span> <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0</span><br><span>   auth_request_sent == 1</span><br><span>   lu_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- Encryption disabled. MS sends Authen Response, VLR accepts and sends GSUP LU Req to HLR</span><br><span style="color: hsl(120, 100%, 40%);">+- Encryption disabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl</span><br><span>   MSC <--UTRAN-Iu-- MS: GSM48_MT_MM_AUTH_RESP</span><br><span> DREF msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: + rx_from_ms: now used by 2 (lu,rx_from_ms)</span><br><span> DIUCS msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: DTAP</span><br><span>@@ -675,18 +675,28 @@</span><br><span> DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu:LU){VLR_SUB_AS_AUTHENTICATED}: Removing from parent vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU)</span><br><span> DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES</span><br><span> DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: Set Ciphering Mode</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: CIPHER_MODE_COMMAND on UTRAN-Iu</span><br><span style="color: hsl(120, 100%, 40%);">+- sending SecurityModeControl: ik=27497388b6cb044648f396aa155b95ef</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC dummy_msc_i(IMSI-901700000010650:UTRAN-Iu:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_CIPH</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu:LU){VLR_SUB_AS_AUTHENTICATED}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DREF msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: - rx_from_ms: now used by 1 (lu)</span><br><span style="color: hsl(120, 100%, 40%);">+  security_mode_ctrl_sent == 1</span><br><span style="color: hsl(120, 100%, 40%);">+  lu_result_sent == 0</span><br><span style="color: hsl(120, 100%, 40%);">+- MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph()</span><br><span> DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on UTRAN-Iu</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:UTRAN-Iu:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD</span><br><span> DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu:LU){UPD_HLR_VLR_S_INIT}: Allocated</span><br><span> DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu:LU){UPD_HLR_VLR_S_INIT}: is child of vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU)</span><br><span> DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu:LU){UPD_HLR_VLR_S_INIT}: Received Event UPD_HLR_VLR_E_START</span><br><span> GSUP --> HLR: OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST: 04010809710000000156f02801020a0101</span><br><span> DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu:LU){UPD_HLR_VLR_S_INIT}: state_chg to UPD_HLR_VLR_S_WAIT_FOR_DATA</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu:LU){VLR_SUB_AS_AUTHENTICATED}: Deallocated</span><br><span style="color: hsl(0, 100%, 40%);">-DREF msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: - rx_from_ms: now used by 1 (lu)</span><br><span>   gsup_tx_confirmed == 1</span><br><span>   lu_result_sent == 0</span><br><span> - HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT</span><br><span>@@ -864,7 +874,7 @@</span><br><span> DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Dispatching 04.08 message: SMS SMS:0x01</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Message not permitted for initial conn: SMS:0x01</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN decode error (rc=-13) for DTAP from MSC-I</span><br><span style="color: hsl(0, 100%, 40%);">-- Encryption disabled. MS sends Authen Response, VLR accepts with a CM Service Accept</span><br><span style="color: hsl(120, 100%, 40%);">+- Encryption disabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl</span><br><span>   MSC <--UTRAN-Iu-- MS: GSM48_MT_MM_AUTH_RESP</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: + rx_from_ms: now used by 2 (cm_service_sms,rx_from_ms)</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN decode: DTAP</span><br><span>@@ -879,25 +889,31 @@</span><br><span> DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){VLR_SUB_AS_AUTHENTICATED}: Removing from parent Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span> DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES</span><br><span> DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Set Ciphering Mode</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: CIPHER_MODE_COMMAND on UTRAN-Iu</span><br><span style="color: hsl(120, 100%, 40%);">+- sending SecurityModeControl: ik=1159ec926a50e98c034a6b7d7c9f418d</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_WAIT_CIPH</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){VLR_SUB_AS_AUTHENTICATED}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: - rx_from_ms: now used by 1 (cm_service_sms)</span><br><span style="color: hsl(120, 100%, 40%);">+  security_mode_ctrl_sent == 1</span><br><span style="color: hsl(120, 100%, 40%);">+  cm_service_result_sent == 0</span><br><span style="color: hsl(120, 100%, 40%);">+- MS sends SecurityModeControl acceptance, VLR accepts; above Ciphering is an implicit CM Service Accept</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph()</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on UTRAN-Iu</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_imei()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED)</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_imei()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: proc_arq_fsm_done(PASSED)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_WAIT_CIPH}: state_chg to PR_ARQ_S_DONE</span><br><span> DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Process Access Request result: PASSED</span><br><span style="color: hsl(0, 100%, 40%);">-DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Sending DTAP: MM GSM48_MT_MM_CM_SERV_ACC</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: RAN encode: DTAP on UTRAN-Iu</span><br><span style="color: hsl(0, 100%, 40%);">-- DTAP --UTRAN-Iu--> MS: GSM48_MT_MM_CM_SERV_ACC: 0521</span><br><span style="color: hsl(0, 100%, 40%);">-DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: Received Event MSC_A_EV_AUTHENTICATED</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){VLR_SUB_AS_AUTHENTICATED}: Deallocated</span><br><span style="color: hsl(0, 100%, 40%);">-DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: - rx_from_ms: now used by 1 (cm_service_sms)</span><br><span style="color: hsl(0, 100%, 40%);">-  cm_service_result_sent == 1</span><br><span style="color: hsl(120, 100%, 40%);">+  cm_service_result_sent == 0</span><br><span> - Concluding CM Service Request</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: - cm_service_sms: now used by 0 (-)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_AUTHENTICATED}: Received Event MSC_A_EV_UNUSED</span><br><span>@@ -1020,7 +1036,7 @@</span><br><span> DRLL msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: Dispatching 04.08 message: SMS SMS:0x01</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: Message not permitted for initial conn: SMS:0x01</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN decode error (rc=-13) for DTAP from MSC-I</span><br><span style="color: hsl(0, 100%, 40%);">-- Encryption disabled. MS sends Authen Response, VLR accepts and sends pending SMS</span><br><span style="color: hsl(120, 100%, 40%);">+- Encryption disabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl</span><br><span>   MSC <--UTRAN-Iu-- MS: GSM48_MT_MM_AUTH_RESP</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: + rx_from_ms: now used by 2 (paging-response,rx_from_ms)</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN decode: DTAP</span><br><span>@@ -1035,22 +1051,33 @@</span><br><span> DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){VLR_SUB_AS_AUTHENTICATED}: Removing from parent Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span> DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: Received Event PR_ARQ_E_AUTH_RES</span><br><span> DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_ciph()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: Set Ciphering Mode</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: CIPHER_MODE_COMMAND on UTRAN-Iu</span><br><span style="color: hsl(120, 100%, 40%);">+- sending SecurityModeControl: ik=eb50e770ddcc3060101d2f43b6c2b884</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_WAIT_CIPH</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){VLR_SUB_AS_AUTHENTICATED}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: - rx_from_ms: now used by 1 (paging-response)</span><br><span style="color: hsl(120, 100%, 40%);">+  security_mode_ctrl_sent == 1</span><br><span style="color: hsl(120, 100%, 40%);">+- MS sends SecurityModeControl acceptance, VLR accepts and sends SMS</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: Received Event PR_ARQ_E_CIPH_RES</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_ciph()</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on UTRAN-Iu</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_node2_post_vlr()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_pres()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_trace()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: _proc_arq_vlr_post_imei()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(PASSED)</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_node2_post_vlr()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_pres()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_trace()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: _proc_arq_vlr_post_imei()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: proc_arq_fsm_done(PASSED)</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_WAIT_CIPH}: state_chg to PR_ARQ_S_DONE</span><br><span> DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_DONE}: Process Access Request result: PASSED</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: Received Event MSC_A_EV_AUTHENTICATED</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTH_CIPH}: state_chg to MSC_A_ST_AUTHENTICATED</span><br><span> DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MT-SMS: Paging Response action (success)</span><br><span> DPAG Paging: IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 for MT-SMS: Removing Paging Request</span><br><span> DLSMS trans(SMS IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref-0x40000002 tid-0) mmsms_paging_cb(success)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 3 (paging-response,rx_from_ms,sms)</span><br><span style="color: hsl(120, 100%, 40%);">+DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: + sms: now used by 2 (paging-response,sms)</span><br><span> DLSMS SMC(0) message MMSMS-EST-CNF received in state MM_CONN_PENDING</span><br><span> DLSMS SMC(0) send CP data</span><br><span> DLSMS SMC(0) new CP state MM_CONN_PENDING -> WAIT_CP_ACK</span><br><span>@@ -1062,10 +1089,7 @@</span><br><span> - DTAP matches expected message</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span> DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - Paging: now used by 4 (attached,SMS-receiver,SMS,active-conn)</span><br><span style="color: hsl(0, 100%, 40%);">-DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - paging-response: now used by 2 (rx_from_ms,sms)</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){VLR_SUB_AS_AUTHENTICATED}: Deallocated</span><br><span style="color: hsl(0, 100%, 40%);">-DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - rx_from_ms: now used by 1 (sms)</span><br><span style="color: hsl(0, 100%, 40%);">-  dtap_tx_confirmed == 1</span><br><span style="color: hsl(120, 100%, 40%);">+DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_AUTHENTICATED}: - paging-response: now used by 1 (sms)</span><br><span> - SMS was delivered, no requests pending for subscr</span><br><span> DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + _test_umts_authen: now used by 5 (attached,SMS-receiver,SMS,active-conn,_test_umts_authen)</span><br><span>   llist_count(&vsub->cs.requests) == 0</span><br><span>@@ -1136,7 +1160,7 @@</span><br><span> DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_DONE}: Removing from parent msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span> DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){PR_ARQ_S_DONE}: Deferring: will deallocate with msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASED}: Removing from parent msub_fsm</span><br><span style="color: hsl(0, 100%, 40%);">-DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASED}: max total use count was 3</span><br><span style="color: hsl(120, 100%, 40%);">+DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASED}: max total use count was 2</span><br><span> DMSC msub_fsm{active}: Received Event MSUB_EV_ROLE_TERMINATED</span><br><span> DMSC msub(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) MSC-A terminated</span><br><span> DMSC msub(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) 1 MSC-I still active</span><br><span>@@ -2158,7 +2182,7 @@</span><br><span> <-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0</span><br><span>   auth_request_sent == 1</span><br><span>   lu_result_sent == 0</span><br><span style="color: hsl(0, 100%, 40%);">-- Encryption disabled. MS sends Authen Response, VLR accepts and sends GSUP LU Req to HLR</span><br><span style="color: hsl(120, 100%, 40%);">+- Encryption disabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl</span><br><span>   MSC <--UTRAN-Iu-- MS: GSM48_MT_MM_AUTH_RESP</span><br><span> DREF msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: + rx_from_ms: now used by 2 (lu,rx_from_ms)</span><br><span> DIUCS msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: DTAP</span><br><span>@@ -2173,18 +2197,28 @@</span><br><span> DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu:LU){VLR_SUB_AS_AUTHENTICATED}: Removing from parent vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU)</span><br><span> DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: Received Event VLR_ULA_E_AUTH_RES</span><br><span> DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_auth()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_post_ciph()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: Set Ciphering Mode</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: CIPHER_MODE_COMMAND on UTRAN-Iu</span><br><span style="color: hsl(120, 100%, 40%);">+- sending SecurityModeControl: ik=8a90c769b7272f3bb7a1c1fbb1ea9349</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC dummy_msc_i(IMSI-901700000010650:UTRAN-Iu:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_CIPH</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu:LU){VLR_SUB_AS_AUTHENTICATED}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DREF msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: - rx_from_ms: now used by 1 (lu)</span><br><span style="color: hsl(120, 100%, 40%);">+  security_mode_ctrl_sent == 1</span><br><span style="color: hsl(120, 100%, 40%);">+  lu_result_sent == 0</span><br><span style="color: hsl(120, 100%, 40%);">+- MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: RAN decode: CIPHER_MODE_COMPLETE</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_CIPH}: Received Event VLR_ULA_E_CIPH_RES</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_post_ciph()</span><br><span> DMSC msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: RAN encode: COMMON_ID on UTRAN-Iu</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:UTRAN-Iu:LU){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: vlr_loc_upd_node_4()</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_CIPH}: vlr_loc_upd_node_4()</span><br><span style="color: hsl(120, 100%, 40%);">+DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_WAIT_HLR_UPD</span><br><span> DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu:LU){UPD_HLR_VLR_S_INIT}: Allocated</span><br><span> DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu:LU){UPD_HLR_VLR_S_INIT}: is child of vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu:LU)</span><br><span> DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu:LU){UPD_HLR_VLR_S_INIT}: Received Event UPD_HLR_VLR_E_START</span><br><span> GSUP --> HLR: OSMO_GSUP_MSGT_UPDATE_LOCATION_REQUEST: 04010809710000000156f02801020a0101</span><br><span> DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu:LU){UPD_HLR_VLR_S_INIT}: state_chg to UPD_HLR_VLR_S_WAIT_FOR_DATA</span><br><span style="color: hsl(0, 100%, 40%);">-DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu:LU){VLR_SUB_AS_AUTHENTICATED}: Deallocated</span><br><span style="color: hsl(0, 100%, 40%);">-DREF msc_a(IMSI-901700000010650:UTRAN-Iu:LU){MSC_A_ST_AUTH_CIPH}: - rx_from_ms: now used by 1 (lu)</span><br><span>   gsup_tx_confirmed == 1</span><br><span>   lu_result_sent == 0</span><br><span> - HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-msc/+/26406">change 26406</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/c/osmo-msc/+/26406"/><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-Change-Id: I6205f13453eff7afbf25e013d72ae98a78fcd31b </div>
<div style="display:none"> Gerrit-Change-Number: 26406 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: lynxis lazus <lynxis@fe80.eu> </div>
<div style="display:none"> Gerrit-Reviewer: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>