Commit 6fd717a8 authored by pintar's avatar pintar
Browse files

-new templates defined for TC_RF_CTF_MS_01

-AVP V and M flags checked and templates corrected
parent 3071127c
Loading
Loading
Loading
Loading
+49 −2
Original line number Original line Diff line number Diff line
@@ -252,7 +252,54 @@ module DiameterRfRo_TCFunctions {
                 * @verdict pass on success, fail on error or inconc on timeout only 
                 * @verdict pass on success, fail on error or inconc on timeout only 
                 */
                 */
                function f_TC_CTF_MS_01() runs on DiameterRfRo {
                function f_TC_CTF_MS_01() runs on DiameterRfRo {
//TODO
                    // Local variables
                    
                    // Preamble
                    f_preamble_Rf_CDF();
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                    f_awaiting_ACR(
                        mdw_aCR(
                            ?, 
                            mdw_acrBodyAvps(
                                vc_originHost,                 // containing an Origin-Host AVP
                                vc_originRealm,                // containing an Origin-Realm AVP
                                vc_destinationRealm,           // containing a Destination-Realm AVP
                                mw_accounting_Record_Type(      // containing an Accounting-Record-Type AVP
                                    EVENT_RECORD_E
                                ),
                                mw_accounting_Record_Number(    // containing an Accounting-Record-Number AVP
                                    ?                          //     indicating the value ?
                                )
                            )
                        )
                    );

                    f_send_ACA(
                        md_aCA( 
                            vc_sessionId,                       // containing a Session-ID AVP
                            md_acaBodyAvps(
                                m_resultCode(                  // containing a Result-Code AVP
                                    DIAMETER_SUCCESS_E          //     indicating DIAMETER_SUCCESS
                                ),
                                vc_originHost,                  // containing an Origin-Host AVP
                                vc_originRealm,                 // containing an Origin-Realm AVP
                                m_accounting_Record_Type(      // containing an Accounting-Record-Type AVP
                                    EVENT_RECORD_E
                                ),
                                m_accounting_Record_Number(    // containing an Acct-Application-Id AVP
                                    3                           //     indicating the value 3
                                )
                        ))
                    );

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync

                    f_postamble_Rf_CDF();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    
                } // End of function f_TC_CTF_MS_01 
                } // End of function f_TC_CTF_MS_01 
                
                
            }//end of group TP_RF_CTF_MS_Role
            }//end of group TP_RF_CTF_MS_Role
