Commit e8024dc3 authored by Yann Garcia's avatar Yann Garcia
Browse files

Finalize TC_NGAP_AMF_PDU_02

parent 704c926f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@ system.NGAP_AMF.params := "NGAP/SCTP(server=127.0.0.5,port=38412,debug=1)"
# Verify that the IUT can send a  PDU SESSION RESOURCE SETUP REQUEST with at least one PDU session resource list to established PDU session.
#NGAP_TestCases.TC_NGAP_AMF_PDU_01
# Verify that the IUT can send a  PDU_SESSION_RESOURCE_RELEASE_COMMAND to release PDU session.
NGAP_TestCases.TC_NGAP_AMF_PDU_02
#NGAP_TestCases.TC_NGAP_AMF_PDU_02
# Verify that the IUT can send a  PDU_SESSION_RESOURCE_MODIFY_REQUEST to modify PDU session.
#NGAP_TestCases.TC_NGAP_AMF_PDU_03
# Verify that the AMF node successfully processes a  PDU_SESSION_RESOURCE_MODIFY_INDICATION contains mandatory IEs and answers with PDU_SESSION_RESOURCE_MODIFY_CONFIRM for successfully modified PDU session.
@@ -112,7 +112,7 @@ NGAP_TestCases.TC_NGAP_AMF_PDU_02
# Verify that the IUT sends a UE CONTEXT RELEASE COMMAND after UE_CONTEXT_RELEASE_REQUEST to release the UE-associated logic NG-connection due to NG-RAN node generated reasons
#NGAP_TestCases.TC_NGAP_AMF_CMP_03
# Verify that the IUT can send a UE CONTEXT MODIFICATION REQUEST containing mandatory IEs
###########################################NGAP_TestCases.TC_NGAP_AMF_CMP_04
NGAP_TestCases.TC_NGAP_AMF_CMP_04
# Verify that the IUT can send a CONNECTION ESTABLISHMENT INDICATION that contains mandatory IEs
#NGAP_TestCases.TC_NGAP_AMF_CMP_05
# Verify that the IUT can send an AMF CP RELOCATION INDICATION that contains mandatory IEs
+9 −0
Original line number Diff line number Diff line
@@ -321,6 +321,15 @@ module NGAP_Steps {
            }
        }

        function f_NGAP_amf_UE_PDU_SessionResourceReleaseRequest_SessionResourceReleaseCommand() runs on aMFNGAPComponent {
            log(">>> f_NGAP_amf_UE_PDU_SessionResourceReleaseRequest");
            if (PICS_OFFLINE_MODE) {
                f_await_pdu_session_resource_release_request_await_pdu_session_resource_release_command();
            } else {
                f_send_pdu_session_resource_release_request_await_pdu_session_resource_release_command();
            }
        }

        /**
         * @desc
         */
+3 −3
Original line number Diff line number Diff line
@@ -4627,10 +4627,10 @@ module NGAP_TCFunctions {
                  if (not(f_NGAP_amf_UE_Has_EstablishedContextInproperly())) { // TODO FSCOM To check, not sure it address hasEstablishedInitialContext properly
                    f_selfOrClientSyncAndVerdict(c_prDone, e_timeout);
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                    return;
                  }
                  } else {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                  }

                  // Body
                  action("Trigger a PDU UE context modification procedure!");
+98 −40
Original line number Diff line number Diff line
@@ -298,8 +298,8 @@ module LibNGAP_Functions {
            // Extract RAN_UE_NGAP_ID
            vc_RAN_UE_ID  := vc_recvNGAP_PDU.initiatingMessage.value_.initialUEMessage.protocolIEs[0].value_.rAN_UE_NGAP_ID;
        } else {
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NAS message ***");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NAS message ***");
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NAS message");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NAS message");
        }
    }

@@ -330,8 +330,8 @@ module LibNGAP_Functions {
                                        vc_ng_nas_security_params_type,
                                        vc_previous_nas_count_dl,
                                        v_message) == false) {
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_REQUEST ***");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_REQUEST ***");
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_REQUEST");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_REQUEST");
        }
        log("v_message: ", v_message);
        if (not(isbound(v_message))) {
@@ -396,8 +396,8 @@ module LibNGAP_Functions {
                                        vc_ng_nas_security_params_type,
                                        vc_previous_nas_count_dl,
                                        v_dl_message) == false) {
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_REQUEST ***");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_REQUEST ***");
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_REQUEST");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_REQUEST");
        }
        log("v_dl_message: ", v_dl_message);

