Commit da9c3b07 authored by garciay's avatar garciay
Browse files

Add Server_Name_AVP into MAA typing

Rename SIP_Auth_Schm_Type.GIGA_E into SIP_Auth_Schm_Type.GIBA_E
parent a1d9fb44
Loading
Loading
Loading
Loading
+98 −1
Original line number Diff line number Diff line
@@ -4080,6 +4080,9 @@ module DiameterCxDx_Cx_TCFunctions {
                                    -,
                                    m_sIP_Authorization_digest_aka(     // containing SIP-Authenticate AVP 
                                                                        //     indicating the tokens RAND + AUTS
                                        // TODO Questions are raised to the standardisation team because of
                                        //      SIP-Authenticate_AVP and SIP_Authorization_AVP typing is not inline between 
                                        //      RFC4740 and ETSI TS 129 229 Clauses 6.3.10 & 6.3.11
                                        m_digestUsername(PIXIT_DIGEST_USERNAME),
                                        m_digestRealm(PIXIT_DIGEST_REALM),
                                        m_digestNonce(PIXIT_DIGEST_NONCE),
@@ -4613,6 +4616,9 @@ module DiameterCxDx_Cx_TCFunctions {
                                    -,
                                    m_sIP_Authorization_digest_aka(     // containing SIP-Authenticate AVP 
                                                                        //     indicating the tokens RAND + AUTS
                                        // TODO Questions are raised to the standardisation team because of
                                        //      SIP-Authenticate_AVP and SIP_Authorization_AVP typing is not inline between 
                                        //      RFC4740 and ETSI TS 129 229 Clauses 6.3.10 & 6.3.11
                                        m_digestUsername(PIXIT_DIGEST_USERNAME),
                                        m_digestRealm(PIXIT_DIGEST_REALM),
                                        m_digestNonce(PIXIT_DIGEST_NONCE),
@@ -4679,6 +4685,9 @@ module DiameterCxDx_Cx_TCFunctions {
                                    -,
                                    m_sIP_Authorization_digest_aka(     // containing SIP-Authenticate AVP 
                                                                        //     indicating the tokens RAND + AUTS
                                        // TODO Questions are raised to the standardisation team because of
                                        //      SIP-Authenticate_AVP and SIP_Authorization_AVP typing is not inline between 
                                        //      RFC4740 and ETSI TS 129 229 Clauses 6.3.10 & 6.3.11
                                        m_digestUsername(PIXIT_DIGEST_USERNAME),
                                        m_digestRealm(PIXIT_DIGEST_REALM),
                                        m_digestNonce(PIXIT_DIGEST_NONCE),
@@ -4712,7 +4721,95 @@ module DiameterCxDx_Cx_TCFunctions {
            } // group TP_HSSRole_MA
            
            group TP_HSSRole_EH {//Cx EH
                
                /*
                 * @desc    Verify that the IUT in case of registration error cases return appropriate response
                 */
                function f_TC_CX_HSS_EH_01_I_S() runs on DiameterCx {
                    
                    // Local variables
                    
                    // Preamble
                    // Clause 'Initial conditions'
                    f_registratonCx(); 
                    f_preamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
                    // Clause 'when': the IUT receives a MA-Request
                    f_send_MAR(
                        m_MAR_Msg(
                            vc_sessionId,
                            m_MAR_withServerName(
                                vc_originHost,
                                vc_originRealm,
                                vc_destinationRealm,
                                vc_userName,
                                vc_publicIdentity,
                                m_sIPNumberAuthItems(1),                // containing a SIP-Number-Auth-Items AVP
                                                                        //     indicating the number of authentication vectors requested
                                DiameterCxDx_Templates.m_sIPAuthDataItem(// containing a SIP-Auth-Data-Item AVP
                                    m_sIPAuthenticationScheme_digest,   //     containing a SIP-Authentication-Scheme AVP
                                                                        //         indicating “Digest-AKAv1-MD5”
                                    m_sIPItemNumber(
                                        PIXIT_SIP_ITEM_NUMBER
                                    ),
                                    -,
                                    -,
                                    omit                                // not containing SIP-Authentication-Context
                                ),
                                vc_serverName                           // containing a Server-Name AVP
                                                                        //     indicating S-CSCF name
                    )));
                    
                    // Clause 'then': the IUT sends a MA-Answer
                    f_awaiting_MAA( 
                        mw_MAA_Msg(
                            vc_sessionId,
                            mw_MAA_ResulExpreUsrnaSipauthSrvna(
                                mw_resultCode(                              // containing a Result-Code AVP
                                    DIAMETER_SUCCESS_E                      //     indicating DIAMETER_SUCCESS
                                ),
                                omit,                                       // not containing an Experimental-Result AVP
                                vc_userName,
                                mw_sIPNumberAuthItems,                      // containing a SIP-Number-Auth-Items AVP
                                                                            //     indicating the number of vectors delivered
                                {
                                    DiameterCxDx_Templates.mw_sIPAuthDataItem(
                                                                            // containing a SIP-Auth-Data-Item AVP
                                        m_sIPAuthenticationScheme_digest_aka,//     containing a SIP-Authentication-Scheme AVP
                                                                            //         indicating “Digest-AKAv1-MD5”
                                        mw_sIPAuthenticate_digest_aka,      // containing SIP-Authenticate AVP
                                                                            //     indicating the tokens AUTS
                                        m_sIP_Authorization_digest_aka(     // containing SIP-Authotization AVP
                                                                            //     indicating the expected response XRES
	                                        // TODO Questions are raised to the standardisation team because of
	                                        //      SIP-Authenticate_AVP and SIP_Authorization_AVP typing is not inline between 
	                                        //      RFC4740 and ETSI TS 129 229 Clauses 6.3.10 & 6.3.11
                                            m_digestUsername(PIXIT_DIGEST_USERNAME),
                                            m_digestRealm(PIXIT_DIGEST_REALM),//     
                                            m_digestNonce(PIXIT_DIGEST_NONCE),
                                            m_digestUri(PIXIT_URI),
                                            m_digestResponse(PIXIT_DIGEST_RESPONSE)
                                        ),
                                        -,
                                        mw_integrityKey_dummy               // containing Integrity-Key AVP
                                                                            //     indicating the integrity key
                                    )
                                },
	                            vc_serverName                               // containing a Server-Name AVP
	                                                                        //     indicating S-CSCF name
                    )));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
                    f_deRegistratonCx();
                    f_postamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                } // End of function f_TC_CX_HSS_EH_01_I_S
                
            } // group TP_HSSRole_EH
            
        } // group TP_HSSRole    
        
        group TP_CSCFRole{ // §5.2.1.2
+22 −6
Original line number Diff line number Diff line
@@ -380,16 +380,18 @@ module DiameterCxDx_Templates {
                
                template LibDiameter_Types_CxDx_AVPs.SIP_Auth_Data_Item_AVP mw_sIPAuthDataItem(
                                                                                               in template (present) SIP_Authentication_Scheme_AVP  p_sIP_Authentication_Scheme := ?,
                                                                                               in template SIP_Authenticate_AVP                     p_sIP_Authenticate := omit,
                                                                                               in template SIP_Authorization_AVP                    p_sIP_Authorization := omit,
                                                                                               in template SIP_Authentication_Context_AVP           p_sIP_Authentication_Context := omit,
                                                                                               in template Line_Identifier_AVP                      p_line_Identifier := omit,
                                                                                               in template Framed_IP_Address_AVP                    p_framed_IP_Address := omit
                                                                                               in template SIP_Authenticate_AVP                     p_sIP_Authenticate := *,
                                                                                               in template SIP_Authorization_AVP                    p_sIP_Authorization := *,
                                                                                               in template SIP_Authentication_Context_AVP           p_sIP_Authentication_Context := *,
                                                                                               in template Integrity_Key_AVP                        p_integrity_Key := *,
                                                                                               in template Line_Identifier_AVP                      p_line_Identifier := *,
                                                                                               in template Framed_IP_Address_AVP                    p_framed_IP_Address := *
                ) modifies mw_sIPAuthDataItem_dummy := {
                    sIP_Authentication_Scheme   := p_sIP_Authentication_Scheme,
                    sIP_Authenticate            := p_sIP_Authenticate,
                    sIP_Authorization           := p_sIP_Authorization,
                    sIP_Authentication_Context  := p_sIP_Authentication_Context,
                    integrity_Key               := p_integrity_Key,
                    line_Identifier             := p_line_Identifier,
                    framed_IP_Address           := p_framed_IP_Address
                }
@@ -425,9 +427,10 @@ module DiameterCxDx_Templates {
                    aVP_Data := ?
                }
            }//end group awaitingTemplatesForAVPs
            
        } //end group SpecificAVPHeaders
    } //end group HeaderFieldTemplates
        
    } //end group HeaderFieldTemplates
    
    group CxDx_message_templates {
        group CxDx_message_templates_send {
@@ -1632,6 +1635,19 @@ module DiameterCxDx_Templates {
                    sIP_Auth_Data_Item      := p_sIP_Auth_Data_Item
                }
                
                template MAA_Body_AVP mw_MAA_ResulExpreUsrnaSipauthSrvna (template Result_Code_AVP p_resultCode, 
                                                                          template Experimental_Result_AVP p_experimentalResult,
                                                                          template (present) User_Name_AVP p_user_Name := ?,
                                                                          template (present) SIP_Number_Auth_Items_AVP p_sIP_Number_Auth_Items := ?,
                                                                          template (present) MAA_Body_AVP.sIP_Auth_Data_Item p_sIP_Auth_Data_Item := ?,
                                                                          template (present) Server_Name_AVP p_server_Name := ?
                ) modifies mw_MAA_ResulExpre := {
                    user_Name               := p_user_Name,
                    sIP_Number_Auth_Items   := p_sIP_Number_Auth_Items,
                    sIP_Auth_Data_Item      := p_sIP_Auth_Data_Item,
                    server_Name             := p_server_Name
                }
                
            } // end group CxModified_answer_templates_receive
            
        } //end group CxModified_templates
+88 −17
Original line number Diff line number Diff line
@@ -4097,7 +4097,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_01
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_01
                 */
                testcase TC_CX_HSS_MA_01() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4160,7 +4160,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_02
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_02
                 */
                testcase TC_CX_HSS_MA_02() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4224,7 +4224,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_03
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_03
                 */
                testcase TC_CX_HSS_MA_03() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4288,7 +4288,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_04
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_04
                 */
                testcase TC_CX_HSS_MA_04() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4344,7 +4344,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_05
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_05
                 */
                testcase TC_CX_HSS_MA_05() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4397,7 +4397,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_06
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_06
                 */
                testcase TC_CX_HSS_MA_06() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4450,7 +4450,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_07
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_07
                 */
                testcase TC_CX_HSS_MA_07() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4504,7 +4504,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_08
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_08
                 */
                testcase TC_CX_HSS_MA_08() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4558,7 +4558,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_09
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_09
                 */
                testcase TC_CX_HSS_MA_09() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4609,7 +4609,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_10
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_10
                 */
                testcase TC_CX_HSS_MA_10() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4668,7 +4668,7 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_11
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_11
                 */
                testcase TC_CX_HSS_MA_11() runs on DiameterCx system TestAdapter {
                    // Local variables
@@ -4695,7 +4695,7 @@ module DiameterCxDx_TestCases
                /**
                 * @desc    Verify that the IUT can check synchronization failure
                 * <pre>
                 * Pics Selection: PICS_HSS_IUT
                 * Pics Selection: PICS_HSS_IUT and PICS_DIGEST_AKAv1_MD5_AUTH_PROCS
                 * Initial conditions: 
                 *     with {
                 *         Private and Public User Identity exists in IUT
@@ -4727,15 +4727,15 @@ module DiameterCxDx_TestCases
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MS_12
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_MA_12
                 */
                testcase TC_CX_HSS_MA_12() runs on DiameterCx system TestAdapter {
                    // Local variables
                    var DiameterCx v_diameterComponent_hss;
                    
                    // Test control
                    if (not PICS_HSS_IUT) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT' required for executing the TC. ***"); 
                    if (not PICS_HSS_IUT or not PICS_DIGEST_AKAv1_MD5_AUTH_PROCS) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT and PICS_DIGEST_AKAv1_MD5_AUTH_PROCS' required for executing the TC. ***"); 
                        stop;
                    }
                    
@@ -4752,8 +4752,79 @@ module DiameterCxDx_TestCases
                } // End of TC_CX_HSS_MA_12
                
            } // group TP_HSSRole_MA
            
            group TP_HSSRole_EH {//Cx EH
            
                /**
                 * @desc    Verify that the IUT in case of registration error cases return appropriate response
                 * <pre>
                 * Pics Selection: PICS_HSS_IUT and PICS_DIGEST_AKAv1_MD5_AUTH_PROCS
                 * Initial conditions: 
                 *     with {
                 *        The user profile indicates an attached S-CSCF name
                 *     }
                 * Expected behaviour:
                 *     ensure that {
                 *        when {
                 *            the IUT receives a MA-Request
                 *                containing a Server-Name AVP
                 *                   indicating an S-CSCF name different than the previous one
                 *               containing a SIP-Number-Auth-Items AVP
                 *                   indicating the number of authentication vectors requested
                 *               containing a SIP-Auth-Data-Item AVP
                 *                   containing a SIP-Athentication-Scheme
                 *                       indicating “Digest-AKAv1-MD5”
                 *                   not containing SIP-Authentication-Context AVP
                 *        }
                 *        then {
                 *            the IUT sends a MA-Answer 
                 *                containing a Server-Name AVP
                 *                   indicating the new S-CSCF name
                 *               containing a SIP-Number-Auth-Items AVP
                 *                   indicating a set of authentication vectors
                 *               containing a SIP-Auth-Data-Item AVP
                 *                   containing SIP-Authentication-Scheme AVP
                 *                       indicating “Digest-AKAv1-MD5”
                 *                   containing SIP-Authenticate AVP
                 *                       containing AUTS parameter
                 *                   containing SIP-Authotization AVP
                 *                       indicating the expected response XRES
                 *                   containing Integrity-Key AVP
                 *                       indicating the integrity key
                 *               containing a Result-Code AVP
                 *                   indicating DIAMETER_SUCCESS
                 *               not containing an Experimental-Result AVP
                 *        }
                 *     }
                 * </pre>
                 * 
                 * @version    0.0.8
                 * @see        ETSI DTS/INT-00103-2 V0.0.8 (2014-11) TP_CX_HSS_EH_01
                 */
                testcase TC_CX_HSS_EH_01() runs on DiameterCx system TestAdapter {
                    // Local variables
                    var DiameterCx v_diameterComponent_hss;
                    
                    // Test control
                    if (not PICS_HSS_IUT or not PICS_DIGEST_AKAv1_MD5_AUTH_PROCS) {
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_HSS_IUT and PICS_DIGEST_AKAv1_MD5_AUTH_PROCS' required for executing the TC. ***"); 
                        stop;
                    }
                    
                    // Test component configuration
                    f_cf_1CxUp_HSS(v_diameterComponent_hss);
                    
                    // Start
                    v_diameterComponent_hss.start(f_TC_CX_HSS_EH_01_I_S());
                    
                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClients(1, {c_prDone, c_tbDone, c_poDone});
                    
                    f_cf_1CxDown_HSS(v_diameterComponent_hss);
                } // End of TC_CX_HSS_EH_01
                
            } // group TP_HSSRole_EH
            
        } // group TP_HSSRole 
        
        group TP_CSCFRole{ // §5.2.1.2