+109 −24
Original line number Original line Diff line number Diff line
@@ -166,16 +166,6 @@ module DiameterRfRo_Templates {
        
        
        group Rf_request_message_templates_send {
        group Rf_request_message_templates_send {
            
            
            /**
             * @desc Main receive message for CDF_Rf port
             * @param p_aCR_MSG AC-Request message
             */
            template (value) DIAMETER_MSG m_ctfAccountingRequest(
                                                                 in template (value) ACR_MSG p_aCR_MSG
            ) := {
                aCR_MSG := p_aCR_MSG
            } // End of template m_ctfAccountingRequest
            
            /**
            /**
             * @desc Send template for ACR
             * @desc Send template for ACR
             * @param p_sessionId   Session identifier
             * @param p_sessionId   Session identifier
@@ -232,9 +222,82 @@ module DiameterRfRo_Templates {
                    event_Timestamp             := p_event_Timestamp,
                    event_Timestamp             := p_event_Timestamp,
                    service_Information         := p_service_Information
                    service_Information         := p_service_Information
            } // End of template md_acrBodyAvps_TypeOfCharging_Session
            } // End of template md_acrBodyAvps_TypeOfCharging_Session
            
        } // End of group Rf_request_message_templates_send 
        } // End of group Rf_request_message_templates_send 
        
        
        group Rf_request_message_templates_receive {
            
            /**
             * @desc Send template for ACR
             * @param p_sessionId   Session identifier
             * @param p_acrBody     ACR message body
             */
            template (present) ACR_MSG mdw_aCR(
                                            in template (present) Session_Id_AVP  p_sessionId,
                                            in template (present) ACR_Body_AVP    p_acrBody
            ) modifies mw_ACR_dummy := {
                session_Id  := p_sessionId,
                aCR_Body    := p_acrBody
            } // End of template mdw_aCR
            
            /**
             * @desc Receive template for ACR message body
             * @param p_resultCode                  Indicates whether a particular request was completed successfully or an error occurred
             * @param p_originHost                  Identifies the endpoint that originated the Diameter message
             * @param p_originRealm                 Realm of the originator
             * @param p_destinationRealm            Destination realm
             * @param p_accounting_Record_Type      TODO
             * @param p_accounting_Record_Number    TODO
             * @param p_acct_application_id         TODO
             */
            template (present) ACR_Body_AVP mdw_acrBodyAvps(
                                                        in template (present) Origin_Host_AVP              p_originHost,
                                                        in template (present) Origin_Realm_AVP             p_originRealm,
                                                        in template (present) Destination_Realm_AVP        p_destinationRealm,
                                                        in template (present) Accounting_Record_Type_AVP   p_accounting_Record_Type,
                                                        in template (present) Accounting_Record_Number_AVP p_accounting_Record_Number
            ) modifies m_ACR_Body_dummy := {
                    origin_Host                 := p_originHost,
                    origin_Realm                := p_originRealm,
                    destination_Realm           := p_destinationRealm,
                    accounting_Record_Type      := p_accounting_Record_Type,
                    accounting_Record_Number    := p_accounting_Record_Number,
                    acct_Application_Id         := mw_acct_Application_Id(3)
            } // End of template mdw_acrBodyAvps
            
        } // End of group Rf_request_message_templates_receive
        
        group Rf_answer_message_templates_send { 
            
            /**
             * @desc Send template for ACA
             * @param p_sessionId   Session identifier
             * @param p_acaBody     ACA message body
             */
            template (value) ACA_MSG md_aCA(
                                               template (value) Session_Id_AVP  p_sessionId,
                                               template (value) ACA_Body_AVP    p_acaBody
            ) modifies m_ACA_dummy := {
                session_Id  := p_sessionId,
                aCA_Body    := p_acaBody
            } // End of template md_aCA
            
            template (value) ACA_Body_AVP md_acaBodyAvps(
                                                            template (value) Result_Code_AVP              p_resultCode,
                                                            template (value) Origin_Host_AVP              p_originHost,
                                                            template (value) Origin_Realm_AVP             p_originRealm,
                                                            template (value) Accounting_Record_Type_AVP   p_accounting_Record_Type,
                                                            template (value) Accounting_Record_Number_AVP p_accounting_Record_Number
            ) modifies m_ACA_Body_dummy := {
                result_Code                 := p_resultCode,
                origin_Host                 := p_originHost,
                origin_Realm                := p_originRealm,
                accounting_Record_Type      := p_accounting_Record_Type,
                accounting_Record_Number    := p_accounting_Record_Number,
                acct_Application_Id         := m_acct_Application_Id(3)
            } // End of template md_acaBodyAvps 
            
        } // End of group Rf_answer_message_templates_send
        
        group Rf_answer_message_templates_receive { 
        group Rf_answer_message_templates_receive { 
            
            
            template ACA_MSG mw_ACA_MessageFlags modifies mw_ACA_dummy := {
            template ACA_MSG mw_ACA_MessageFlags modifies mw_ACA_dummy := {
@@ -2212,14 +2275,14 @@ module DiameterRfRo_Templates {
            template Accounting_Record_Type_AVP mw_accounting_Record_Type(
            template Accounting_Record_Type_AVP mw_accounting_Record_Type(
                                                                          template (present) Acc_Record_Type p_aVP_Data := ?
                                                                          template (present) Acc_Record_Type p_aVP_Data := ?
            ) := {
            ) := {
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Record_Type_AVP_Code, 4, c_vendId3gpp),
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Record_Type_AVP_Code, 4, omit),
                aVP_Data := p_aVP_Data
                aVP_Data := p_aVP_Data
            } // End of template mw_accounting_Record_Type 
            } // End of template mw_accounting_Record_Type 
            
            
            template Accounting_Record_Number_AVP mw_accounting_Record_Number(
            template Accounting_Record_Number_AVP mw_accounting_Record_Number(
                                                                              template (present) UInt32 p_aVP_Data := 3
                                                                              template (present) UInt32 p_aVP_Data := 3
            ) := {
            ) := {
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Record_Number_AVP_Code, 4, c_vendId3gpp),
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Record_Number_AVP_Code, 4, omit),
                aVP_Data            := p_aVP_Data
                aVP_Data            := p_aVP_Data
            } // End of template mw_accounting_Record__Number
            } // End of template mw_accounting_Record__Number
            
            
@@ -2230,7 +2293,7 @@ module DiameterRfRo_Templates {
            template (present) Accounting_Input_Octets_AVP mw_accounting_Input_Octets_AVP(
            template (present) Accounting_Input_Octets_AVP mw_accounting_Input_Octets_AVP(
                                                                                          template (present) UInt64 p_octetsTransmitted := ?
                                                                                          template (present) UInt64 p_octetsTransmitted := ?
            ) := {
            ) := {
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Input_Octets_AVP_Code, 8, c_vendId3gpp),
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Input_Octets_AVP_Code, 8, omit),
                octetsTransmitted   := p_octetsTransmitted
                octetsTransmitted   := p_octetsTransmitted
            } // End of template mw_accounting_Input_Octets_AVP 
            } // End of template mw_accounting_Input_Octets_AVP 
            
            
@@ -2241,7 +2304,7 @@ module DiameterRfRo_Templates {
            template (present) Accounting_Output_Octets_AVP mw_accounting_Output_Octets_AVP(
            template (present) Accounting_Output_Octets_AVP mw_accounting_Output_Octets_AVP(
                                                                                        template (present) UInt64 p_octetsTransmitted := ?
                                                                                        template (present) UInt64 p_octetsTransmitted := ?
            ) := {
            ) := {
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Output_Octets_AVP_Code, 8, c_vendId3gpp),
                aVP_Header          := m_aVP_HeaderVid_Mbit1(c_accounting_Output_Octets_AVP_Code, 8, omit),
                octetsTransmitted   := p_octetsTransmitted
                octetsTransmitted   := p_octetsTransmitted
            } // End of template mw_accounting_Output_Octets_AVP 
            } // End of template mw_accounting_Output_Octets_AVP 
            
            
@@ -3767,10 +3830,21 @@ module DiameterRfRo_Templates {
            template (value) Event_Timestamp_AVP m_event_Timestamp(
            template (value) Event_Timestamp_AVP m_event_Timestamp(
                                                                   in template (value) Time p_time
                                                                   in template (value) Time p_time
            ) := {
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_event_Timestamp_AVP_Code, 4, c_vendId3gpp),
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_event_Timestamp_AVP_Code, 4, omit),
                aVP_Data    := p_time
                aVP_Data    := p_time
            } // End of template m_event_Timestamp
            } // End of template m_event_Timestamp
            
            
            /**
             * @desc The Acct_Application_Id send template
             * @param p_avpData     UInt32
             */
            template (value) Acct_Application_Id_AVP m_acct_Application_Id(
                                                                      template (value) UInt32 p_aVP_Data
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_acct_Application_Id_AVP_Code, 4, omit),
                aVP_Data    := p_aVP_Data
            } // End of template m_acct_Application_Id
            
        } // End of group RFC3588_message_templates_send 
        } // End of group RFC3588_message_templates_send 
        
        
        group RFC3588_message_templates_receive { 
        group RFC3588_message_templates_receive { 
@@ -3785,10 +3859,21 @@ module DiameterRfRo_Templates {
            template (present) Event_Timestamp_AVP mw_event_Timestamp(
            template (present) Event_Timestamp_AVP mw_event_Timestamp(
                                                                      template (present) Time p_time := ?
                                                                      template (present) Time p_time := ?
            ) := {
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_event_Timestamp_AVP_Code, 4, c_vendId3gpp),
                aVP_Header  := mw_aVP_Header_Vbit0Mbit1(c_event_Timestamp_AVP_Code),
                aVP_Data    := p_time
                aVP_Data    := p_time
            } // End of template mw_event_Timestamp 
            } // End of template mw_event_Timestamp 
            
            
            /**
             * @desc The Acct_Application_Id receive template
             * @param p_avpData     UInt32
             */
            template (present) Acct_Application_Id_AVP mw_acct_Application_Id(
                                                                      template (present) UInt32 p_aVP_Data := ?
            ) := {
                aVP_Header  := mw_aVP_Header_Vbit0Mbit1(c_acct_Application_Id_AVP_Code),
                aVP_Data    := p_aVP_Data
            } // End of template mw_acct_Application_Id
            
        } // End of group RFC3588_message_templates_receive 
        } // End of group RFC3588_message_templates_receive 
        
        
    } // End of group RFC3588_AVPS 
    } // End of group RFC3588_AVPS 
