Commit 0bb0a2a5 authored by garciay's avatar garciay
Browse files

Review SA 07..09

Start Dx validation
parent 01df23ad
Loading
Loading
Loading
Loading
+35 −20
Original line number Diff line number Diff line
@@ -1906,6 +1906,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_UserName,
                                        PX_PublicIdentity
                    );
                    f_hssSecondRegistratonCx(vc_sessionId); // Initiate a Re-registration procedure
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
@@ -1969,6 +1970,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_UserName,
                                        PX_PublicIdentity
                    );
                    f_hssSecondRegistratonCx(vc_sessionId); // Initiate a Re-registration procedure
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
@@ -2028,6 +2030,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_UserName,
                                        PX_PublicIdentity
                    );
                    f_hssSecondRegistratonCx(vc_sessionId); // Initiate a Re-registration procedure
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
@@ -3852,6 +3855,7 @@ module DiameterCxDx_Cx_TCFunctions {
                function f_TC_CX_HSS_PP_01_I_S() runs on DiameterCx {
                    
                    // Local variables
                    var Session_Id_AVP v_sessionId;
                    
                    // Preamble
                    // Clause 'Initial conditions'
@@ -3860,6 +3864,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_UserName,
                                        PX_PublicIdentity
                    );
                    v_sessionId := valueof(vc_sessionId);
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
@@ -3892,6 +3897,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    vc_sessionId := v_sessionId;
                    f_hssDeregistrationCx(vc_sessionId);
                    f_postamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
@@ -3904,6 +3910,7 @@ module DiameterCxDx_Cx_TCFunctions {
                function f_TC_CX_HSS_PP_02_I_S() runs on DiameterCx {
                    
                    // Local variables
                    var Session_Id_AVP v_sessionId;
                    
                    // Preamble
                    // Clause 'Initial conditions'
@@ -3913,6 +3920,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_PublicIdentity,
                                        m_uar_Flags_Cx
                    );
                    v_sessionId := valueof(vc_sessionId);
                    f_hssRegistrationCx(vc_sessionId2,          // A user with several private user identities is properly registered
                                        PX_OtherUserName,
                                        PX_PublicIdentity,
@@ -3951,6 +3959,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    f_hssDeregistrationCx(vc_sessionId2);
                    vc_sessionId := v_sessionId;
                    vc_userName := m_userName(PX_OtherUserName);
                    f_hssDeregistrationCx(vc_sessionId);
                    f_postamble_HSS();
@@ -3964,6 +3973,7 @@ module DiameterCxDx_Cx_TCFunctions {
                function f_TC_CX_HSS_PP_03_I_S() runs on DiameterCx {
                    
                    // Local variables
                    var Session_Id_AVP v_sessionId;
                    
                    // Preamble
                    // Clause 'Initial conditions'
@@ -3973,6 +3983,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_PublicIdentity,
                                        m_uar_Flags_Cx
                    );
                    v_sessionId := valueof(vc_sessionId);
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
@@ -4002,6 +4013,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    vc_sessionId := v_sessionId;
                    f_hssDeregistrationCx(vc_sessionId);
                    f_postamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
@@ -4014,6 +4026,7 @@ module DiameterCxDx_Cx_TCFunctions {
                function f_TC_CX_HSS_PP_04_I_S() runs on DiameterCx {
                    
                    // Local variables
                    var Session_Id_AVP v_sessionId;
                    
                    // Preamble
                    // Clause 'Initial conditions'
@@ -4023,6 +4036,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_PublicIdentity,
                                        m_uar_Flags_Cx
                    );
                    v_sessionId := valueof(vc_sessionId);
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
@@ -4046,15 +4060,16 @@ module DiameterCxDx_Cx_TCFunctions {
                                    mw_primary_event_charging_function_name(
                                        PX_DiameterUri
                    )))));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
                    f_send_PPA(m_PPA_Msg(vc_sessionId,
                                         m_PPA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
                    vc_sessionId := v_sessionId;
                    f_hssDeregistrationCx(vc_sessionId);
                    f_postamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
@@ -4067,6 +4082,7 @@ module DiameterCxDx_Cx_TCFunctions {
                function f_TC_CX_HSS_PP_05_I_S() runs on DiameterCx {
                    
                    // Local variables
                    var Session_Id_AVP v_sessionId;
                    
                    // Preamble
                    // Clause 'Initial conditions'
@@ -4076,6 +4092,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_PublicIdentity,
                                        m_uar_Flags_Cx
                    );
                    v_sessionId := valueof(vc_sessionId);
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
@@ -4098,16 +4115,16 @@ module DiameterCxDx_Cx_TCFunctions {
                                omit,
                                mw_sIPAuthDataItem_dummy        // containing a SIP-Auth-Data-Item AVP
                    )));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
                    f_send_PPA(m_PPA_Msg(vc_sessionId,
                                         m_PPA_basic(vc_originHost,
                                                     vc_originRealm,
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    // Postamble
                    vc_sessionId := v_sessionId;
                    f_hssDeregistrationCx(vc_sessionId);
                    f_postamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
@@ -4120,7 +4137,7 @@ module DiameterCxDx_Cx_TCFunctions {
                function f_TC_CX_HSS_PP_06_I_S() runs on DiameterCx {
                    
                    // Local variables
                    var Session_Id_AVP vc_orgSessionId;
                    var Session_Id_AVP v_sessionId;
                    
                    // Preamble
                    // Clause 'Initial conditions'
@@ -4130,7 +4147,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_PublicIdentity,
                                        m_uar_Flags_Cx
                    );
                    vc_orgSessionId := valueof(vc_sessionId);
                    v_sessionId := valueof(vc_sessionId);
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
                    // Test Body
@@ -4183,7 +4200,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                                     m_resultCode
                                                     (DIAMETER_SUCCESS_E),
                                                     omit)));
                    vc_sessionId := vc_orgSessionId;
                    vc_sessionId := v_sessionId;
                    f_hssRegistrationCx(vc_sessionId);
                    f_postamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
@@ -4196,6 +4213,7 @@ module DiameterCxDx_Cx_TCFunctions {
                function f_TC_CX_HSS_PP_07_I_S() runs on DiameterCx {
                    
                    // Local variables
                    var Session_Id_AVP v_sessionId;
                    
                    // Preamble
                    // Clause 'Initial conditions'
@@ -4205,6 +4223,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                        PX_PublicIdentity,
                                        m_uar_Flags_Cx
                    );
                    v_sessionId := valueof(vc_sessionId);
                    f_hssRegistrationCx(vc_sessionId2,                           // A user with several private user identities is properly registered
                                        PX_OtherUserName,
                                        PX_PublicIdentity,
@@ -4262,6 +4281,7 @@ module DiameterCxDx_Cx_TCFunctions {
                                                     omit)));
                    vc_userName := m_userName(PX_OtherUserName);
                    f_hssDeregistrationCx(vc_sessionId2);
                    vc_sessionId := v_sessionId;
                    f_hssDeregistrationCx(vc_sessionId);
                    f_postamble_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
@@ -5138,11 +5158,6 @@ module DiameterCxDx_Cx_TCFunctions {
                    // Preamble
                    // Clause 'Initial conditions'
                    f_preamble_ICSCF();
//                    f_hssRegistrationCx(vc_sessionId2,
//                                        PX_UserName,
//                                        PX_OtherPublicIdentity,
//                                        m_uar_Flags_Cx
//                    );
                    f_hssInitialRegistrationCx(vc_sessionId,PX_UserName, PX_PublicIdentity, m_uar_Flags_Cx);   // With DIAMETER_FIRST_REGISTRATION
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    
+5 −5
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ module DiameterCxDx_Dx_TCFunctions {
                                )
                ));

                f_awaiting_UAA( mw_UAA_Msg( ?, mw_UAA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) )));
                f_awaiting_UAA( mw_UAA_Msg( ?, mw_UAA_Dx(mw_redirectHost, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) )));
    
                f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done

