Commit 26a9ec2d authored by pintar's avatar pintar
Browse files

Correction due to validation week 9/2015

-encvalue without .avpData
-intoduction of new port for S6a
-extension of configuration for 2paralel test components for S6a inteface
parent eaf9f26e
Loading
Loading
Loading
Loading
+96 −18
Original line number Diff line number Diff line
@@ -1845,7 +1845,7 @@ module DiameterS6a_HSS_TCFunctions {
                        vc_destinationRealm,
                        m_userName(PX_USR_NAME),
                        m_rAT_Type(PX_RAT_TYPE),
                        md_ulr_Flags_AVP(10), // containing a ULR-Flags AVP with S6a-indicator and GPRS-Subscription-Data-Indicator bit set
                        md_ulr_Flags_AVP(26), // containing a ULR-Flags AVP with S6a-indicator and GPRS-Subscription-Data-Indicator bit set and Node-Type-Indicator set
                        m_visitedPLMNId_dummy
                    ) // End of md_ulrBodyAvps
                ) // End of md_ULR
@@ -2123,8 +2123,26 @@ module DiameterS6a_HSS_TCFunctions {
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                        
            //initiation of ULR message
            f_init_sendULR_awaitULA();
            // Test Body
            // Clause 'when': the IUT receives a UL-Request
            f_send_ULR(
                md_ULR( 
                    vc_sessionId,
                    md_ulrBodyAvps(
                        md_auth_Session_State_noStateMaintained,
                        vc_originHost,
                        vc_originRealm,
                        vc_destinationRealm,
                        m_userName(PX_USR_NAME),
                        m_rAT_Type(PX_RAT_TYPE),
                        md_ulr_Flags_AVP(18), // S6a interface, combined MME/SGSN
                        m_visitedPLMNId_dummy
                    ) // End of md_ulrBodyAvps
                ) // End of md_ULR
            );
            
            // Clause 'then': 
            f_awaiting_ULA(mdw_ULA(?,mw_S6a_ULA_Body_dummy));
            
            // Test Body
            // Clause 'when'
@@ -2302,6 +2320,27 @@ module DiameterS6a_HSS_TCFunctions {
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                        
            // Test Body
            // Clause 'when': the IUT receives a UL-Request
            f_send_ULR(
                md_ULR( 
                    vc_sessionId,
                    md_ulrBodyAvps(
                        md_auth_Session_State_noStateMaintained,
                        vc_originHost,
                        vc_originRealm,
                        vc_destinationRealm,
                        m_userName(PX_USR_NAME),
                        m_rAT_Type(PX_RAT_TYPE),
                        md_ulr_Flags_AVP(18), // S6a interface, combined MME/SGSN
                        m_visitedPLMNId_dummy
                    ) // End of md_ulrBodyAvps
                ) // End of md_ULR
            );
            
            // Clause 'then': 
            f_awaiting_ULA(mdw_ULA(?,mw_S6a_ULA_Body_dummy));
            
            // Test Body
            // Clause 'when': the IUT receives an AI-Request
            f_send_AIR(
@@ -2752,6 +2791,27 @@ module DiameterS6a_HSS_TCFunctions {
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                        
            // Test Body
            // Clause 'when': the IUT receives a UL-Request
            f_send_ULR(
                md_ULR( 
                    vc_sessionId,
                    md_ulrBodyAvps(
                        md_auth_Session_State_noStateMaintained,
                        vc_originHost,
                        vc_originRealm,
                        vc_destinationRealm,
                        m_userName(PX_USR_NAME),
                        m_rAT_Type(PX_RAT_TYPE),
                        md_ulr_Flags_AVP(18), // S6a interface, combined MME/SGSN
                        m_visitedPLMNId_dummy
                    ) // End of md_ulrBodyAvps
                ) // End of md_ULR
            );
            
            // Clause 'then': 
            f_awaiting_ULA(mdw_ULA(?,mw_S6a_ULA_Body_dummy));
                        
            // Test Body
            // Clause 'when'
            f_send_AIR(
@@ -2780,10 +2840,10 @@ module DiameterS6a_HSS_TCFunctions {
                            vc_sessionId,                                           // containing a Session-ID AVP
                            mdw_aiaBodyAvps_result_Code_authentication_Info( 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
                                (mdw_authentication_Info_UTRAN_Vector(              // containing an authentication_Info AVP
                                    mw_UTRAN_Vector_dummy),
                                mdw_authentication_Info_GERAN_Vector(              // containing an authentication_Info AVP
                                    mw_GERAN_Vector_dummy)
                                (mdw_authentication_Info_UTRAN_Vectors(              // containing an authentication_Info AVP
                                    superset(mw_UTRAN_Vector_dummy)),
                                mdw_authentication_Info_GERAN_Vectors(              // containing an authentication_Info AVP
                                    superset(mw_GERAN_Vector_dummy))
            ))));
            
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
@@ -2905,6 +2965,27 @@ module DiameterS6a_HSS_TCFunctions {
            f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                        
            // Test Body
            // Clause 'when': the IUT receives a UL-Request
            f_send_ULR(
                md_ULR( 
                    vc_sessionId,
                    md_ulrBodyAvps(
                        md_auth_Session_State_noStateMaintained,
                        vc_originHost,
                        vc_originRealm,
                        vc_destinationRealm,
                        m_userName(PX_USR_NAME),
                        m_rAT_Type(PX_RAT_TYPE),
                        md_ulr_Flags_AVP(18), // S6a interface, combined MME/SGSN
                        m_visitedPLMNId_dummy
                    ) // End of md_ulrBodyAvps
                ) // End of md_ULR
            );
            
            // Clause 'then': 
            f_awaiting_ULA(mdw_ULA(?,mw_S6a_ULA_Body_dummy));
                        
            // Test Body
            // Clause 'when'
            f_send_AIR(
@@ -3008,11 +3089,9 @@ module DiameterS6a_HSS_TCFunctions {
                            vc_sessionId,                                           // containing a Session-ID AVP
                            mdw_aiaBodyAvps_result_Code_authentication_Info( 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
                                mdw_authentication_Info_e_UTRAN_Vector(             // containing an E-UTRAN-Vector AVP
                                    mw_e_UTRAN_Vector_dummy                         //     containing RAND AVP
                                                                                    //     containing XRES AVP
                                                                                    //     containing KASME AVP
            ))));
                                (mdw_authentication_Info_UTRAN_Vectors(superset(mw_UTRAN_Vector_itemNumber)),
                                 mdw_authentication_Info_GERAN_Vectors(superset(mw_GERAN_Vector_itemNumber))) // containing a UTRAN-Vector AVP or a GERAN-Vector AVP
            )));
            
            f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                        
@@ -3099,8 +3178,7 @@ module DiameterS6a_HSS_TCFunctions {
                            m_re_synchronization_Info_AVP(
                                PX_ReSYNCHRONISATION_INFO           //     containing a Re-Synchronization-Info AVP
                            )),
                        m_reqUTRANGERANAuthInfo_ImResPre_ReSynInf(  // containing a Requested-EUTRAN-Authentication-Info AVP
                            omit,
                        m_reqUTRANGERANAuthInfo_ReSynInf(           // containing a Requested-EUTRAN-Authentication-Info AVP
                            m_re_synchronization_Info_AVP(
                                PX_ReSYNCHRONISATION_INFO           //     containing a Re-Synchronization-Info AVP
                            )
@@ -3213,8 +3291,8 @@ module DiameterS6a_HSS_TCFunctions {
                            vc_sessionId,                                           // containing a Session-ID AVP
                            mdw_aiaBodyAvps_result_Code_authentication_Info( 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
                                (mdw_authentication_Info_UTRAN_Vector(mw_UTRAN_Vector_itemNumber),
                                 mdw_authentication_Info_GERAN_Vector(mw_GERAN_Vector_itemNumber))
                                (mdw_authentication_Info_UTRAN_Vectors(superset(mw_UTRAN_Vector_itemNumber)),
                                 mdw_authentication_Info_GERAN_Vectors(superset(mw_GERAN_Vector_itemNumber)))
                            )         //     containing item number AVP
            ));
            
+26 −13
Original line number Diff line number Diff line
@@ -512,9 +512,9 @@ module DiameterS6a_Templates {
                    ?,
                    c_vendId3gpp
                ),
                e_UTRAN_Vector  := *,
                uTRAN_Vector    := *,
                gERAN_Vector    := *,
                e_UTRAN_Vector  := omit,
                uTRAN_Vector    := omit,
                gERAN_Vector    := omit,
                aVP_Type        := *
            } // End of template mw_authentication_Info_dummy
            
@@ -1109,8 +1109,8 @@ module DiameterS6a_Templates {
                modifies m_mip_Home_Agent_Host_AVP_dummy := {
                    
                    aVP_Header         := m_aVP_Header_Mbit1 ( c_mIP_Home_Agent_Host_AVP_Code,
                                                               f_getEncvalueLength ( encvalue (p_destinationRealm.aVP_Data))+
                                                               f_getEncvalueLength ( encvalue (p_destinationHost.aVP_Data))),
                                                               f_getEncvalueLength ( encvalue (p_destinationRealm))+
                                                               f_getEncvalueLength ( encvalue (p_destinationHost))),
                    destination_Realm   := p_destinationRealm,
                    destination_Host    := p_destinationHost
                } // End of template m_mip_Home_Agent_Host_AVP
@@ -1340,6 +1340,19 @@ module DiameterS6a_Templates {
                    immediate_Response_Preferred    := p_immediate_Response_Preferred
                } // End of template m_reqUTRANGERANAuthInfo_ImResPre_ReSynInf
                
                /**
                 * @desc Req_UTRAN_GERAN_Auth_Info_AVP
                 * @param p_re_synchronization_Info
                 */
                template (value) Req_UTRAN_GERAN_Auth_Info_AVP m_reqUTRANGERANAuthInfo_ReSynInf(
                    in template Re_synchronization_Info_AVP p_re_synchronization_Info
                ) modifies m_reqUTRANGERANAuthInfo_dummy := {
                    aVP_Header                      := m_aVP_HeaderVid_Mbit1 ( c_requested_UTRAN_GERAN_Authentication_Info_AVP_Code, 
                                                                               f_getEncvalueLength ( encvalue( p_re_synchronization_Info)), 
                                                                               c_vendId3gpp ),
                    re_synchronization_Info              := p_re_synchronization_Info
                } // End of template m_reqUTRANGERANAuthInfo_ReSynInf
                
                /**
                 * @desc Subscriber_Status_AVP
                 * @param p_subscriber_Status_Code
@@ -1717,21 +1730,21 @@ module DiameterS6a_Templates {
                 * @desc Authentication-Info AVP receive message with an expected UTRAN authentication vectors
                 * @param p_gERAN_Vector UTRAN authentication vectors
                 */
                template (present) Authentication_Info_AVP mdw_authentication_Info_UTRAN_Vector(
                    in template (present) UTRAN_Vector_AVP p_uTRAN_Vector
                template (present) Authentication_Info_AVP mdw_authentication_Info_UTRAN_Vectors(
                    in template (present) Authentication_Info_AVP.uTRAN_Vector p_uTRAN_Vector
                ) modifies mw_authentication_Info_dummy := {
                    uTRAN_Vector  := subset(p_uTRAN_Vector)
                } // End of template mdw_authentication_Info_UTRAN_Vector
                    uTRAN_Vector  := p_uTRAN_Vector
                } // End of template mdw_authentication_Info_UTRAN_Vectors
                
                /**
                 * @desc Authentication-Info AVP receive message with an expected GERAN authentication vectors
                 * @param p_gERAN_Vector GERAN authentication vectors
                 */
                template (present) Authentication_Info_AVP mdw_authentication_Info_GERAN_Vector(
                    in template (present) GERAN_Vector_AVP p_gERAN_Vector
                template (present) Authentication_Info_AVP mdw_authentication_Info_GERAN_Vectors(
                    in template (present) Authentication_Info_AVP.gERAN_Vector p_gERAN_Vector
                ) modifies mw_authentication_Info_dummy := {
                    gERAN_Vector  := subset(p_gERAN_Vector)
                } // End of template mdw_authentication_Info_GERAN_Vector
                    gERAN_Vector  := p_gERAN_Vector
                } // End of template mdw_authentication_Info_GERAN_Vectors
                
                /**
                 * @desc Authentication-Info AVP receive message with an expected authentication vectors fields
+8 −2
Original line number Diff line number Diff line
@@ -98,14 +98,20 @@ module DiameterS6a_TestConfiguration {
         * @param v_diameterS6a_mme Component instance for HSS IUT role
         */
        function f_cf_2S6aUp_HSS (
                                  out DiameterComponent v_diameterS6a_mme
                                  out DiameterComponent v_diameterS6a_mme//,
                                  //out DiameterComponent v_diameterS6a_mme2
        ) runs on DiameterS6a system TestAdapter {
            //     Create
            v_diameterS6a_mme := DiameterComponent.create;
            //v_diameterS6a_mme2 := DiameterComponent.create;
            // Map port
            map( v_diameterS6a_mme:DIAMP, system:MME_S6a );
            //map( v_diameterS6a_mme2:DIAMP, system:MME_S6a2 );  
            // Connect mtc sync port
            connect(self:syncPort, self:syncPort);
            // Connect client sync port
            connect(v_diameterS6a_mme:syncPort, self:syncPort) ;
            //connect(v_diameterS6a_mme2:syncPort, self:syncPort) ;
            
            // Activate sync default for MTC
            activate(a_mtc_shutdown());
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ module DiameterS6a_TestSystem {
                 */
                type component TestAdapter { 
                    /** TTCN-3 port for HSS IUT role */
                    port DiameterPort MME_S6a; 
                    port DiameterPort MME_S6a, MME_S6a2; 
                    /** TTCN-3 port for MME IUT role */
                    port DiameterPort HSS_S6a; 
                    // TODO Add NAS-Protocol port to trigger NAS messages for MM