@@ -3809,7 +3894,7 @@ module DiameterRfRo_Templates {
                                                                   in template (value) UInt8        p_namespace_Id,
                                                                   in template (value) UInt8        p_namespace_Id,
                                                                   in template (value) UTF8String   p_operator_Name
                                                                   in template (value) UTF8String   p_operator_Name
            ) := {
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_operator_Name_AVP_Code, 1 + f_getUTF8StringLength(valueof(p_operator_Name)), c_vendId3gpp),
                aVP_Header  := m_aVP_HeaderVid_Mbit0(c_operator_Name_AVP_Code, 1 + f_getUTF8StringLength(valueof(p_operator_Name)), omit),
                namespace_Id := p_namespace_Id,
                namespace_Id := p_namespace_Id,
                operator_Name := p_operator_Name
                operator_Name := p_operator_Name
            } // End of template m_operator_Name_AVP
            } // End of template m_operator_Name_AVP
@@ -3834,7 +3919,7 @@ module DiameterRfRo_Templates {
                                                                                 in template (value) UInt64     p_time_to_Live,
                                                                                 in template (value) UInt64     p_time_to_Live,
                                                                                 in template (value) UTF8String p_method
                                                                                 in template (value) UTF8String p_method
            ) := {
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_location_Information_AVP_Code, 20 + f_getUTF8StringLength(valueof(p_method)), c_vendId3gpp),
                aVP_Header  := m_aVP_HeaderVid_Mbit0(c_location_Information_AVP_Code, 20 + f_getUTF8StringLength(valueof(p_method)), omit),
                index           := p_index,
                index           := p_index,
                code            := p_code,
                code            := p_code,
                entity          := p_entity,
                entity          := p_entity,