@@ -427,8 +427,8 @@ module LibNGAP_Functions {
                                         vc_ng_nas_security_params_type,
                                         vc_previous_nas_count_ul
                                         ) == false) {
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_RESPONSE ***");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_RESPONSE ***");
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_RESPONSE");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NG_AUTHENTICATION_RESPONSE");
        }

        setverdict(pass);
@@ -473,10 +473,10 @@ module LibNGAP_Functions {
        f_NASPDU_Get(vc_recvNGAP_PDU);
        var NG_NAS_DL_Message_Type v_message;
        if (f_Check_5GAKA_NAS_DL_Message(vc_recvNAS_PDU, mw_NG_SECURITY_MODE_COMMAND, vc_ng_nas_security_params_type, vc_previous_nas_count_dl, v_message) == false) {
            log("*** " & __SCOPE__ & ": FAIL: NG_SECURITY_MODE_COMMAND mismatch. ***");
            log("*** " & __SCOPE__ & ": FAIL: NG_SECURITY_MODE_COMMAND mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected NG_SECURITY_MODE_COMMAND ***");
            log("*** " & __SCOPE__ & ": PASS: Expected NG_SECURITY_MODE_COMMAND");
            setverdict(pass);
        }
        log("v_message: ", v_message);
@@ -576,10 +576,10 @@ module LibNGAP_Functions {
        f_NASPDU_Get(vc_recvNGAP_PDU);
        var NG_NAS_DL_Message_Type v_message;
        if (f_Check_5GAKA_NAS_DL_Message(vc_recvNAS_PDU, mw_NG_SECURITY_MODE_COMMAND, vc_ng_nas_security_params_type, vc_previous_nas_count_dl, v_message) == false) {
            log("*** " & __SCOPE__ & ": FAIL: NG_SECURITY_MODE_COMMAND mismatch. ***");
            log("*** " & __SCOPE__ & ": FAIL: NG_SECURITY_MODE_COMMAND mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected NG_SECURITY_MODE_COMMAND ***");
            log("*** " & __SCOPE__ & ": PASS: Expected NG_SECURITY_MODE_COMMAND");
            setverdict(pass);
        }
        log("v_message: ", v_message);
@@ -606,8 +606,8 @@ module LibNGAP_Functions {
                                         vc_ng_nas_security_params_type,
                                         vc_previous_nas_count_ul
                                         ) == false) {
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NG_SECURITY_MODE_COMPLETE ***");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NG_SECURITY_MODE_COMPLETE ***");
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NG_SECURITY_MODE_COMPLETE");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NG_SECURITY_MODE_COMPLETE");
        }

        // TODO Check plainNASMessage content
@@ -656,10 +656,10 @@ module LibNGAP_Functions {
        f_NASPDU_Get(vc_recvNGAP_PDU);
        var NG_NAS_DL_Message_Type v_message;
        if (f_Check_5GAKA_NAS_DL_Message(vc_recvNAS_PDU, mw_NG_REGISTRATION_ACCEPT, vc_ng_nas_security_params_type, vc_previous_nas_count_dl, v_message) == false) {
            log("*** " & __SCOPE__ & ": FAIL: NG_REGISTRATION_ACCEPT mismatch. ***");
            log("*** " & __SCOPE__ & ": FAIL: NG_REGISTRATION_ACCEPT mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected NG_REGISTRATION_ACCEPT ***");
            log("*** " & __SCOPE__ & ": PASS: Expected NG_REGISTRATION_ACCEPT");
            setverdict(pass);
        }
        log("v_message: ", v_message);
@@ -719,10 +719,10 @@ module LibNGAP_Functions {
                                         vc_previous_nas_count_dl, 
                                         v_message
                                         ) == false) {
            log("*** " & __SCOPE__ & ": FAIL: NG_REGISTRATION_ACCEPT mismatch. ***");
            log("*** " & __SCOPE__ & ": FAIL: NG_REGISTRATION_ACCEPT mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected NG_REGISTRATION_ACCEPT ***");
            log("*** " & __SCOPE__ & ": PASS: Expected NG_REGISTRATION_ACCEPT");
            setverdict(pass);
        }
        log("v_message: ", v_message);
@@ -910,8 +910,8 @@ module LibNGAP_Functions {
        if (match(vc_recvNgNasUl_Msg, mw_NG_REGISTRATION_COMPLETE)) {
            log("Received NG_REGISTRATION_COMPLETE NAS message");
        } else {
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NAS message ***");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NAS message ***");
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NAS message");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NAS message");
        }
    }