@@ -100,7 +100,7 @@ module DiameterCxDx_Dx_TCFunctions {
                                )
                ));

                f_awaiting_SAA( mw_SAA_Msg( ?, mw_SAA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) )));
                f_awaiting_SAA( mw_SAA_Msg(?, mw_SAA_Dx(mw_redirectHost, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) )));
    
                f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done

@@ -132,7 +132,7 @@ module DiameterCxDx_Dx_TCFunctions {
                                )
                ));

                f_awaiting_LIA( mw_LIA_Msg( ?, mw_LIA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ) ) );
                f_awaiting_LIA( mw_LIA_Msg( ?, mw_LIA_Dx(mw_redirectHost, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ) ) );
    
                f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done

@@ -164,13 +164,13 @@ module DiameterCxDx_Dx_TCFunctions {
                                    vc_publicIdentity,
                                    m_sIPNumberAuthItems(1),
                                    m_sIPAuthDataItem_authScheme(// containing a SIP-Auth-Data-Item AVP
                                        m_sIPAuthenticationScheme("DIGEST")   //         indicating “Digest-AKAv1-MD5”
                                        m_sIPAuthenticationScheme("Digest-AKAv1-MD5")   //         indicating “Digest-AKAv1-MD5”
                                    ),
                                    vc_serverName
                                )
                ));

                f_awaiting_MAA( mw_MAA_Msg( ?, mw_MAA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ) ) );
                f_awaiting_MAA( mw_MAA_Msg( ?, mw_MAA_Dx(mw_redirectHost, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ) ) );
    
                f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done