@@ -3855,7 +3940,7 @@ module DiameterRfRo_Templates {
                                                                   in template (value) UInt16     p_index,
                                                                   in template (value) UInt16     p_index,
                                                                   in template (value) UTF8String p_data_AVP
                                                                   in template (value) UTF8String p_data_AVP
            ) := {
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_location_Data_AVP_Code, f_getUTF8StringLength(valueof(p_data_AVP)), c_vendId3gpp),
                aVP_Header  := m_aVP_HeaderVid_Mbit0(c_location_Data_AVP_Code, f_getUTF8StringLength(valueof(p_data_AVP)), omit),
                index := p_index,
                index := p_index,
                data_AVP := p_data_AVP
                data_AVP := p_data_AVP
            } // End of template m_location_Data_AVP
            } // End of template m_location_Data_AVP
@@ -3876,7 +3961,7 @@ module DiameterRfRo_Templates {
                                                                      template (present) UInt8        p_namespace_Id := ?,
                                                                      template (present) UInt8        p_namespace_Id := ?,
                                                                      template (present) UTF8String   p_operator_Name := ?
                                                                      template (present) UTF8String   p_operator_Name := ?
            ) := {
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_operator_Name_AVP_Code, ?, c_vendId3gpp),
                aVP_Header  := mw_aVP_Header_Vbit0Mbit0(c_operator_Name_AVP_Code),
                namespace_Id := p_namespace_Id,
                namespace_Id := p_namespace_Id,
                operator_Name := p_operator_Name
                operator_Name := p_operator_Name
            } // End of template mw_operator_Name_AVP
            } // End of template mw_operator_Name_AVP
@@ -3922,7 +4007,7 @@ module DiameterRfRo_Templates {
                                                                      template (present) UInt16     p_index := ?,
                                                                      template (present) UInt16     p_index := ?,
                                                                      template (present) UTF8String p_data_AVP := ?
                                                                      template (present) UTF8String p_data_AVP := ?
            ) := {
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_location_Data_AVP_Code, ?, c_vendId3gpp),
                aVP_Header  := mw_aVP_Header_Vbit0Mbit0(c_location_Data_AVP_Code),
                index := p_index,
                index := p_index,
                data_AVP := p_data_AVP
                data_AVP := p_data_AVP
            } // End of template mw_location_Data_AVP
            } // End of template mw_location_Data_AVP
+5 −5
Original line number Original line Diff line number Diff line
@@ -344,8 +344,8 @@ module DiameterRfRo_TestCases
                    // Start
                    // Start
                    v_diameterRf_cdf.start(f_TC_CTF_MS_01());
                    v_diameterRf_cdf.start(f_TC_CTF_MS_01());
                    if (PX_SIPsupport) {
                    if (PX_SIPsupport) {
//                        v_imsComponent_ue.start(f_TC_CTF_MS_01);
//                        v_imsComponent_ue.start(f_TC_CTF_MS_UE_01);
//                        v_imsComponent_cscf.start(f_TC_CTF_MS_01);
//                        v_imsComponent_cscf.start(f_TC_CTF_MS_CSCF_01);
                    }
                    }
                    
                    
                    // synchronize PTC on 1 sychronization points
                    // synchronize PTC on 1 sychronization points
@@ -365,7 +365,7 @@ module DiameterRfRo_TestCases
        
        
    } // End of group TP_RFRole
    } // End of group TP_RFRole


    group TP_RORole {
    group TP_RO_Role {
    } // End of group TP_RORole
    } // End of group TP_RO_Role
    
    
} // End of module DiameterRfRo_TestCases
} // End of module DiameterRfRo_TestCases
 No newline at end of file