@@ -1008,10 +1008,10 @@ module LibNGAP_Functions {
                                         vc_ng_nas_security_params_type, 
                                         vc_previous_nas_count_ul
                                         ) == false) {
            log("*** " & __SCOPE__ & ": FAIL: PDU_SESSION_ESTABLISHMENT_REQUEST mismatch. ***");
            log("*** " & __SCOPE__ & ": FAIL: PDU_SESSION_ESTABLISHMENT_REQUEST mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected PDU_SESSION_ESTABLISHMENT_REQUEST ***");
            log("*** " & __SCOPE__ & ": PASS: Expected PDU_SESSION_ESTABLISHMENT_REQUEST");
            setverdict(pass);
        }
    }
@@ -1070,10 +1070,10 @@ module LibNGAP_Functions {
                        )));
        f_NASPDU_Get(vc_recvNGAP_PDU);
        if (f_Check_5GAKA_NAS_UL_Message(vc_recvNAS_PDU, mw_NG_PDU_SESSION_ESTABLISHMENT_ACCEPT, vc_ng_nas_security_params_type, vc_previous_nas_count_ul) == false) {
            log("*** " & __SCOPE__ & ": FAIL: PDU_SESSION_ESTABLISHMENT_ACCEPT mismatch. ***");
            log("*** " & __SCOPE__ & ": FAIL: PDU_SESSION_ESTABLISHMENT_ACCEPT mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected PDU_SESSION_ESTABLISHMENT_ACCEPT ***");
            log("*** " & __SCOPE__ & ": PASS: Expected PDU_SESSION_ESTABLISHMENT_ACCEPT");
            setverdict(pass);
        }
    }
@@ -1145,7 +1145,7 @@ module LibNGAP_Functions {
                                                                            }//in template (value) PDUSessionResourceSetupListSUReq p_pDUSessionResourceSetupListSUReq
                        )));
        var integer numOfIEs := lengthof(vc_recvNGAP_PDU.initiatingMessage.value_.pDUSessionResourceSetupRequest.protocolIEs)
        log("*** " & __SCOPE__ & ": DBG: numOfIEs: ", numOfIEs, " ***");
        log("*** " & __SCOPE__ & ": DBG: numOfIEs: ", numOfIEs, "");
        for (var integer i :=0 ; i < numOfIEs; i := i + 1) { // Loop over the protocolIEs found
            if ((vc_recvNGAP_PDU.initiatingMessage.value_.pDUSessionResourceSetupRequest.protocolIEs[i].id) == 74 /*id_NAS_PDU*/) {
                var integer numOfItems := lengthof(vc_recvNGAP_PDU.initiatingMessage.value_.pDUSessionResourceSetupRequest.protocolIEs[i].value_.pDUSessionResourceSetupListSUReq)
@@ -1162,14 +1162,14 @@ module LibNGAP_Functions {
                                                        vc_previous_nas_count_dl, 
                                                        v_message
                                                        ) == false) {
                            log("*** " & __SCOPE__ & ": FAIL: NG_PDU_SESSION_ESTABLISHMENT_ACCEPT mismatch. ***");
                            log("*** " & __SCOPE__ & ": FAIL: NG_PDU_SESSION_ESTABLISHMENT_ACCEPT mismatch.");
                            setverdict(fail);
                        } else {
                            log("*** " & __SCOPE__ & ": DBG: v_message.dl_Nas_Transport ", v_message.dl_Nas_Transport);
                            var bitstring v_bs := oct2bit(v_message.dl_Nas_Transport.payload.payload);
                            var NG_PDU_SESSION_ESTABLISHMENT_ACCEPT v_ng_pdu_session_establishment_accept;
                            if (decvalue(v_bs, v_ng_pdu_session_establishment_accept) != 0) {
                                log("*** " & __SCOPE__ & ": INCONC: Failed to decode dl_Nas_Transport payload ***");
                                log("*** " & __SCOPE__ & ": INCONC: Failed to decode dl_Nas_Transport payload");
                                setverdict(inconc);
                            } else {
                                log("*** " & __SCOPE__ & ": DBG: v_ng_pdu_session_establishment_accept: ", v_ng_pdu_session_establishment_accept);
@@ -1177,17 +1177,17 @@ module LibNGAP_Functions {
                                v_expected_message.pdu_Session_Establishment_Accept := v_ng_pdu_session_establishment_accept;
                                if (not(match(v_expected_message, mw_NG_PDU_SESSION_ESTABLISHMENT_ACCEPT_noPTI))) {
                                    log(match(v_expected_message, mw_NG_PDU_SESSION_ESTABLISHMENT_ACCEPT_noPTI)); // Log mismatch
                                    log("*** " & __SCOPE__ & ": FAIL: NG_PDU_SESSION_ESTABLISHMENT_ACCEPT mismatch. ***");
                                    log("*** " & __SCOPE__ & ": FAIL: NG_PDU_SESSION_ESTABLISHMENT_ACCEPT mismatch.");
                                    setverdict(fail);
                                } else {
                                log("*** " & __SCOPE__ & ": PASS: Expected NG_PDU_SESSION_ESTABLISHMENT_ACCEPT ***");
                                log("*** " & __SCOPE__ & ": PASS: Expected NG_PDU_SESSION_ESTABLISHMENT_ACCEPT");
                                setverdict(pass);
                                }
                            }
                        }
                    } // End of 'for' statement
                } else {
                    log("*** " & __SCOPE__ & ": FAIL: No items in pDUSessionResourceSetupListSUReq. ***");
                    log("*** " & __SCOPE__ & ": FAIL: No items in pDUSessionResourceSetupListSUReq.");
                    setverdict(fail);
                }
                break; // Break the loop as the relevant IE has been processed
