Commit c1a2b702 authored by Bostjan Pintar's avatar Bostjan Pintar
Browse files

TTCN3 code modified until 1st demo conf call

parent b873bedc
Loading
Loading
Loading
Loading
+37 −5
Original line number Diff line number Diff line
@@ -473,6 +473,7 @@ module AtsImsIot_Diameter_Templates {
            group CxRequestMessageTemplates{

                template MAR_MSG mw_MAR modifies mw_MAR_dummy := {
                    header := mw_diameterHeaderReq_dummy(MAR_E, c_applId3GPPCxDx),
                    mAR_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
@@ -485,6 +486,7 @@ module AtsImsIot_Diameter_Templates {
                }

                template RTR_MSG mw_RTR modifies mw_RTR_dummy := {
                    header := mw_diameterHeaderReq_dummy(RTR_E, c_applId3GPPCxDx),
                    rTR_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
@@ -494,6 +496,7 @@ module AtsImsIot_Diameter_Templates {
                }

                template SAR_MSG mw_SAR_UnregisteredUser modifies mw_SAR_dummy := {
                    header := mw_diameterHeaderReq_dummy(SAR_E, c_applId3GPPCxDx),
                    sAR_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
@@ -506,6 +509,7 @@ module AtsImsIot_Diameter_Templates {
                }

                template SAR_MSG mw_SAR_UserDeregistration modifies mw_SAR_dummy := {
                    header := mw_diameterHeaderReq_dummy(SAR_E, c_applId3GPPCxDx),
                    sAR_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
@@ -518,42 +522,58 @@ module AtsImsIot_Diameter_Templates {
                }

                template UAR_MSG mw_UAR_Registration modifies mw_UAR_dummy := {
                    header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx),
                    uAR_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
                        user_Name := omit,
                        user_Name := ?,
                        public_Identity := ?,
                        visited_Network_Identifier := ?,
                        user_Authorization_Type := mw_userAuthorizationType(REGISTRATION)
                        user_Authorization_Type := mw_userAuthorizationType(REGISTRATION),
                        sIP_AOR := *,
                        sIP_Visited_Network_Id := *,
                        sIP_User_Authorization_Type := *
                    }
                }

                template UAR_MSG mw_UAR modifies mw_UAR_dummy := {
                    header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx),
                    uAR_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
                        user_Name := ?, 
                        public_Identity := ?
                        public_Identity := ?,
                        sIP_AOR := *,
                        sIP_Visited_Network_Id := *,
                        sIP_User_Authorization_Type := *
                    }
                }

                template UAR_MSG mw_UAR_unknownPrivateId modifies mw_UAR_dummy := {
                    header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx),
                    uAR_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
                        user_Name := ?,//UNKNOWN PRIVATE USER IDENTITY
                        public_Identity := ?
                        public_Identity := ?,
                        sIP_AOR := *,
                        sIP_Visited_Network_Id := *,
                        sIP_User_Authorization_Type := *
                    }
                }

                template UAR_MSG mw_UAR_deRegistration modifies mw_UAR_dummy := {
                    header := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx),
                    uAR_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
                        user_Name := ?,
                        public_Identity := ?,
                        visited_Network_Identifier := ?,
                        user_Authorization_Type := mw_userAuthorizationType(DE_REGISTRATION)
                        user_Authorization_Type := mw_userAuthorizationType(DE_REGISTRATION),
                        sIP_AOR := *,
                        sIP_Visited_Network_Id := *,
                        sIP_User_Authorization_Type := *
                    }
                }
            
