Commit c3b9874f authored by garciay's avatar garciay
Browse files

Add OCF_OP_04..7

parent 2853aed9
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -175,6 +175,12 @@ module DiameterRfRo_PICS {
         */
        modulepar boolean PICS_RO_OCF_CREDIT_POOLING := false;
        
        /**
         * @desc Does OCF support re-authorization? 
         * @see  ETSI TS 103 374-1 V1.1.2 (2015-09) A.6/9
         */
        modulepar boolean PICS_RO_OCF_RE_AUTHORIZATION_1 := false; // FIXME To be removed in ETSI TS 103 374-1 V1.1.12 (2015-09), duplicated with A.6/6 
        
        /**
         * @desc Does OCF support specification of an idle timeout in the Quota Holding-Time AVP of the CCA message? 
         * @see  ETSI TS 103 374-1 V1.1.2 (2015-09) A.6/9.1
+378 −17

File changed.

Preview size limit exceeded, changes collapsed.

+135 −43
Original line number Diff line number Diff line
@@ -3658,7 +3658,7 @@ module DiameterRfRo_Templates {
            template (present) WLAN_Radio_Container_AVP mw_wlan_Radio_Container_AVP(
                                                                                    template (present) Operator_Name_AVP p_operator_Name := ?
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_unit_Quota_Threshold_AVP_Code, ?, c_vendId3gpp),
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_wlan_Radio_Container_AVP_Code, ?, c_vendId3gpp),
                operator_Name           := p_operator_Name,
                location_Data           := *,
                location_Information    := *,
@@ -5120,7 +5120,7 @@ module DiameterRfRo_Templates {
                cC_Request_Number           := p_cC_Request_Number
            } // End of template md_ccaBodyAvps_Update
            
            template (value) CCA_Body_AVP md_ccaBodyAvps_MultipleServiceCreditControl(
            template (omit) CCA_Body_AVP md_ccaBodyAvps_MultipleServiceCreditControl(
                                                                                     in template (value) Result_Code_AVP              p_resultCode,
                                                                                     in template (value) Origin_Host_AVP              p_originHost,
                                                                                     in template (value) Origin_Realm_AVP             p_originRealm,
@@ -5154,7 +5154,9 @@ module DiameterRfRo_Templates {
             * @desc Await template for CCR
             * @param p_header   Diameter header
             */
            template (present) CCR_MSG mw_CCR_CmdFlags_PET(in template (present) DiameterHeader p_header) modifies mw_CCR_dummy := {
            template (present) CCR_MSG mw_CCR_CmdFlags_PET(
                                                           in template (present) DiameterHeader p_header
            ) modifies mw_CCR_dummy := {
                header := p_header,
                session_Id := ?,
                cCR_Body := mw_CCR_Body_dummy
@@ -5163,7 +5165,7 @@ module DiameterRfRo_Templates {
            /**
             * @desc Await template for CCR message body
             */
            template (present) CCR_Body_AVP mdw_ccrBodyAvps(
            template CCR_Body_AVP mdw_ccrBodyAvps(
                                                  template (present) Origin_Host_AVP                      p_originHost,
                                                  template (present) Origin_Realm_AVP                     p_originRealm,
                                                  template (present) Destination_Realm_AVP                p_destination_Realm,
@@ -5529,14 +5531,12 @@ module DiameterRfRo_Templates {
            template (omit) Multiple_Services_Credit_Control_AVP m_multiple_Services_Credit_Control_RefundInfo(
                                                                                                               in template (value) Refund_Information_AVP   p_refund_Information
            ) modifies m_multiple_Services_Credit_Control_AVP_dummy := {
                // TODO set headers length
                refund_Information := p_refund_Information
            } // End of template m_multiple_Services_Credit_Control_RefundInfo
            
            template (omit) Multiple_Services_Credit_Control_AVP m_multiple_Services_Credit_Control_Trigger_AVP(
                                                                                                                in template (value) Trigger_AVP p_trigger
            ) modifies m_multiple_Services_Credit_Control_AVP_dummy := {
                // TODO set headers length
                trigger_ := p_trigger
            } // End of template m_multiple_Services_Credit_Control_Trigger_AVP
            
@@ -5552,12 +5552,24 @@ module DiameterRfRo_Templates {
                cC_Money := p_cC_Money
            } // End of template m_requested_Service_Unit_cC_Money 
            
            template (value) Requested_Service_Unit_AVP m_requested_Service_Unit_cC_Total_Octets_AVP(
                                                                                                     in template (value) CC_Total_Octets_AVP p_cC_Total_Octets
            ) modifies m_requested_Service_Unit_AVP_dummy := {
                cC_Total_Octets := p_cC_Total_Octets
            } // End of template m_requested_Service_Unit_cC_Total_Octets_AVP 
            
            template (value) Used_Service_Unit_AVP m_used_Service_Unit_tariff_Changes_AVP(
                                                                                          in template (value) Tariff_Change_Usage_AVP p_tariff_Change_Usage
            ) modifies m_used_Service_Unit_AVP_dummy := {
                tariff_Change_Usage := p_tariff_Change_Usage
            } // End of template m_used_Service_Unit_cC_Time_AVP 
            
            template (value) Requested_Service_Unit_AVP m_requested_Service_Unit_cC_Service_Specific_Units_AVP(
                                                                                                               in template (value) CC_Service_Specific_Units_AVP p_cC_Service_Specific_Units
            ) modifies m_requested_Service_Unit_AVP_dummy := {
                cC_Service_Specific_Units := p_cC_Service_Specific_Units
            } // End of template m_requested_Service_Unit_cC_Total_Octets_AVP 
            
            template (value) Used_Service_Unit_AVP m_used_Service_Unit_cC_Time_AVP(
                                                                                   in template (value) CC_Time_AVP p_cC_Time
            ) modifies m_used_Service_Unit_AVP_dummy := {
@@ -5587,6 +5599,20 @@ module DiameterRfRo_Templates {
                currency_Code   := p_currency_Code
            } // End of template m_cC_Money_AVP 
            
            template (omit) CC_Total_Octets_AVP m_cC_Total_Octets_AVP(
                                                                      in template (value) UInt64 p_aVP_Data
            ) := {
                aVP_Header      := m_aVP_HeaderVid_Mbit1(c_cC_Total_Octets_AVP_Code, 8, c_vendId3gpp),
                aVP_Data    := p_aVP_Data
            } // End of template m_cC_Total_Octets_AVP 
            
            template (value) CC_Service_Specific_Units_AVP m_cC_Service_Specific_Units_AVP(
                                                                                           in template (value) UInt64 p_aVP_Data
            ) := {
                aVP_Header      := m_aVP_HeaderVid_Mbit1(c_cC_Service_Specific_Units_AVP_Code, 8, c_vendId3gpp),
                aVP_Data    := p_aVP_Data
            } // End of template m_cC_Service_Specific_Units_AVP 
            
            template (omit) Cost_Information_AVP m_cost_Information(
                                                                    in template (value) Unit_Value_AVP      p_unit_Value,
                                                                    in template (value) Currency_Code_AVP   p_currency_Code,
@@ -5757,7 +5783,28 @@ module DiameterRfRo_Templates {
                granted_Service_Unit := p_granted_Service_Unit
            } // End of template mdw_multiple_Services_Credit_Control_granted_Service_Unit
            
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_granted_Service_Unit_Time_Quota_Threshold(
                                                                                                                                                   template (present) Granted_Service_Unit_AVP  p_granted_Service_Unit := ?,
                                                                                                                                                   template (present) Time_Quota_Threshold_AVP  p_time_Quota_Threshold := ?
            ) modifies mdw_multiple_Services_Credit_Control_granted_Service_Unit := {
                time_Quota_Threshold := p_time_Quota_Threshold
            } // End of template mdw_multiple_Services_Credit_Control_granted_Service_Unit_Time_Quota_Threshold
            
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_granted_Service_Unit_Volume_Quota_Threshold(
                                                                                                                                                     template (present) Granted_Service_Unit_AVP    p_granted_Service_Unit := ?,
                                                                                                                                                     template (present) Volume_Quota_Threshold_AVP  p_volume_Quota_Threshold := ?
            ) modifies mdw_multiple_Services_Credit_Control_granted_Service_Unit := {
                volume_Quota_Threshold := p_volume_Quota_Threshold
            } // End of template mdw_multiple_Services_Credit_Control_granted_Service_Unit_Volume_Quota_Threshold
            
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_granted_Service_Unit_Unit_Quota_Threshold(
                                                                                                                                                   template (present) Granted_Service_Unit_AVP    p_granted_Service_Unit := ?,
                                                                                                                                                   template (present) Unit_Quota_Threshold_AVP    p_unit_Quota_Threshold := ?
            ) modifies mdw_multiple_Services_Credit_Control_granted_Service_Unit := {
                unit_Quota_Threshold := p_unit_Quota_Threshold
            } // End of template mdw_multiple_Services_Credit_Control_granted_Service_Unit_Unit_Quota_Threshold
            
            template Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_ReqServUnit_ServId(
                                                                                                                  template Requested_Service_Unit_AVP                                 p_requested_Service_Unit,
                                                                                                                  template Multiple_Services_Credit_Control_AVP.service_Identifier    p_service_Identifier
            ) modifies mw_multiple_Services_Credit_Control_dummy := {
@@ -5765,8 +5812,14 @@ module DiameterRfRo_Templates {
                service_Identifier      := p_service_Identifier
            } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId
            
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_Final_Unit_Indication_AVP(
                                                                                                                                   template (present) Final_Unit_Indication_AVP p_final_Unit_Indication
            ) modifies mw_multiple_Services_Credit_Control_dummy := {
                final_Unit_Indication := p_final_Unit_Indication
            } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId
            
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_RefundInfo(
                                                  template Refund_Information_AVP p_refund_Information
                                                                                                                    template (present) Refund_Information_AVP p_refund_Information
            ) modifies mw_multiple_Services_Credit_Control_dummy := {
                refund_Information := p_refund_Information
            } // End of template mdw_multiple_Services_Credit_Control_ReqServUnit_ServId
@@ -5786,7 +5839,6 @@ module DiameterRfRo_Templates {
            template (present) Multiple_Services_Credit_Control_AVP mdw_multiple_Services_Credit_Control_Trigger_AVP(
                                                                                                                     template (present) Trigger_AVP p_trigger := ?
            ) modifies mw_multiple_Services_Credit_Control_dummy := {
                // TODO set headers length
                trigger_ := p_trigger
            } // End of template mdw_multiple_Services_Credit_Control_Trigger_AVP
            
@@ -5808,6 +5860,22 @@ module DiameterRfRo_Templates {
                tariff_Time_Change := p_tariff_Time_Change
            } // End of template mdw_granted_Service_Unit_Tariff_Time_Change
            
            template Granted_Service_Unit_AVP mdw_granted_Service_Unit_Volume(
                                                                              template (present) CC_Total_Octets_AVP   p_cC_Total_Octets := ?,
                                                                              template CC_Input_Octets_AVP   p_cC_Input_Octets := *,
                                                                              template CC_Output_Octets_AVP  p_cC_Output_Octets := *
            ) modifies mw_granted_Service_Unit_dummy := {
                cC_Total_Octets     := p_cC_Total_Octets,
                cC_Input_Octets     := p_cC_Input_Octets,
                cC_Output_Octets    := p_cC_Output_Octets
            } // End of template mdw_granted_Service_Unit_Volume
            
            template (present) Granted_Service_Unit_AVP mdw_granted_Service_Unit_Service_Specific_Units_AVP(
                                                                                                            template (present) CC_Service_Specific_Units_AVP p_cC_Service_Specific_Units := ?
            ) modifies mw_granted_Service_Unit_dummy := {
                cC_Service_Specific_Units := p_cC_Service_Specific_Units
            } // End of template mdw_granted_Service_Unit_Service_Specific_Units_AVP
            
            template (present) CC_Time_AVP mw_cC_Time(
                                                      template (present) UInt32 p_aVP_Data := ?
            ) := {
@@ -5824,6 +5892,13 @@ module DiameterRfRo_Templates {
                currency_Code   := p_currency_Code
            } // End of template mw_cC_Money_AVP 
            
            template (present) CC_Service_Specific_Units_AVP mw_cC_Service_Specific_Units_AVP(
                                                                                              template (present) UInt64 p_aVP_Data := ?
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_cC_Service_Specific_Units_AVP_Code, 8, c_vendId3gpp),
                aVP_Data    := p_aVP_Data
            } // End of template mw_cC_Service_Specific_Units_AVP 
            
            template Cost_Information_AVP mw_cost_Information_AVP(
                                                                  template (present) Unit_Value_AVP       p_unit_Value := ?,
                                                                  template (present) Currency_Code_AVP    p_currency_Code := ?,
@@ -5939,6 +6014,23 @@ module DiameterRfRo_Templates {
                aVP_Data := p_aVP_Data
            } // End of template mw_re_Auth_Request
            
            template (present) Final_Unit_Indication_AVP mw_final_Unit_Indication_AVP(
                                                                                      template (present) Final_Unit_Action_AVP p_final_Unit_Action := ?
            ) := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_final_Unit_Indication_AVP_Code, ?, ?),
                final_Unit_Action       := p_final_Unit_Action,
                restriction_Filter_Rule := *,
                filter_Id               := *,
                redirect_Server         := *
            } // End of template mw_final_Unit_Indication_AVP
            
            template (present) Final_Unit_Action_AVP mw_final_Unit_Action_AVP(
                                                                              template (present) Final_Unit_Action_Type p_aVP_Data := ?
            ) := {
                aVP_Header := mw_aVP_HeaderVid_Mbit1(c_final_Unit_Action_AVP_Code, 4, ?),
                aVP_Data := p_aVP_Data
            } // End of template mw_final_Unit_Action_AVP
            
        } // End of group Ro_avps_templates_receive 
        
    } // End of group Ro_avps_templates 
+232 −0

File changed.

Preview size limit exceeded, changes collapsed.

+4 −0
Original line number Diff line number Diff line
@@ -107,11 +107,15 @@ module DiameterRfRo_TestControl {
            if (PICS_RO_OCF_SESSION_CHARGING_WITH_UNIT_RESERVATION) { 
                if (PICS_RO_OCF_RE_AUTHORIZATION_QUOTA_HOLDING_TIME) {
                    execute(TC_RO_OCF_OP_01());
                    execute(TC_RO_OCF_OP_04());
                }
                if (PICS_RO_OCF_RE_AUTHORIZATION_TRIGGER) {
                    execute(TC_RO_OCF_OP_02());
                    execute(TC_RO_OCF_OP_03());
                    execute(TC_RO_OCF_OP_05());
                    execute(TC_RO_OCF_OP_06());
                }
                execute(TC_RO_OCF_OP_07());
            }
            
        }