+9 −9
Original line number Diff line number Diff line
@@ -271,20 +271,20 @@ module DiameterCxDx_PIXITS
        
        /** @desc   UTF8String, PIXIT item A.7/33
         *          the service-Identity value.
         * @see 3GPP TS 29.229 6.3.2 Public-Identity AVP
         * @see 3GPP TS 29.229 6.3.2 Service-Identity AVP
         */

        modulepar UTF8String PX_ServiceIdentity := "service_identity@etsi.org";
        
        
        /** @desc   UTF8String, PIXIT item A.7/33
        /** @desc   UTF8String, PIXIT item A.7/34
         *          the wildcard-Identity value.
         * @see 3GPP TS 29.229 6.3.2 Public-Identity AVP
         * @see 3GPP TS 29.229 6.3.2 Wildcard-Identity AVP
         */

        modulepar UTF8String PX_WildcardIdentity := "public_identity!.*!@etsi.org";
        
        /** @desc   UTF8String, PIXIT item A.7/34
        /** @desc   UTF8String, PIXIT item A.7/35
         *          the application server URL.
         * @see 3GPP TS 29.229 6.3.2 Public-Identity AVP
         */
@@ -292,7 +292,7 @@ module DiameterCxDx_PIXITS
        modulepar UTF8String PX_ApplicationServer := "sip://as.etsi.org";
        
        /** 
         * @desc   UTF8String, PIXIT item A.7/35
         * @desc   UTF8String, PIXIT item A.7/36
         *  The Server-Name AVP is of type UTF8String.
         *  This AVP contains a SIP-URL (as defined in IETF RFC 3261 [3] and
         *  IETF RFC 2396 [4]), used to identify a SIP server (e.g. S-CSCF name).
@@ -301,7 +301,7 @@ module DiameterCxDx_PIXITS
        modulepar UTF8String PX_ServerName := "sip://scscf.etsi.org";
        
        /** 
         * @desc   UTF8String, PIXIT item A.7/36
         * @desc   UTF8String, PIXIT item A.7/37
         *  The Server-Name AVP is of type UTF8String.
         *  This AVP contains a SIP-URL (as defined in IETF RFC 3261 [3] and
         *  IETF RFC 2396 [4]), used to identify a SIP server (e.g. S-CSCF name).
@@ -310,14 +310,14 @@ module DiameterCxDx_PIXITS
        modulepar UTF8String PX_OtherServerName := "sip://other_scscf.etsi.org";
        
        /** 
         * @desc   octetstring, PIXIT item A.7/37
         * @desc   octetstring, PIXIT item A.7/38
         * The Visited-Network-Identifier AVP is of type OctetString. 
         * This AVP contains an identifier that helps the home
         * network to identify the visited network (e.g. the visited network domain name).
        */
        modulepar octetstring PX_VisitedNetworkId := '0102030405060708'O;

        /** @desc   DiameterURI, PIXIT item A.7/38
        /** @desc   DiameterURI, PIXIT item A.7/39
         *          the Diameter URI MUST follow the Uniform Resource Identifiers (URI).
         */
        modulepar DiameterURI PX_DiameterUri := {
@@ -328,7 +328,7 @@ module DiameterCxDx_PIXITS
            protocol        := omit
        };
        
        /** @desc   Integer SIP-Item-Number, AVP PIXIT item A.7/39
        /** @desc   Integer SIP-Item-Number, AVP PIXIT item A.7/40
         * @see RFC4740 9.5.2 SIP-Item-Number AVP
         */
        modulepar UInt32 PIXIT_SIP_ITEM_NUMBER := 0;
+2 −0
Original line number Diff line number Diff line
@@ -145,6 +145,7 @@
            vc_SUT_port    := PX_DIAMETER_DX_SUT_SLF_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)
@@ -156,6 +157,7 @@
            vc_destinationRealm := m_destinationRealm(PX_DestinationRealm);

            vc_serverName := m_serverName(PX_ServerName);
            
            vc_publicIdentity := m_publicIdentity(PX_PublicIdentity);

            vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_CX_ETS_ICSCF_IPADDR));
+1 −1
Original line number Diff line number Diff line
@@ -358,7 +358,7 @@ module DiameterCxDx_Templates {
                    aVP_Data := p_avpData
                }
                
                template Redirect_Host_AVP mw_redirectHost(template (present) Diameter_Identity p_avpData
                template Redirect_Host_AVP mw_redirectHost(template (present) Diameter_Identity p_avpData := ?
                ) := {
                    aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_redirect_Host_AVP_Code),
                    aVP_Data := p_avpData