@@ -1273,10 +1273,10 @@ module LibNGAP_Functions {
                        )));
        f_NASPDU_Get(vc_recvNGAP_PDU)
        if (f_Check_5GAKA_NAS_UL_Message(vc_recvNAS_PDU, mw_NG_PDU_SESSION_RELEASE_REQUEST, vc_ng_nas_security_params_type, vc_previous_nas_count_ul) == false) {
            log("*** " & __SCOPE__ & ": FAIL: NG_PDU_SESSION_RELEASE_REQUEST mismatch. ***");
            log("*** " & __SCOPE__ & ": FAIL: NG_PDU_SESSION_RELEASE_REQUEST mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected NG_PDU_SESSION_RELEASE_REQUEST ***");
            log("*** " & __SCOPE__ & ": PASS: Expected NG_PDU_SESSION_RELEASE_REQUEST");
            setverdict(pass);
        }
    }
@@ -1341,6 +1341,64 @@ module LibNGAP_Functions {
        setverdict(pass);
    }

    function f_await_pdu_session_resource_release_command() runs on NGNASComponent {
        log(">>> f_await_pdu_session_resource_release_command");

        // Await NG_PDU_SESSION_RELEASE_COMMAND
        f_recv_NGAP_PDU(
                        mw_ngap_initMsg(
                                        mw_n2_DownlinkNASTransport(
                                                                   vc_AMF_UE_ID,
                                                                   vc_RAN_UE_ID
                        )));
        f_NASPDU_Get(vc_recvNGAP_PDU);
        var NG_NAS_DL_Message_Type v_message;
        if (f_Check_5GAKA_NAS_DL_Message(
                                         vc_recvNAS_PDU, 
                                         mw_NG_DL_NAS_TRANSPORT,
                                         vc_ng_nas_security_params_type,
                                         vc_previous_nas_count_dl,
                                         v_message
                                         ) == false) {
            log("f_await_pdu_session_resource_release_command: Unexpected NG_PDU_SESSION_RELEASE_COMMAND");
            setverdict(fail);
        } else {
            log("f_await_pdu_session_resource_release_command: v_message.dl_Nas_Transport ", v_message.dl_Nas_Transport);
            var bitstring v_bs := oct2bit(v_message.dl_Nas_Transport.payload.payload);
            var NG_PDU_SESSION_RELEASE_COMMAND v_ng_pdu_session_release_command;
            if (decvalue(v_bs, v_ng_pdu_session_release_command) != 0) {
                log("f_await_pdu_session_resource_release_command: Failed to decode dl_Nas_Transport payload");
                setverdict(inconc);
            } else {
                log("f_await_pdu_session_resource_release_command: v_ng_pdu_session_release_command: ", v_ng_pdu_session_release_command);
                var NG_NAS_DL_Message_Type v_expected_message;
                v_expected_message.pdu_Session_Release_Command := v_ng_pdu_session_release_command;
                if (not(match(v_expected_message, mw_NG_PDU_SESSION_RELEASE_COMMAND(cs_NG_PDU_SessionId(int2oct(vc_pdu_session_resource_setup_list_su_req[0].pDUSessionID, 1), omit))))) {
                    log(match(v_expected_message, mw_NG_PDU_SESSION_RELEASE_COMMAND(cs_NG_PDU_SessionId(int2oct(vc_pdu_session_resource_setup_list_su_req[0].pDUSessionID, 1), omit)))); // Log mismatch
                    log("f_await_pdu_session_resource_release_command: FAIL: NG_PDU_SESSION_RELEASE_COMMAND mismatch.");
                    setverdict(fail);
                } else {
                    log("f_await_pdu_session_resource_release_command: PASS: Expected NG_PDU_SESSION_RELEASE_COMMAND");
                    setverdict(pass);
                }
            }
        }
    }

    function f_await_pdu_session_resource_release_request_await_pdu_session_resource_release_command() runs on NGNASComponent {
        // Await NG_PDU_SESSION_RELEASE_REQUEST
        f_await_pdu_session_resource_release_request();
        // Await NG_PDU_SESSION_RELEASE_COMMAND
        f_await_pdu_session_resource_release_command();
    }

    function f_send_pdu_session_resource_release_request_await_pdu_session_resource_release_command() runs on NGNASComponent {
        // Send NG_PDU_SESSION_RELEASE_REQUEST
        f_send_pdu_session_resource_release_request();
        // Await NG_PDU_SESSION_RELEASE_COMMAND
        f_await_pdu_session_resource_release_command();
    }

    // function f_await_pdu_session_resource_setup_request_await_session_resource_setup_response() runs on NGNASComponent {
    //     log(">>> f_await_pdu_session_resource_setup_request_await_session_resource_setup_response");

