Commit 5870046f authored by garciay's avatar garciay
Browse files

STF490: Finalyze groups TC_RO_CTF_RE, TC_RO_CTF_FH, TC_RO_CTF_FA and TC_RO_CTF_CP

Some FIXME/TODO to be fixed
Review AVPs typing for 'set of' in template
parent 05b6c6e1
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -470,6 +470,12 @@ module DiameterRfRo_PICS {
         */
        modulepar boolean PICS_RO_CTF_DDFH_CONTINUE := false;
        
        /**
         * @desc Does CTF support independent credit-control of multiple services within a (sub-)session? 
         * @see  ETSI TS 103 374-1 V1.1.2 (2015-09) A.7/19
         */
        modulepar boolean PICS_RO_CTF_SUB_SESSION := false;
        
    } // End of group PICS_A7
    
} // End of module DiameterRfRo_PICS 
 No newline at end of file
+5 −0
Original line number Diff line number Diff line
@@ -388,6 +388,11 @@ module DiameterRfRo_PIXITS {
         */
        modulepar Time_Quota_Type PX_TIME_QUOTA_TYPE := DISCRETE_TIME_PERIOD_E;
        
        /** 
         * @desc    The secondary OCF address, PIXIT item A-10/13
         */
        modulepar UTF8String PX_SECONDARY_OCF_ADDRESS := "10.1.1.10";
        
    } // End of group ocfContext
    
    /** 
+46 −0
Original line number Diff line number Diff line
@@ -147,6 +147,41 @@
            vc_send_endid:=hex2int('01000000'H);
        } // End of function f_DiameterRo_init
        
        /*
        *  @desc    This is a test step that init global variables
        *  @param   
        */
        function f_DiameterRo_init2()
        runs on DiameterComponent {
            
            //Defaults
            vc_default_diameter := activate (a_diameter_default());
            
            //Base LibDiameter init function if there will be any base initialisation
            f_Diameter_Init_Component();
            
            vc_ETS_address := PX_DIAMETER_RO_ETS_IPADDR2;
            vc_ETS_port    := PX_DIAMETER_RO_ETS_PORT2;
            vc_SUT_address := PX_DIAMETER_RO_SUT_IPADDR;
            vc_SUT_port    := PX_DIAMETER_RO_SUT_PORT;
            
            vc_sessionId := m_sessionId(PX_SessionID);
            
            vc_originHost := m_originHost(PX_OriginHost);
            vc_originRealm := m_originRealm(PX_OriginRealm); // realm of the originator (TS)
            
            vc_originHost_IUT := m_originHost(PX_DestinationHost);
            vc_originRealm_IUT := m_originRealm(PX_DestinationRealm); // realm of the originator (TS)
            
            vc_destinationHost := m_destinationHost(PX_DestinationHost);
            vc_destinationRealm := m_destinationRealm(PX_DestinationRealm);
            
            vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_RO_ETS_IPADDR));
            
            vc_send_hopid:=hex2int('00000100'H);
            vc_send_endid:=hex2int('01000000'H);
        } // End of function f_DiameterRo_init
        
        //TODO check for 2nd Ro or Rf configuration!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

        group RF{
@@ -358,6 +393,17 @@
            f_preambleDiameterBaseClient(c_applIdRfRo);
        }
        
        function f_preamble_Ro_OCF2() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
            {
                f_preambleClient();
            }
            
            f_DiameterRo_init2();
            f_preambleDiameterBaseClient(c_applIdRfRo);
        }
        
        function f_preamble_Ro_CTF() runs on DiameterComponent
        {
            if(PX_DIAM_LLP_ENABLED)
+988 −13

File changed.

Preview size limit exceeded, changes collapsed.

+73 −49
Original line number Diff line number Diff line
@@ -251,12 +251,12 @@ module DiameterRfRo_Templates {
                 * @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
                template 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 mw_ACR_Body_dummy := {
                        origin_Host                 := p_originHost,
                        origin_Realm                := p_originRealm,
@@ -278,14 +278,14 @@ module DiameterRfRo_Templates {
                 * @param p_service_Information         Service Information
                 * @param p_event_Timestamp             Event Timestamp
                 */
                template (present) ACR_Body_AVP mdw_acrBody_ServiceInfo_EventTimestamp(
                                                                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,
                                                                in template Service_Information_AVP                p_service_Information,
                                                                in template Event_Timestamp_AVP                    p_event_Timestamp 
                template ACR_Body_AVP mdw_acrBody_ServiceInfo_EventTimestamp(
                                                                             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 := ?,
                                                                             in template Service_Information_AVP                p_service_Information := *,
                                                                             in template Event_Timestamp_AVP                    p_event_Timestamp := * 
                ) modifies mdw_acrBodyAvps := {
                        service_Information         := p_service_Information,
                        event_Timestamp             := p_event_Timestamp
@@ -363,7 +363,7 @@ module DiameterRfRo_Templates {
                acct_Application_Id         := m_acct_Application_Id(3)
            } // End of template md_acaBodyAvps 
            
            template (value) ACA_Body_AVP md_acaBody_AcctInterimInterval(
            template (omit) ACA_Body_AVP md_acaBody_AcctInterimInterval(
                                                                        in template (value) Result_Code_AVP              p_resultCode,
                                                                        in template (value) Origin_Host_AVP              p_originHost,
                                                                        in template (value) Origin_Realm_AVP             p_originRealm,
@@ -567,8 +567,9 @@ module DiameterRfRo_Templates {
             * @see ETSI TS 132 299 V10.15.0 Clause 7.2.77  IMS-Information AVP
             * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
             */
            template (value) IMS_Information_AVP m_ims_Information_AVP_dummy(
                                                                             in template (value) Node_Functionality_AVP p_node_Functionality
            template (omit) IMS_Information_AVP m_ims_Information_AVP(
                                                                      in template (value) Node_Functionality_AVP                p_node_Functionality,
                                                                      in template (omit) Alternate_Charged_Party_Address_AVP    p_alternate_Charged_Party_Address := omit
            ) := {
                aVP_Header                              := m_aVP_HeaderVid_Mbit1(c_ims_Information_AVP_Code, 0, c_vendId3gpp),
                event_Type                              := omit,
@@ -607,7 +608,7 @@ module DiameterRfRo_Templates {
                account_Expiration                      := omit,
                initial_IMS_Charging_Identifier         := omit, 
                ims_Emergency_Indicator                 := omit
            } // End of template m_ims_Information_AVP_dummy 
            } // End of template m_ims_Information_AVP 
            
            /**
             * @desc The Early-Media-Description AVP, Basic send template 
@@ -782,8 +783,9 @@ module DiameterRfRo_Templates {
             * @see ETSI TS 132 299 V10.15.0 Clause 7.2.77  IMS-Information AVP
             * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
             */
            template (present) IMS_Information_AVP mw_ims_Information_AVP_dummy(
                                                                                template (present) Node_Functionality_AVP p_node_Functionality := ?
            template IMS_Information_AVP mw_ims_Information_AVP(
                                                                template (present) Node_Functionality_AVP      p_node_Functionality := ?,
                                                                template Alternate_Charged_Party_Address_AVP   p_alternate_Charged_Party_Address_AVP := *
            ) := {
                aVP_Header                              := mw_aVP_HeaderVid_Mbit1(c_ims_Information_AVP_Code, ?, c_vendId3gpp),
                event_Type                              := *,
@@ -797,7 +799,7 @@ module DiameterRfRo_Templates {
                called_Asserted_Identity                := *,
                number_Portability_Routing_Information  := *,
                carrier_Select_Routing_Information      := *,
                alternate_Charged_Party_Address         := *,
                alternate_Charged_Party_Address         := p_alternate_Charged_Party_Address_AVP,
                requested_Party_Address                 := *,
                associated_URI                          := *,
                time_Stamps                             := *,
@@ -822,7 +824,7 @@ module DiameterRfRo_Templates {
                account_Expiration                      := *,
                initial_IMS_Charging_Identifier         := *, 
                ims_Emergency_Indicator                 := *
            } // End of template mw_ims_Information_AVP_dummy 
            } // End of template mw_ims_Information_AVP 
            
            /**
             * @desc The Early-Media-Description AVP, Basic receive template 
@@ -909,7 +911,7 @@ module DiameterRfRo_Templates {
                        m_subscription_Id_Type(END_USER_SIP_URI_E),
                        m_subscription_Id_Data("ETSI RFRO")
                    ),
                    m_ims_Information_AVP_dummy(
                    m_ims_Information_AVP(
                        m_node_Functionality_AVP(MRFC_E)
                    ),
                    m_service_Generic_Information_AVP(
@@ -5078,10 +5080,10 @@ module DiameterRfRo_Templates {
             * @see ETSI TS 132 299 V10.15.0 Clause 7.2.192 Service-Information AVP
             * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
             */
            template (present) Service_Information_AVP mw_service_Information(
                                                                              in template (present) Service_Information_AVP.subscription_Id               p_subscription_Id,
                                                                              in template IMS_Information_AVP                p_ims_Information,
                                                                              in template Service_Generic_Information_AVP    p_service_Generic_Information
            template Service_Information_AVP mw_service_Information(
                                                                    template (present) Service_Information_AVP.subscription_Id p_subscription_Id := ?,
                                                                    template IMS_Information_AVP                               p_ims_Information := *,
                                                                    template Service_Generic_Information_AVP                   p_service_Generic_Information := *
            ) modifies mw_service_Information_AVP_dummy := {
                subscription_Id             := p_subscription_Id,
                ims_Information             := p_ims_Information,
@@ -5297,10 +5299,16 @@ module DiameterRfRo_Templates {
                                                                                     in template (value) Origin_Realm_AVP                       p_originRealm,
                                                                                     in template (value) CC_Request_Type_AVP                    p_cCRequestType,
                                                                                     in template (value) CC_Request_Number_AVP                  p_cCRequestNumber,
                                                                                     in template (omit)  CCA_Body_AVP.multiple_Services_Credit_Control  p_multiple_Services_Credit_Control := omit
                                                                                     in template (omit)  CCA_Body_AVP.multiple_Services_Credit_Control  p_multiple_Services_Credit_Control := omit,
                                                                                     in template (omit)  Service_Information_AVP                p_service_Information := omit,
                                                                                     in template (omit)  Credit_Control_Failure_Handling_AVP    p_credit_Control_Failure_Handling := omit, 
                                                                                     in template (omit)  Direct_Debiting_Failure_Handling_AVP   p_direct_Debiting_Failure_Handling := omit
            ) modifies md_ccaBodyAvps := {
                cC_Request_Number                   := p_cCRequestNumber,
                multiple_Services_Credit_Control :=  p_multiple_Services_Credit_Control
                multiple_Services_Credit_Control    := p_multiple_Services_Credit_Control,
                service_Information                 := p_service_Information,
                credit_Control_Failure_Handling     := p_credit_Control_Failure_Handling, 
                direct_Debiting_Failure_Handling    := p_direct_Debiting_Failure_Handling
            } // End of template md_ccaBodyAvps 
            
        } // End of group Ro_answer_message_templates_send 
@@ -5345,9 +5353,10 @@ module DiameterRfRo_Templates {
                                                  template (present) CC_Request_Type_AVP                  p_cC_Request_Type,
                                                  template (present) CC_Request_Number_AVP                p_cC_Request_Number,
                                                  template (present) Service_Context_Id_AVP               p_service_Context_Id,
                                                  template Requested_Action_AVP                           p_requested_Action,
                                                  template CCR_Body_AVP.multiple_Services_Credit_Control  p_multiple_Services_Credit_Control,
                                                  template Termination_Cause_AVP                          p_termination_Cause := *
                                                  template Requested_Action_AVP                           p_requested_Action := *,
                                                  template CCR_Body_AVP.multiple_Services_Credit_Control  p_multiple_Services_Credit_Control := *,
                                                  template Termination_Cause_AVP                          p_termination_Cause := *,
                                                  template Service_Information_AVP                        p_service_Information := *
            ) modifies mw_CCR_Body_dummy := {
                origin_Host                         := p_originHost,
                origin_Realm                        := p_originRealm,
@@ -5358,8 +5367,9 @@ module DiameterRfRo_Templates {
                cC_Request_Number                   := p_cC_Request_Number,
                requested_Action                    := p_requested_Action,
                multiple_Services_Credit_Control    := p_multiple_Services_Credit_Control,
                termination_Cause                   := p_termination_Cause
            } // End of template mdw_ccrBodyAvps_TypeOfCharging
                termination_Cause                   := p_termination_Cause,
                service_Information                 := p_service_Information
            } // End of template mdw_ccrBodyAvps
            
            /**
             * @desc Receive template for RAR
@@ -5968,11 +5978,25 @@ module DiameterRfRo_Templates {
                aVP_Data := p_avpData
            } // End of template m_cC_Request_Number_AVP
            
            template (value) Credit_Control_Failure_Handling_AVP m_credit_Control_Failure_Handling_AVP(
                                                                                                       in template (value) Credit_Cont_Fail_Hand_Type p_aVP_Data
            ) := {
                aVP_Header  := mw_aVP_HeaderVid_Mbit1(c_credit_Control_Failure_Handling_AVP_Code, 4, c_vendId3gpp),
                aVP_Data    := p_aVP_Data
            } // End of template m_credit_Control_Failure_Handling_AVP
            
            template (value) Direct_Debiting_Failure_Handling_AVP m_direct_Debiting_Failure_Handling_AVP(
                                                                                                         in template (value) Direct_Debi_Fail_Hand_Type p_aVP_Data
            ) := {
                aVP_Header  := m_aVP_HeaderVid_Mbit1(c_direct_Debiting_Failure_Handling_AVP_Code, 4, c_vendId3gpp),
                aVP_Data    := p_aVP_Data
            } // End of template m_direct_Debiting_Failure_Handling_AVP
            
        } // End of group Ro_avps_templates_send 
        
        group Ro_dummy_avps_templates_receive { 
            
            template (present) Multiple_Services_Credit_Control_AVP mw_multiple_Services_Credit_Control_dummy := {
            template Multiple_Services_Credit_Control_AVP mw_multiple_Services_Credit_Control_dummy := {
                aVP_Header                      := mw_aVP_HeaderVid_Mbit1(c_multiple_Services_Credit_Control_AVP_Code, ?, c_vendId3gpp),
                granted_Service_Unit            := *,
                requested_Service_Unit          := *,
@@ -6008,7 +6032,7 @@ module DiameterRfRo_Templates {
                g_S_U_Pool_Reference    := { p_g_S_U_Pool_Reference }
            } // End of template mw_multiple_Services_Credit_Control_Pool_Reference
            
            template (present) Granted_Service_Unit_AVP mw_granted_Service_Unit_dummy := {
            template Granted_Service_Unit_AVP mw_granted_Service_Unit_dummy := {
                aVP_Header                  := mw_aVP_HeaderVid_Mbit1(c_granted_Service_Unit_AVP_Code, ?, c_vendId3gpp),
                tariff_Time_Change          := *,
                cC_Time                     := *,
Loading