Commit 082a3036 authored by pintar's avatar pintar
Browse files

Tests updated with SIP for RO_CTF_CH, RO_CTF_RE, RO_CTF_FH group.

parent 717dd4a5
Loading
Loading
Loading
Loading
+243 −0
Original line number Diff line number Diff line
@@ -1685,6 +1685,249 @@ module DiameterRfRo_SIP_TCFunctions {
            } // End of group TP_RO_CTF_RE
            // 5.2.3.2.7 Failure Handling 
            group TP_RO_CTF_FH {
                

                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_FH_UE_01
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE1
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_FH_UE_01(in CSeq p_cSeq_s) runs on ImsComponent {
                    
                    var REGISTER_Request v_register;
                
                    v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact,vc_authorization));
                    
                    // Request-Uri refers to home network (SUT)
                    // UE1 registers its public sip-url in home network (SUT)
                    // UE contact is in home network (SUT)
                    // UE authorizaton data is in home network (SUT)
                    f_IMS_preamble_withRegistration(p_cSeq_s,v_register); // LibSip //c_userProfile_UE1atSUThome, c_interfaceProfile_IMS_SUT_PCSCF1,
                    
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    // Testbody
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());
            
                    //     MESSAGE UE1@IMS1
                    LibIms_Steps.f_setHeadersMESSAGE(p_cSeq_s, vc_requestUri);//c_userProfile_UE2atSUThome
                    f_SendMESSAGE(m_MESSAGE_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
            
                    f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));
            
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                        
                    //POSTAMBLE:  dereg
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_RemoveRegistration(vc_cSeq); // de-register in SUT
                    f_SIP_postamble_UE_withoutRegistration();
                            
                } // end function f_TC_RO_CTF_FH_UE_01
            
            
                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_FH_UE2_01
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE2
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_FH_UE2_01(in CSeq p_cSeq_s) runs on ImsComponent {
                    
                    var REGISTER_Request v_register;
                
                    v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization));
                    
                    // Request-Uri refers to home network (SUT)
                    // UE1 registers its public sip-url in home network (SUT)
                    // UE contact is in home network (SUT)
                    // UE authorizaton data is in home network (SUT)
                    f_IMS_preamble_withRegistration(p_cSeq_s, v_register); // LibSip //c_userProfile_UE2atSUThome, c_interfaceProfile_IMS_SUT_PCSCF2, 
                    
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());

                    // Testbody
                    f_awaitingMESSAGE_sendReply();
                
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    //POSTAMBLE:  dereg
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_RemoveRegistration(vc_cSeq); // de-register in SUT
                    f_SIP_postamble_UE_withoutRegistration();
                            
                } // end function f_TC_RO_CTF_FH_UE2_01	

                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_FH_AS_01
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_AS1
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_FH_AS_01(in CSeq p_cSeq_s) runs on ImsComponent {
                	
                    var PChargingVector v_pCharging;

                    // IMS1UE1 contact is in home network (TS)
                    f_IMS_preamble_AS( p_cSeq_s); // configuration of local user IMS1UE1 //c_userProfile_AS1, c_interfaceProfile_IMS_SUT_SCSCF,

                    //Registration of first user sent to AS
                    f_awaitingREGISTER_sendReply(mw_REGISTER_Request_Base, true);

                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());

                    f_awaitingMESSAGE(mw_MESSAGE_Request_Base);
                    
                    if(vc_request.requestLine.method == MESSAGE_E){
                            v_pCharging := vc_request.msgHeader.pChargingVector;
                            f_setHeadersForwardRequestFromAS(vc_cSeq, true);
                            f_SendMESSAGE(m_MESSAGE_Request_PCharging_IMS(vc_requestUri2, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, omit, vc_route, omit, v_pCharging));

                            // check 200
                            f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); 
                        
                        f_setHeadersForwardResponseFromAS();
                        f_sendResponse(m_Response_2xxonMESSAGE_PCharging_IMS(c_statusLine200,
                                                                 vc_callId, vc_cSeq,
                                                                 vc_caller_From,
                                                                 vc_caller_To, vc_via, v_pCharging));
                    }

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

                    // POSTAMBLE: deregistration for UE1 on AS
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_IMS_postamble_AS_withDeRegistration(true);

                } // end function f_TC_RO_CTF_FH_AS_01

                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_FH_UE_02
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE1
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_FH_UE_02(in CSeq p_cSeq_s) runs on ImsComponent {
                    
                    var REGISTER_Request v_register;
                
                    v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact,vc_authorization));
                    
                    // Request-Uri refers to home network (SUT)
                    // UE1 registers its public sip-url in home network (SUT)
                    // UE contact is in home network (SUT)
                    // UE authorizaton data is in home network (SUT)
                    f_IMS_preamble_withRegistration(p_cSeq_s,v_register); // LibSip //c_userProfile_UE1atSUThome, c_interfaceProfile_IMS_SUT_PCSCF1,
                    
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                    // Testbody
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());
            
                    //     MESSAGE UE1@IMS1
                    LibIms_Steps.f_setHeadersMESSAGE(p_cSeq_s, vc_requestUri);//c_userProfile_UE2atSUThome
                    f_SendMESSAGE(m_MESSAGE_Request_Base(vc_requestUri, vc_callId, vc_cSeq, vc_from, vc_to, vc_via));
            
                    f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq));
            
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                        
                    //POSTAMBLE:  dereg
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_RemoveRegistration(vc_cSeq); // de-register in SUT
                    f_SIP_postamble_UE_withoutRegistration();
                            
                } // end function f_TC_RO_CTF_FH_UE_02
            
            
                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_FH_UE2_02
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_UE2
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_FH_UE2_02(in CSeq p_cSeq_s) runs on ImsComponent {
                    
                    var REGISTER_Request v_register;
                
                    v_register := valueof(m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization));
                    
                    // Request-Uri refers to home network (SUT)
                    // UE1 registers its public sip-url in home network (SUT)
                    // UE contact is in home network (SUT)
                    // UE authorizaton data is in home network (SUT)
                    f_IMS_preamble_withRegistration(p_cSeq_s, v_register); // LibSip //c_userProfile_UE2atSUThome, c_interfaceProfile_IMS_SUT_PCSCF2, 
                    
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());

                    // Testbody
                    f_awaitingMESSAGE_sendReply();
                
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                    
                    //POSTAMBLE:  dereg
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_RemoveRegistration(vc_cSeq); // de-register in SUT
                    f_SIP_postamble_UE_withoutRegistration();
                            
                } // end function f_TC_RO_CTF_FH_UE2_02	

                /** 
                *  @desc    This is the test case function (SIP originating side - UE1) for f_TC_RO_CTF_FH_AS_02
                *           Test function is adopted and comes from TS 102 790 - f_TC_IMST2_ISC_GEN_01_AS1
                *  @param    p_cSeq_s 
                */
                function f_TC_RO_CTF_FH_AS_02(in CSeq p_cSeq_s) runs on ImsComponent {
                	
                    var PChargingVector v_pCharging;

                    // IMS1UE1 contact is in home network (TS)
                    f_IMS_preamble_AS( p_cSeq_s); // configuration of local user IMS1UE1 //c_userProfile_AS1, c_interfaceProfile_IMS_SUT_SCSCF,

                    //Registration of first user sent to AS
                    f_awaitingREGISTER_sendReply(mw_REGISTER_Request_Base, true);

                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync1, f_getVerdict());
            
                    f_selfOrClientSyncAndVerdict(c_sync2, f_getVerdict());

                    f_awaitingMESSAGE(mw_MESSAGE_Request_Base);
                    
                    if(vc_request.requestLine.method == MESSAGE_E){
                            v_pCharging := vc_request.msgHeader.pChargingVector;
                            f_setHeadersForwardRequestFromAS(vc_cSeq, true);
                            f_SendMESSAGE(m_MESSAGE_Request_PCharging_IMS(vc_requestUri2, vc_callId, vc_cSeq, vc_from, vc_to, vc_via, omit, vc_route, omit, v_pCharging));

                            // check 200
                            f_awaitingResponse(mw_Response_Base(c_statusLine200, vc_callId, vc_cSeq)); 
                        
                        f_setHeadersForwardResponseFromAS();
                        f_sendResponse(m_Response_2xxonMESSAGE_PCharging_IMS(c_statusLine200,
                                                                 vc_callId, vc_cSeq,
                                                                 vc_caller_From,
                                                                 vc_caller_To, vc_via, v_pCharging));
                    }

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());

                    // POSTAMBLE: deregistration for UE1 on AS
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    f_IMS_postamble_AS_withDeRegistration(true);

                } // end function f_TC_RO_CTF_FH_AS_02
            } // End of group TP_RO_CTF_FH
            // 5.2.3.2.8 Failover 
            group TP_RO_CTF_FA {
+114 −69

File changed.

Preview size limit exceeded, changes collapsed.

+2 −1
Original line number Diff line number Diff line
@@ -6127,7 +6127,8 @@ module DiameterRfRo_Templates {
                                                                                                                  template Multiple_Services_Credit_Control_AVP.used_Service_Unit    p_used_Service_Unit
            ) modifies mw_multiple_Services_Credit_Control_dummy := {
                requested_Service_Unit  := p_requested_Service_Unit,
                used_Service_Unit       := p_used_Service_Unit
                used_Service_Unit       := p_used_Service_Unit,
                tariff_Change_Usage     := omit
            } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_UsedServ_NoTariff
            
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_Final_Unit_Indication_AVP(
+36 −106

File changed.

Preview size limit exceeded, changes collapsed.