@@ -1419,10 +1477,10 @@ module LibNGAP_Functions {
                                         vc_previous_nas_count_dl, 
                                         v_message
                                         ) == false) {
            log("*** " & __SCOPE__ & ": FAIL: NG_CONFIGURATION_UPDATE_COMMAND mismatch. ***");
            log("f_await_configuration_update_command: NG_CONFIGURATION_UPDATE_COMMAND mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected NG_CONFIGURATION_UPDATE_COMMAND ***");
            log("f_await_configuration_update_command: PASS: Expected NG_CONFIGURATION_UPDATE_COMMAND");
            setverdict(pass);
        }
        log("v_message: ", v_message);
@@ -1641,8 +1699,8 @@ module LibNGAP_Functions {
        if (match(vc_recvNgNasUl_Msg, mw_NG_DEREGISTRATION_REQUEST_MO)) {
            log("Received NG_DEREGISTRATION_REQUEST_MO NAS message");
        } else {
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NAS message ***");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NAS message ***");
            log("*** " & __SCOPE__ & ": FAIL: Unexpected NAS message");
            setverdict(fail, "*** " & __SCOPE__ & ": FAIL: Unexpected NAS message");
        }
    }

@@ -1667,10 +1725,10 @@ module LibNGAP_Functions {
                                         vc_previous_nas_count_dl, 
                                         v_message
                                         ) == false) {
            log("*** " & __SCOPE__ & ": FAIL: mw_NG_DEREGISTRATION_ACCEPT_MO mismatch. ***");
            log("*** " & __SCOPE__ & ": FAIL: mw_NG_DEREGISTRATION_ACCEPT_MO mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected mw_NG_DEREGISTRATION_ACCEPT_MO ***");
            log("*** " & __SCOPE__ & ": PASS: Expected mw_NG_DEREGISTRATION_ACCEPT_MO");
            setverdict(pass);
        }
        log("v_message: ", v_message);
@@ -1697,10 +1755,10 @@ module LibNGAP_Functions {
                                         vc_previous_nas_count_dl, 
                                         v_message
                                         ) == false) {
            log("*** " & __SCOPE__ & ": FAIL: mw_NG_DEREGISTRATION_ACCEPT_MO mismatch. ***");
            log("*** " & __SCOPE__ & ": FAIL: mw_NG_DEREGISTRATION_ACCEPT_MO mismatch.");
            setverdict(fail);
        } else {
            log("*** " & __SCOPE__ & ": PASS: Expected mw_NG_DEREGISTRATION_ACCEPT_MO ***");
            log("*** " & __SCOPE__ & ": PASS: Expected mw_NG_DEREGISTRATION_ACCEPT_MO");
            setverdict(pass);
        }
        log("v_message: ", v_message);