@@ -561,6 +581,7 @@ module AtsImsIot_Diameter_Templates {
            group CxAnswertMessageTemplates{
                
                template MAA_MSG mw_MAA modifies mw_MAA_dummy := {
                    header := mw_diameterHeaderAns_dummy(MAA_E, c_applId3GPPCxDx),
                    mAA_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
@@ -573,6 +594,7 @@ module AtsImsIot_Diameter_Templates {
                }
                
                template RTA_MSG mw_RTA modifies mw_RTA_dummy := {
                    header := mw_diameterHeaderAns_dummy(RTA_E, c_applId3GPPCxDx),
                    rTA_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
@@ -581,6 +603,7 @@ module AtsImsIot_Diameter_Templates {
                }
                
                template SAA_MSG mw_SAA modifies mw_SAA_dummy := {
                    header := mw_diameterHeaderAns_dummy(SAA_E, c_applId3GPPCxDx),
                    sAA_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
@@ -589,6 +612,7 @@ module AtsImsIot_Diameter_Templates {
                }
                
                template SAA_MSG mw_SAA_userData modifies mw_SAA_dummy := {
                    header := mw_diameterHeaderAns_dummy(SAA_E, c_applId3GPPCxDx),
                    sAA_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
@@ -599,8 +623,10 @@ module AtsImsIot_Diameter_Templates {
                }
                
                template UAA_MSG mw_UAA_diamFirstRegistration modifies mw_UAA_dummy := {
                    header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx),
                    uAA_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Application_Id := *,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
                        result_Code := omit,
                        experimental_Result := mw_experimentalResult(DIAMETER_FIRST_REGISTRATION_E)
@@ -608,9 +634,11 @@ module AtsImsIot_Diameter_Templates {
                }
                
                template UAA_MSG mw_UAA_diamSubsequentRegistration modifies mw_UAA_dummy := {
                    header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx),
                    uAA_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
                        auth_Application_Id := *,
                        result_Code := omit,
                        experimental_Result := mw_experimentalResult(DIAMETER_SUBSEQUENT_REGISTRATION_E),
                        server_Name := ?,
@@ -619,8 +647,10 @@ module AtsImsIot_Diameter_Templates {
                }
                
                template UAA_MSG mw_UAA_diamErrorUserUnknown modifies mw_UAA_dummy := {
                    header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx),
                    uAA_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Application_Id := *,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
                        result_Code := omit,
                        experimental_Result := mw_experimentalResult(DIAMETER_ERROR_USER_UNKNOWN_E),
@@ -629,8 +659,10 @@ module AtsImsIot_Diameter_Templates {
                }
                
                template UAA_MSG mw_UAA_diamSuccess modifies mw_UAA_dummy := {
                    header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx),
                    uAA_Body :={
                        vendor_Specific_Application_Id := ?,
                        auth_Application_Id := *,
                        auth_Session_State := mw_authSessionState_noStateMaintained,
                        result_Code := mw_resultCode(mw_resultCode_diameterSuccess),
                        experimental_Result := omit,
+11 −7
Original line number Diff line number Diff line
@@ -2885,9 +2885,9 @@ module AtsImsIot_Functions {
        }
        
        /**
        * @desc This altstep add one alternative checking for a very specifc SIP response.
        * @desc This altstep add one alternative checking for a very specifc DIAMETER message.
                                        If it matches then the conformance verdict is set to requested verdict
        * @param p_message The expected SIP response
        * @param p_message The expected DIAMETER message
        * @param p_verdict Verdict to be used in case of match
        * @param p_tpId The test purpose identifier
        * @param p_forwardMtc indicates if the received reponse should be forwarded to mtc
@@ -2906,7 +2906,7 @@ module AtsImsIot_Functions {
                    var DIAMETER_MSG v_msg;
                    v_msg := v_message;
                    log("### Forwarding message to MTC");
                    //icpPort.send(v_msg); //TODO: check how to sync diameter with MTC
                    icpPort.send(v_msg);
                }
            }
            [p_checkMessage] diameterPort.check(receive(p_message) -> value v_message) {
@@ -2915,7 +2915,7 @@ module AtsImsIot_Functions {
                    var DIAMETER_MSG v_msg;
                    v_msg := v_message;
                    log("### Forwarding message to MTC");
                    //icpPort.send(v_msg);//TODO: check how to sync diameter with MTC
                    icpPort.send(v_msg);
                }
            }
        }
@@ -3188,7 +3188,7 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
        }
        
        /**
        * @desc Activates for each entry in a expected IMS SIP message list a default 
        * @desc Activates for each entry in a expected IMS DIAMETER message list a default 
        *       for receiving that message and setting the verdict as desired
        * @param p_default Reference to default array where deaults are to be added
        * @param p_startIdx Index into default array after which references for 
@@ -3211,11 +3211,15 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
            var integer v_idx := p_startIdx;

            for (var integer i := 0; i < v_size; i := i + 1) {
                if (isvalue(p_list[i])) {
                if (ispresent(p_list[i])) {
                    log("Function f_activateDiameterDefaults ispresent:",p_list[i],i);
                    p_default[v_idx] := activate(
                    a_receive_diameter(p_list[i],p_verdict, p_tpId, p_forwardMtc, p_checkMessage)
                    );
                } 
                else {
                    log("Function f_activateDiameterDefaults else statement:",p_list[i]);
                }
//                else {
//                    p_default[v_idx] := activate(
//                        a_receive_diameter_Response(p_list[i].response,p_verdict, p_tpId, p_forwardMtc, p_checkMessage)
@@ -3353,7 +3357,7 @@ log ("### f_imsIot_receive: failCriteria=", p_failCriteria);
         *     skipped prior to checking
         * @param p_tpId The Test Purpose identifier
         * @param p_forwardMtc
         *     indicate if the received Sip message should be forwarded to the
         *     indicate if the received Diameter message should be forwarded to the
         *     mtc
         * @param p_checkMessage
         *     indicate if the incomming message should only be checked
+15 −15
Original line number Diff line number Diff line
@@ -69,26 +69,26 @@ module AtsImsIot_TD_REG{
                    f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile

                    // Test body
                    f_mtc_check_TP_GM_PCSCF_REGISTER_01(vc_vxlte_monitor_components.gmA); // Events 1, 10
                    f_mtc_check_TP_MW_PCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPS, true); // Event 2, 9
                    f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, true); // Event 5, 8
                    f_mtc_check_TP_GM_PCSCF_REGISTER_01(vc_vxlte_monitor_components.gmA, false); // Events 1, 10
                    f_mtc_check_TP_MW_PCSCF_REGISTER_01(vc_vxlte_monitor_components.mwPS, false); // Event 2, 9
                    f_mtc_check_TP_MW_ICSCF_REGISTER_01(vc_vxlte_monitor_components.mwIS, false); // Event 5, 8
                    
                    f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH);// Event 3, 4
                    f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH);// Event 6, 7
                    f_mtc_check_TP_CX_HSS_UAA_01(vc_vxlte_monitor_components.cxIH, false);// Event 3, 4
                    f_mtc_check_TP_CX_HSS_MAA_01(vc_vxlte_monitor_components.cxSH, false);// Event 6, 7
                    
                    f_mtc_check_TP_GM_PCSCF_REGISTER_02(vc_vxlte_monitor_components.gmA); // Events 11, 20
                    f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS); // Events 12, 19
                    f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, true); // Event 15, 18
                    f_mtc_check_TP_GM_PCSCF_REGISTER_02(vc_vxlte_monitor_components.gmA, false); // Events 11, 20
                    f_mtc_check_TP_MW_PCSCF_REGISTER_02(vc_vxlte_monitor_components.mwPS, false); // Events 12, 19
                    f_mtc_check_TP_MW_ICSCF_REGISTER_02(vc_vxlte_monitor_components.mwIS, false); // Event 15, 18
                    
                    f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH);// Event 13, 14
                    f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH);// Event 16, 17
                    f_mtc_check_TP_CX_HSS_UAA_02(vc_vxlte_monitor_components.cxIH, false);// Event 13, 14
                    f_mtc_check_TP_CX_HSS_SAA_01(vc_vxlte_monitor_components.cxSH, false);// Event 16, 17
                    
                    f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA); // Events 21, 24
                    f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, true); // Events 22, 23
                    f_mtc_check_TP_GM_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.gmA, false); // Events 21, 24
                    f_mtc_check_TP_MW_PCSCF_SUBSCRIBE_01(vc_vxlte_monitor_components.mwPS, false); // Events 22, 23

                    f_mtc_check_TP_RX_PCSCF_AAR_01(vc_vxlte_monitor_components.rx);// Event 25
                    f_mtc_check_TP_RX_PCRF_AAA_01(vc_vxlte_monitor_components.rx); // Event 26
                    f_mtc_check_TP_GX_PGW_RAA_01(vc_vxlte_monitor_components.gx); // Event 27, 28
                    f_mtc_check_TP_RX_PCSCF_AAR_01(vc_vxlte_monitor_components.rx, false);// Event 25
                    f_mtc_check_TP_RX_PCRF_AAA_01(vc_vxlte_monitor_components.rx, false); // Event 26
                    f_mtc_check_TP_GX_PGW_RAA_01(vc_vxlte_monitor_components.gx, false); // Event 27, 28

                    // postamble
                    f_PO_user_home_deregistration ( v_ueA );
+33 −4
Original line number Diff line number Diff line
@@ -378,24 +378,53 @@ group g_HSS {
     */
    function f_mtc_check_TP_CX_HSS_UAA_01(
        DiameterInterfaceMonitor p_monitorCompRef,
        in boolean p_checkMessage := true,
        in boolean p_forward_to_mtc := false
        in boolean p_checkMessage := false,
        in boolean p_forward_to_mtc := true
    ) runs on ImsTestCoordinator {
        if (isvalue(p_monitorCompRef)){
//        p_monitorCompRef.start (
//            f_Iot_Diameter_receive(
//                {
//                    DIAMETER_MSG:{uAR_MSG := mw_UAR_Registration},
//                    DIAMETER_MSG:{uAA_MSG := mw_UAA_diamFirstRegistration}
//                },
//                {},
//                {0, omit},
//                "TP_CX_HSS_UAA_01",
//                p_forward_to_mtc,
//                p_checkMessage 
//            )
//        );
//        p_monitorCompRef.done;

          p_monitorCompRef.start (
            f_Iot_Diameter_receive(
                {
                    DIAMETER_MSG:{uAR_MSG := mw_UAR_Registration}
                },
                {},
                {0, omit},
                "TP_CX_HSS_UAA_01 - UAR",
                p_forward_to_mtc,
                p_checkMessage 
            )
        );
        p_monitorCompRef.done;
        
        p_monitorCompRef.start (
            f_Iot_Diameter_receive(
                {
                    DIAMETER_MSG:{uAR_MSG := mw_UAR_Registration},
                    DIAMETER_MSG:{uAA_MSG := mw_UAA_diamFirstRegistration}
                },
                {},
                {0, omit},
                "TP_CX_HSS_UAA_01",
                "TP_CX_HSS_UAA_01 - UAA",
                p_forward_to_mtc,
                p_checkMessage 
            )
        );
        p_monitorCompRef.done;

        }
    } // End of function f_mtc_check_TP_CX_HSS_UAA_01

+35 −4
Original line number Diff line number Diff line
@@ -119,8 +119,38 @@ module AtsImsIot_TP_behavior_MW_IS {
         */
        function f_mtc_check_TP_MW_ICSCF_REGISTER_01(
                                                     in SipInterfaceMonitor p_monitorCompRef,
                                                     in boolean p_checkMessage := true
                                                     in boolean p_checkMessage := false
                                                     ) runs on ImsTestCoordinator {
          if (isvalue(p_monitorCompRef)){
//            p_monitorCompRef.start(
//                                   f_Iot_Sip_receive(
//                                                    {
//                                                        mw_SipRequest(mw_REGISTER_Request_Base),//Updated line 23.3.2021 - TODO
//                                                        mw_SipResponse(mw_401Unauthorized_Base)
//                                                    },
//                                                    {},
//                                                    {0, omit},
//                                                    "TP_MW_ICSCF_REGISTER_01",
//                                                    false,
//                                                    p_checkMessage
//                                                    )
//                                   );
//           p_monitorCompRef.done;

            p_monitorCompRef.start(
                                   f_Iot_Sip_receive(
                                                    {
                                                        mw_SipRequest(mw_REGISTER_Request_Base)
                                                    },
                                                    {},
                                                    {0, omit},
                                                    "TP_MW_ICSCF_REGISTER_01 - REQ",
                                                    true,
                                                    p_checkMessage
                                                    )
                                   );
           p_monitorCompRef.done;
           
           p_monitorCompRef.start(
                                   f_Iot_Sip_receive(
                                                    {
@@ -128,12 +158,13 @@ module AtsImsIot_TP_behavior_MW_IS {
                                                    },
                                                    {},
                                                    {0, omit},
                                                    "TP_MW_ICSCF_REGISTER_01",
                                                    false,
                                                    "TP_MW_ICSCF_REGISTER_01 - RESP",
                                                    true,
                                                    p_checkMessage
                                                    )
                                   );
           p_monitorCompRef.done;
          }
        } // End of function f_mtc_check_TP_MW_ICSCF_REGISTER_01
        
        /**
Loading