Commit dc975274 authored by garciay's avatar garciay
Browse files

Enhancement of preamble/postamble for TC_CX_HSS_UA_0x

Enhancement of preamble/postamble for TC_CX_HSS_SA_01
parent ae0034e6
Loading
Loading
Loading
Loading
+308 −147

File changed.

Preview size limit exceeded, changes collapsed.

+111 −28
Original line number Diff line number Diff line
@@ -396,15 +396,44 @@

    group AVPOperations {

    }//end group AVPOperations
    }// End of group AVPOperations

    group CheckFunctions {

    } //end group CheckFunctions
    } // End of group CheckFunctions

    group GeneralFunctions {
        
        function f_initialRegistratonCx(
        /**
         * @desc Initiate a full HSS registration
         * @param p_userName
         * @param p_publicIdentity
         * @param p_uar_Flags_Cx
         * @verdict pass on success, fail otherwise
         * 
         * @see ETSI TS 129 228 V12.7.0 (2015-10) Clause A.4.1 Registration– user not registered
         */
        function f_hssRegistrationCx( 
                                     in charstring p_userName := PX_UserName,
                                     in charstring p_publicIdentity := PX_PublicIdentity,
                                     in template (omit) UAR_Flags_AVP p_uar_Flags_Cx := omit
        ) runs on DiameterCx {
            f_initialRegistrationCx(p_userName, p_publicIdentity, p_uar_Flags_Cx);   // With DIAMETER_FIRST_REGISTRATION
            f_s_MAR_MAA();
            f_secondRegistratonCx(p_uar_Flags_Cx);                                  // With SUBEQUENT_REGISTRATION
            f_s_SAR_SAA();
        } // End of function f_hssRegistrationCx 
        
        /**
         * @desc Initiate the first registration with DIAMETER_FIRST_REGISTRATION experimental result
         * @param p_userName
         * @param p_publicIdentity
         * @param p_uar_Flags_Cx
         * @verdict pass on success, fail otherwise
         * 
         * @see ETSI TS 129 228 V12.7.0 (2015-10) Clause A.4.1 Registration– user not registered
         */
        function f_initialRegistrationCx(
                                         in charstring p_userName := PX_UserName,
                                         in charstring p_publicIdentity := PX_PublicIdentity,
                                         in template (omit) UAR_Flags_AVP p_uar_Flags_Cx := omit
@@ -443,26 +472,67 @@
                                ?, 
                                DIAMETER_FIRST_REGISTRATION_E
            )))));
        }
        } // End of function f_initialRegistrationCx
        
        function f_registratonCx(
                                 in charstring p_userName := PX_UserName,
                                 in charstring p_publicIdentity := PX_PublicIdentity,
        /**
         * @desc Initiate the second registration with SUBEQUENT_REGISTRATION experimental result
         * @param p_uar_Flags_Cx 
         * @verdict pass on success, fail otherwise
         */
        function f_secondRegistratonCx(
                                       in template (omit) UAR_Flags_AVP p_uar_Flags_Cx := omit
        ) runs on DiameterCx {
            f_initialRegistratonCx(p_userName, p_publicIdentity, p_uar_Flags_Cx);
            f_s_MAR_MAA();
            f_initialRegistratonCx();//TODO need to be UAA with SUBEQUENT_REGISTRATION
            f_s_SAR_SAA();
        }
            
        function f_deRegistratonCx () runs on DiameterCx {
            //TODO
            //f_s_UAR_UAA_deRegistration();
            //f_s_SAR_SAA_deRegistration()
            f_send_UAR(
                m_UAR_Msg(
                vc_sessionId, 
                m_UAR_UauthDhostFlags(
                    vc_originHost, 
                    vc_originRealm, 
                    vc_destinationRealm, 
                    vc_userName, 
                    vc_publicIdentity, 
                    omit, 
                    m_user_Authorization_Reg_Cx, 
                    omit, 
                    p_uar_Flags_Cx
            )));
            
            f_awaiting_UAA(
                mw_UAA_Msg(
                    vc_sessionId, 
                    mw_UAA_ResulExpre(
                        omit, 
                        mw_experimentalResult(
                            ?,
                            mw_experimentalResultCode(
                                ?, 
                                DIAMETER_SUBSEQUENT_REGISTRATION_E
            )))));
        } // End of function f_secondRegistratonCx 
        
        /**
         * @desc Initiate a full HSS de-registration
         * @verdict pass on success, fail otherwise
         * 
         * @see ETSI TS 129 228 V12.7.0 (2015-10) Clause A.4.3 Registration– user not registered
         */
        function f_hssDeregistrationCx() runs on DiameterCx {
            
            f_s_UAR_UAA_deRegistration();
            
            f_s_SAR_SAA_deRegistration();
            
        } // End of function f_hssRegistrationCx
        
        /**
         * @desc Initiate an UAR/UAA de-registration
         * @verdict pass on success, fail otherwise
         * 
         * @see ETSI TS 129 228 V12.7.0 (2015-10) Clause A.4.3 Registration– user not registered
         */
        function f_s_UAR_UAA_deRegistration() runs on DiameterCx {
            
            //folowing two functions moved into f_s_UAR_UAA_deRegistration();
            f_send_UAR(
                m_UAR_Msg(
                    vc_sessionId, 
@@ -473,7 +543,7 @@
                        vc_userName, 
                        vc_publicIdentity, 
                        vc_visitedNetworkId, 
                        m_user_Authorization_Reg_Cx, 
                        m_user_Authorization_Dereg_Cx, 
                        vc_destinationHost, 
                        m_uar_Flags_Cx
            )));
@@ -489,9 +559,22 @@
                        *,
                        *
            )));
        }
            
    } //end group GeneralFunctions
        } // End of function f_s_UAR_UAA_deRegistration 
        
        /**
         * @desc Initiate an SAR/SAA de-registration
         * @verdict pass on success, fail otherwise
         * 
         * @see ETSI TS 129 228 V12.7.0 (2015-10) Clause A.4.3 Registration– user not registered
         */
        function f_s_SAR_SAA_deRegistration() runs on DiameterCx {
            
            f_s_SAR_SAA(USER_DEREGISTRATION_E);
            
        } // End of function f_s_SAR_SAA_deRegistration 
        
    } // End of group GeneralFunctions

    group Scscf_Functions {
        
@@ -531,7 +614,7 @@
            f_awaiting_SAA(mw_SAA_Msg(vc_sessionId, mw_SAA_basic))
        }
        
    } //end group ScscfFunctions
    } // End of group ScscfFunctions
    group Hss_Functions {
        
		function f_w_UAR_UAA (in template  Result_Code_Type p_resultCode,
@@ -574,6 +657,6 @@
            f_send_MAA(m_MAA_Msg(vc_sessionId, v_MAA));
        }
                
    } //end group ScscfFunctions
    } // End of group ScscfFunctions

} // end module DiameterCx_Steps
 No newline at end of file