Commit c4c7d9cd authored by garciay's avatar garciay
Browse files

STF500: Week #50

parent b8e235a6
Loading
Loading
Loading
Loading
+460 −776

File changed.

Preview size limit exceeded, changes collapsed.

+3 −1
Changes for DiameterCxDx/ttcn/DiameterCxDx_Dx_TCFunctions.ttcn3: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -163,7 +163,9 @@ module DiameterCxDx_Dx_TCFunctions {
                                    vc_userName,
                                    vc_publicIdentity,
                                    m_sIPNumberAuthItems(1),
                                    DiameterCxDx_Templates.m_sIPAuthDataItem_dummy, //TODO: Set real data here
                                    m_sIPAuthDataItem_authScheme(// containing a SIP-Auth-Data-Item AVP
                                        m_sIPAuthenticationScheme("DIGEST")   //         indicating “Digest-AKAv1-MD5”
                                    ),
                                    vc_serverName
                                )
                ));
+5 −5
Changes for DiameterCxDx/ttcn/DiameterCxDx_PIXITS.ttcn: 5 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -237,7 +237,7 @@ module DiameterCxDx_PIXITS
         *          form, as described in 3GPP TS 23.003 [13].
         * @see 3GPP TS 29.229 6.3.2 Public-Identity AVP
         */
        modulepar charstring PX_PublicIdentity := "public_identity@etsi.org";
        modulepar UTF8String PX_PublicIdentity := "public_identity@etsi.org";
        
        /** @desc   UTF8String, 
         *          the Public-Identity value shall be different to PX_PublicIdentity.
@@ -314,10 +314,10 @@ module DiameterCxDx_PIXITS
         */
        modulepar DiameterURI PX_DiameterUri := {
            scheme          := "aaa",
            diameterId_FQDN := "FQDN",
            portField       := 6666,
            transport       := "tcp",
            protocol        := "diameter"
            diameterId_FQDN := "host.etsi.org",
            portField       := omit,
            transport       := omit,
            protocol        := omit
        };
        
        /** @desc   Integer SIP-Item-Number AVP 
+44 −40
Changes for DiameterCxDx/ttcn/DiameterCxDx_Steps.ttcn: 44 added lines, 40 removed lines.
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@
            vc_SUT_port    := PX_DIAMETER_CX_SUT_HSS_PORT;

            vc_sessionId := m_sessionId(PX_SessionID);
            vc_sessionId2 := m_sessionId(PX_SessionID&"1");

            vc_originHost := m_originHost(PX_OriginHost);
            vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS)
@@ -415,7 +416,7 @@
            f_cscfInitialRegistrationCx();
            f_w_MAR_MAA(DIAMETER_SUCCESS_E);
            f_cscfSecondRegistratonCx();
            f_w_SAR_SAA(DIAMETER_SUCCESS_E);
            f_w_SAR_SAA(DIAMETER_SUCCESS_E,-,m_serverAssignmentType(REGISTRATION_E));
        } // End of function f_cscfRegistrationCx 
        
        /**
@@ -447,7 +448,7 @@
            f_w_UAR_UAA(
                        -, 
                        omit, 
                        DIAMETER_FIRST_REGISTRATION_E
                        DIAMETER_SUBSEQUENT_REGISTRATION_E
            );
            
        } // End of function f_cscfSecondRegistratonCx 
@@ -459,13 +460,13 @@
         * @see ETSI TS 129 228 V12.7.0 (2015-10) Clause A.4.1 Registration– user not registered
         */
        function f_cscfDeregistrationCx() runs on DiameterCx {
            f_w_UAR_UAA(mw_UAR_Body_dummy, DIAMETER_SUCCESS_E);
            f_w_SAR_SAA(DIAMETER_SUCCESS_E);
            f_w_UAR_UAA(mw_UAR, DIAMETER_SUCCESS_E);
            f_w_SAR_SAA(DIAMETER_SUCCESS_E,-,m_serverAssignmentType(USER_DEREGISTRATION_E));
        } // End of function f_cscfRegistrationCx 
        
        function f_s_MAR_MAA () runs on DiameterCx {
        function f_s_MAR_MAA (in Session_Id_AVP p_sessionId) runs on DiameterCx {
            f_send_MAR(m_MAR_Msg( 
                            vc_sessionId, 
                            p_sessionId, 
                            m_MAR_withServerName(
                                vc_originHost,
                                vc_originRealm,
@@ -477,14 +478,14 @@
                                vc_serverName
                            )
            ));
            f_awaiting_MAA(mw_MAA_Msg(vc_sessionId, mw_MAA_basic))
            f_awaiting_MAA(mw_MAA_Msg(p_sessionId, mw_MAA_basic))
        }
        
        function f_s_SAR_SAA (
        function f_s_SAR_SAA (in Session_Id_AVP p_sessionId,
                              in Srv_Assgmt_Type_Code p_serverAssignmentType := UNREGISTERED_USER_E
        ) runs on DiameterCx {
            f_send_SAR(m_SAR_Msg( 
                            vc_sessionId, 
                            p_sessionId, 
                            m_SAR_withUserNameAndPID(
                                vc_originHost,
                                vc_originRealm,
@@ -496,7 +497,7 @@
                                valueof(vc_publicIdentity)
                            )
            ));
            f_awaiting_SAA(mw_SAA_Msg(vc_sessionId, mw_SAA_basic))
            f_awaiting_SAA(mw_SAA_Msg(p_sessionId, mw_SAA_basic))
        }
        
        /**
@@ -505,11 +506,11 @@
         * 
         * @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 {
        function f_s_UAR_UAA_deRegistration(in Session_Id_AVP p_sessionId) runs on DiameterCx {
            
            f_send_UAR(
                m_UAR_Msg(
                    vc_sessionId, 
                    p_sessionId, 
                    m_UAR_UauthDhostFlags(
                        vc_originHost, 
                        vc_originRealm, 
@@ -524,7 +525,7 @@
            
            f_awaiting_UAA(
                mw_UAA_Msg(
                    vc_sessionId, 
                    p_sessionId, 
                    mw_UAA_ResulExpreSernaSerca(
                        mw_resultCode(
                            DIAMETER_SUCCESS_E
@@ -538,13 +539,14 @@
        
        /**
         * @desc Initiate an SAR/SAA de-registration
         * @param p_sessionId
         * @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 {
        function f_s_SAR_SAA_deRegistration(in Session_Id_AVP p_sessionId) runs on DiameterCx {
            
            f_s_SAR_SAA(USER_DEREGISTRATION_E);                                         // SAR de-registration
            f_s_SAR_SAA(p_sessionId, USER_DEREGISTRATION_E);                                         // SAR de-registration
            
        } // End of function f_s_SAR_SAA_deRegistration 
        
@@ -556,19 +558,20 @@
         * @param p_userName
         * @param p_publicIdentity
         * @param p_uar_Flags_Cx
         * @param p_sessionId
         * @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,
        function f_hssRegistrationCx(in Session_Id_AVP p_sessionId, 
                                     in UTF8String p_userName := PX_UserName,
                                     in UTF8String p_publicIdentity := PX_PublicIdentity,
                                     in template (omit) UAR_Flags_AVP p_uar_Flags_Cx := omit
        ) runs on DiameterCx {
            f_hssInitialRegistrationCx(p_userName, p_publicIdentity, p_uar_Flags_Cx);   // With DIAMETER_FIRST_REGISTRATION
            f_s_MAR_MAA();
            f_hssSecondRegistratonCx(p_uar_Flags_Cx);                                   // With SUBEQUENT_REGISTRATION
            f_s_SAR_SAA(UNREGISTERED_USER_E);                                        // SAR registration
            f_hssInitialRegistrationCx(p_sessionId, p_userName, p_publicIdentity, p_uar_Flags_Cx);   // With DIAMETER_FIRST_REGISTRATION
            f_s_MAR_MAA(p_sessionId);
            f_hssSecondRegistratonCx(p_sessionId, p_uar_Flags_Cx);                                   // With SUBEQUENT_REGISTRATION
            f_s_SAR_SAA(p_sessionId, REGISTRATION_E);                                        // SAR registration
        } // End of function f_hssRegistrationCx 
        
        /**
@@ -576,13 +579,14 @@
         * @param p_userName
         * @param p_publicIdentity
         * @param p_uar_Flags_Cx
         * @param p_sessionId
         * @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_hssInitialRegistrationCx(
                                         in charstring p_userName := PX_UserName,
                                         in charstring p_publicIdentity := PX_PublicIdentity,
        function f_hssInitialRegistrationCx(in Session_Id_AVP p_sessionId, 
                                            in UTF8String p_userName := PX_UserName,
                                            in UTF8String p_publicIdentity := PX_PublicIdentity,
                                            in template (omit) UAR_Flags_AVP p_uar_Flags_Cx := omit
        ) runs on DiameterCx {
            vc_userName := m_userName(p_userName);
@@ -591,11 +595,11 @@
            } else {
                vc_publicIdentity := m_publicIdentity(p_publicIdentity);
            }
            vc_visitedNetworkId := m_visitedNetworkId(PX_VisitedNetworkId);
            //vc_visitedNetworkId := m_visitedNetworkId(PX_VisitedNetworkId);
            
            f_send_UAR(
                m_UAR_Msg(
                vc_sessionId, 
                p_sessionId, 
                m_UAR_UauthDhostFlags(
                    vc_originHost, 
                    vc_originRealm, 
@@ -610,7 +614,7 @@
            
            f_awaiting_UAA(
                mw_UAA_Msg(
                    vc_sessionId, 
                    p_sessionId, 
                    mw_UAA_ResulExpre(
                        omit, 
                        mw_experimentalResult(
@@ -624,15 +628,16 @@
        /**
         * @desc Initiate the second registration with SUBEQUENT_REGISTRATION experimental result
         * @param p_uar_Flags_Cx 
         * @param p_sessionId
         * @verdict pass on success, fail otherwise
         */
        function f_hssSecondRegistratonCx(
        function f_hssSecondRegistratonCx(in Session_Id_AVP p_sessionId,
                                          in template (omit) UAR_Flags_AVP p_uar_Flags_Cx := omit
        ) runs on DiameterCx {
            
            f_send_UAR(
                m_UAR_Msg(
                vc_sessionId, 
                p_sessionId, 
                m_UAR_UauthDhostFlags(
                    vc_originHost, 
                    vc_originRealm, 
@@ -647,7 +652,7 @@
            
            f_awaiting_UAA(
                mw_UAA_Msg(
                    vc_sessionId, 
                    p_sessionId, 
                    mw_UAA_ResulExpre(
                        omit, 
                        mw_experimentalResult(
@@ -660,15 +665,16 @@
        
        /**
         * @desc Initiate a full HSS de-registration
         * @param p_sessionId
         * @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 {
        function f_hssDeregistrationCx(in Session_Id_AVP p_sessionId) runs on DiameterCx {
            
            f_s_UAR_UAA_deRegistration();
            f_s_UAR_UAA_deRegistration(p_sessionId);
            
            f_s_SAR_SAA_deRegistration();
            f_s_SAR_SAA_deRegistration(p_sessionId);
            
        } // End of function f_hssRegistrationCx
        
@@ -691,6 +697,7 @@
                                 v_resultCodeAvp, v_expResultAvp);
            
            f_awaiting_UAR(mw_UAR_Msg(?, p_uAR));
            vc_userName:= vc_recvDiamMsg.uAR_MSG.uAR_Body.user_Name;
            f_send_UAA(m_UAA_Msg(vc_sessionId, v_UAA));
        }

@@ -715,11 +722,11 @@
        }
        
        function f_w_SAR_SAA (in template (omit) Result_Code_Type             p_resultCode,
                              in template (omit) Experimental_Result_Type p_expResultCode := omit )
                              in template (omit) Experimental_Result_Type     p_expResultCode := omit,
                              in template Server_Assignment_Type_AVP          p_server_Assignment_Type:=? )
        runs on DiameterCx {
            var template (omit)  Result_Code_AVP         v_resultCodeAvp := omit;
            var template (omit)  Experimental_Result_AVP v_expResultAvp  := omit;
            var template (value) MAA_Body_AVP            v_MAA;
            
            if(ispresent(p_resultCode)){
                v_resultCodeAvp := m_resultCode(valueof(p_resultCode));
@@ -727,10 +734,7 @@
                v_expResultAvp := m_experimentalResult(valueof(p_expResultCode));
            }
            
            v_MAA := m_MAA_basic(vc_originHost, vc_originRealm,
                                 v_resultCodeAvp, v_expResultAvp);
            
            f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR)); // TODO To be refined a little beat
            f_awaiting_SAR(mw_SAR_Msg(?, mw_SAR(-,-,-,omit,-,-,-,p_server_Assignment_Type))); 
            f_send_SAA(m_SAA_Msg(vc_sessionId, m_SAA_basic(vc_originHost, vc_originRealm, m_resultCode(DIAMETER_SUCCESS_E))));
        }
        
+123 −32

File changed.

Preview size limit exceeded, changes collapsed.

Loading