Commit ebfcd8a9 authored by garciay's avatar garciay
Browse files

STF490: Add RF/Ro AVPs (week #39)

Build on TTWB & TCT3
parent 1cc91a63
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -523,6 +523,11 @@ group BasicTypesAndConstants{
               const integer c_ps_Furnish_Charging_Information_AVP_Code := 865; //Ref ETSI TS 132 299 PS_Furnish_Charging_Information_AVP_Code
               const integer c_ps_Free_Format_Data_AVP_Code         := 866; //Ref ETSI TS 132 299 PS_Free_Format_Data_AVP
               const integer c_ps_Append_Free_Format_Data_AVP_Code  := 867; //Ref ETSI TS 132 299 PS_Append_Free_Format_Data_AVP
               const integer c_time_Quota_Threshold_AVP_Code        := 868; //Ref ETSI TS 132 299 Time_Quota_Threshold_AVP
               const integer c_volume_Quota_Threshold_AVP_Code      := 869; //Ref ETSI TS 132 299 Volume_Quota_Threshold_AVP
               const integer c_trigger_Type_AVP_Code                := 870; //Ref ETSI TS 132 299 Trigger_Type_AVP
               const integer c_quota_Holding_Time_AVP_Code          := 871; //Ref ETSI TS 132 299 Quota_Holding_Time_AVP
               const integer c_reporting_Reason_AVP_Code            := 872; //Ref ETSI TS 132 299 Reporting_Reason_AVP
               const integer c_service_Information_AVP_Code         := 873; //Ref ETSI TS 132 299 Service_Information_AVP
               const integer c_ps_Information_AVP_Code              := 874; //Ref ETSI TS 132 299 PS_Information_AVP
               const integer c_wlan_Information_AVP_Code            := 875; //Ref ETSI TS 132 299 WLAN_Information_AVP
@@ -548,7 +553,11 @@ group BasicTypesAndConstants{
               const integer c_service_Generic_Information_AVP_Code := 1256; //Ref ETSI TS 132 299 Service_Generic_Information_AVP
               const integer c_service_Specific_Type_AVP_Code       := 1257; //Ref ETSI TS 132 299 Service_Specific_Type_AVP
               const integer c_access_Network_Information_AVP_Code          := 1263; //Ref ETSI TS 132 299 Access_Network_Information_AVP
               const integer c_trigger_AVP_Code                     := 1264; //Ref ETSI TS 132 299 Trigger_AVP
               const integer c_base_Time_Interval_AVP_Code          := 1265; //Ref ETSI TS 132 299 Base_Time_Interval_AVP
               const integer c_envelope_End_Time_AVP_Code           := 1267; //Ref ETSI TS 132 299 Envelope_End_Time_AVP
               const integer c_envelope_AVP_Code                    := 1266; //Ref ETSI TS 132 299 Envelope_AVP
               const integer c_envelope_Start_Time_AVP_Code           := 1269; //Ref ETSI TS 132 299 Envelope_Start_Time_AVP
               const integer c_envelope_Reporting_AVP_Code          := 1268; //Ref ETSI TS 132 299 Envelope_Reporting_AVP
               const integer c_time_Quota_Mechanism_AVP_Code        := 1270; //Ref ETSI TS 132 299 Time_Quota_Mechanism_AVP
               const integer c_time_Quota_Type_AVP_Code             := 1271; //Ref ETSI TS 132 299 Time_Quota_Type_AVP
@@ -565,6 +574,7 @@ group BasicTypesAndConstants{

               const integer c_low_Balance_Indication_AVP_Code      := 2020; //Ref ETSI TS 132 299 Low_Balance_Indication_AVP
               const integer c_remaining_Balance_AVP_Code           := 2021; //Ref ETSI TS 132 299 Remaining_Balance_AVP
               const integer c_refund_Information_AVP_Code          := 2022; //Ref ETSI TS 132 299 Refund_Information_AVP
               const integer c_carrier_Select_Routing_Information_AVP_Code := 2023; //Ref ETSI TS 132 299 Carrier_Select_Routing_Information_AVP
               const integer c_number_Portability_Routing_Information_AVP_Code := 2024; //Ref ETSI TS 132 299 Number_Portability_Routing_Information_AVP
               const integer c_node_Id_AVP_Code                     := 2034; //Ref ETSI TS 132 299 Node_Id_AVP
+35 −14
Original line number Diff line number Diff line
@@ -10,9 +10,14 @@
 */
module LibDiameter_Types_Base_AVPs {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_DataStrings {type Bit1,Bit5,Oct2;};
    
    // LibDiameter
    import from LibDiameter_Types_RfRo_AVPs all;
    import from LibDiameter_Types_Gx_AVPs all;
    
    group AVPTypes{
        group AVP_Base_Types{
            //AVP Data Union(Integer,String,Record of and Grouped).
@@ -2314,6 +2319,7 @@ module LibDiameter_Types_Base_AVPs {

            type set Multiple_Services_Credit_Control_AVP{
            //    Ref: RFC4006 8.16.  Multiple-Services-Credit-Control AVP
            //    Ref: TS 132 299 Clause 7.1.9 Multiple-Services-Credit-Control
                AVP_Header                              aVP_Header,//< AVP Header: 456 >
                Granted_Service_Unit_AVP                granted_Service_Unit optional,
                Requested_Service_Unit_AVP              requested_Service_Unit optional,
@@ -2325,6 +2331,21 @@ module LibDiameter_Types_Base_AVPs {
                Validity_Time_AVP                       validity_Time optional,
                Result_Code_AVP                         result_Codeoptional optional,
                Final_Unit_Indication_AVP               final_Unit_Indication optional,
                Time_Quota_Threshold_AVP                time_Quota_Threshold optional, // TS 132 299
                Volume_Quota_Threshold_AVP              volume_Quota_Threshold optional, // TS 132 299 
                Unit_Quota_Threshold_AVP                unit_Quota_Threshold optional, // TS 132 299
                Quota_Holding_Time_AVP                  quota_Holding_Time optional, // TS 132 299
                Quota_Consumption_Time_AVP              quota_Consumption_Time optional, // TS 132 299
                set of Reporting_Reason_AVP             reporting_Reason optional, // TS 132 299
                Trigger_AVP                             trigger_ optional, // TS 132 299
                PS_Furnish_Charging_Information_AVP     ps_Furnish_Charging_Information optional, // TS 132 299
                Refund_Information_AVP                  refund_Information optional, // TS 132 299
                set of AF_Correlation_Information_AVP   aF_Correlation_Information optional, // TS 132 299
                set of Envelope_AVP                     envelope optional, // TS 132 299
                Envelope_Reporting_AVP                  envelope_Reporting optional, // TS 132 299
                Time_Quota_Mechanism_AVP                time_Quota_Mechanism optional, // TS 132 299
                set of Service_Specific_Info_AVP        service_Specific_Info optional, // TS 132 299
                QoS_Information_AVP                     qoS_Information optional, // TS 132 299
                set of AVP_Type                         aVP_Type optional
            }
            with {
+212 −2
Original line number Diff line number Diff line
@@ -440,6 +440,72 @@ module LibDiameter_Types_RfRo_AVPs {
                variant "length=32" // TODO Length to be confirmed
            } // End of type Application_Service_Type
            
            /**
             * @desc The Reporting_Reason enumerated values
             * 
             * @see ETSI TS 132 299 V10.15.0 Clause 7.2.175 Reporting-Reason AVP
             * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
             */
            type enumerated Reporting_Reason {
                e_THRESHOLD                 (0),
                e_QHT                       (1),
                e_FINAL                     (2),
                e_QUOTA_EXHAUSTED           (3),
                e_VALIDITY_TIME             (4),
                e_OTHER_QUOTA_TYPE          (5),
                e_RATING_CONDITION_CHANGE   (6),
                e_FORCED_REAUTHORISATION    (7),
                e_POOL_EXHAUSTED            (8)
            } with {
                variant "length=32" // TODO Length to be confirmed
            } // End of type Reporting_Reason
            
            /**
             * @desc The Trigger_Type enumerated values
             * 
             * @see ETSI TS 132 299 V10.15.0 Clause 7.2.235 Trigger AVP
             * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
             */
            type enumerated Trigger_Type {
                e_CHANGE_IN_SGSN_IP_ADDRESS                             (1),
                e_CHANGE_IN_QOS                                         (2),
                e_CHANGE_IN_LOCATION                                    (3),
                e_CHANGE_IN_RAT                                         (4),
                e_CHANGE_IN_UE_TIMEZONE                                 (5),
                e_CHANGEINQOS_TRAFFIC_CLASS                             (10),
                e_CHANGEINQOS_RELIABILITY_CLASS                         (11),
                e_CHANGEINQOS_DELAY_CLASS                               (12),
                e_CHANGEINQOS_PEAK_THROUGHPUT                           (13),
                e_CHANGEINQOS_PRECEDENCE_CLASS                          (14),
                e_CHANGEINQOS_MEAN_THROUGHPUT                           (15),
                e_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_UPLINK               (16),
                e_CHANGEINQOS_MAXIMUM_BIT_RATE_FOR_DOWNLINK             (17),
                e_CHANGEINQOS_RESIDUAL_BER                              (18),
                e_CHANGEINQOS_SDU_ERROR_RATIO                           (19),
                e_CHANGEINQOS_TRANSFER_DELAY                            (20),
                e_CHANGEINQOS_TRAFFIC_HANDLING_PRIORITY                 (21),
                e_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_UPLINK            (22),
                e_CHANGEINQOS_GUARANTEED_BIT_RATE_FOR_DOWNLINK          (23),
                e_CHANGEINLOCATION_MCC                                  (30),
                e_CHANGEINLOCATION_MNC                                  (31),
                e_CHANGEINLOCATION_RAC                                  (32),
                e_CHANGEINLOCATION_LAC                                  (33),
                e_CHANGEINLOCATION_CellId                               (34),
                e_CHANGEINLOCATION_TAC                                  (35),
                e_CHANGEINLOCATION_ECGI                                 (36),
                e_CHANGE_IN_MEDIA_COMPOSITION                           (40),
                e_CHANGE_IN_PARTICIPANTS_NMB                            (50),
                e_CHANGE_IN_THRSHLD_OF_PARTICIPANTS_NMB                (51),
                e_CHANGE_IN_USER_PARTICIPATING_TYPE                     (52),
                e_CHANGE_IN_SERVICE_CONDITION                           (60),
                e_CHANGE_IN_SERVING_NODE                                (61),
                e_CHANGE_IN_USER_CSG_INFORMATION                        (70),
                e_CHANGE_IN_HYBRID_SUBSCRIBED_USER_CSG_INFORMATION      (71),
                e_CHANGE_IN_HYBRID_UNSUBSCRIBED_USER_CSG_INFORMATION    (72)
            } with {
                variant "length=32" // TODO Length to be confirmed
            } // End of type Trigger_Type
            
        } // End of group Enum_AVP_Rf_Ro_Types 
        
        group Avp_Rf_Ro_Types { 
@@ -1004,6 +1070,71 @@ module LibDiameter_Types_RfRo_AVPs {
                    PS_Append_Free_Format_Data  aVP_Data
                } // End of type PS_Append_Free_Format_Data_AVP
                
                /**
                 * @desc The Time-Quota-Threshold AVP (AVP code 868)
                 * @member aVP_Header   Header AVP
                 * @member aVP_Data     Contains a threshold value in seconds
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.229 Time-Quota-Threshold AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
                 */
                type record Time_Quota_Threshold_AVP {
                    AVP_Header  aVP_Header,//<AVP header: 868...>
                    UInt32      aVP_Data
                } // End of type Time_Quota_Threshold_AVP
                
                /**
                 * @desc The Volume-Quota-Threshold AVP (AVP code 869)
                 * @member aVP_Header   Header AVP
                 * @member aVP_Data     Holds the session identifier
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.243 Volume-Quota-Threshold AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
                 */
                type record Volume_Quota_Threshold_AVP {
                    AVP_Header  aVP_Header,//<AVP header: 869...>
                    UInt32      aVP_Data
                } // End of type Volume_Quota_Threshold_AVP
                
                /**
                 * @desc The Trigger-Type AVP (AVP code 870)
                 * @member aVP_Header   Header AVP
                 * @member aVP_Data     Indicates a single re-authorisation event type
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.236 Trigger-Type AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
                 */
                type record Trigger_Type_AVP {
                    AVP_Header     aVP_Header,//<AVP header: 870...>
                    Trigger_Type   aVP_Data
                } // End of type Trigger_Type_AVP
                
                /**
                 * @desc The Quota-Holding-Time AVP (AVP code 871)
                 * @member aVP_Header   Header AVP
                 * @member aVP_Data     Contains the quota holding time in seconds
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.160 Quota-Holding-Time AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
                 */
                type record Quota_Holding_Time_AVP {
                    AVP_Header  aVP_Header,//<AVP header: 871...>
                    UInt32      aVP_Data
                } // End of type Quota_Holding_Time_AVP
                
                /**
                 * @desc The Quota-Holding-Time AVP (AVP code 872)
                 * @member aVP_Header   Header AVP
                 * @member aVP_Data     Specifies the reason for usage reporting for one or more types of quota for a particular category
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.175 Reporting-Reason AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
                 */
                type record Reporting_Reason_AVP {
                    AVP_Header         aVP_Header,//<AVP header: 872...>
                    Reporting_Reason   aVP_Data
                } // End of type Reporting_Reason_AVP
                
                /**
                 * @desc The Service-Information AVP (AVP code 873)
                 * @member aVP_Header   Header AVP
@@ -1508,6 +1639,19 @@ module LibDiameter_Types_RfRo_AVPs {
                    octetstring aVP_Data
                } // End of type Access_Network_Information_AVP
                
                /**
                 * @desc The Trigger AVP (AVP code 1264)
                 * @member aVP_Header   Header AVP
                 * @member trigger_Type Holds the trigger types
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.235 Trigger AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
                 */
                type record Trigger_AVP {
                    AVP_Header          aVP_Header,//<AVP header: 1264...>
                    set of Trigger_Type_AVP trigger_Type
                } // End of type Trigger_AVP
                
                /**
                 * @desc Base-Time-Interval AVP (AVP code 1265)
                 * @member aVP_Header   Header AVP
@@ -1521,6 +1665,44 @@ module LibDiameter_Types_RfRo_AVPs {
                    UInt32      aVP_Data
                } // End of type Base_Time_Interval_AVP
                
                /**
                 * @desc Envelope AVP (AVP code 1266)
                 * @member aVP_Header                   Header AVP
                 * @member envelope_Start_Time          TODO
                 * @member envelope_End_Time            TODO
                 * @member cc_Total_Octets              TODO
                 * @member cc_Input_Octets              TODO
                 * @member cc_Output_Octets             TODO
                 * @member cc_Service_Specific_Units    TODO
                 * @member aVP_Type                     TODO
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.59  Envelope AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.1: Use Of IETF Diameter AVPs
                 */
                type record Envelope_AVP {
                    AVP_Header  aVP_Header,//<AVP header: 1266...>
                    Envelope_Start_Time_AVP         envelope_Start_Time,
                    Envelope_End_Time_AVP           envelope_End_Time optional,
                    CC_Total_Octets_AVP             cc_Total_Octets optional,
                    CC_Input_Octets_AVP             cc_Input_Octets optional,
                    CC_Output_Octets_AVP            cc_Output_Octets optional,
                    CC_Service_Specific_Units_AVP   cc_Service_Specific_Units optional,
                    set of AVP_Type                 aVP_Type optional
                } // End of type Envelope_AVP
                
                /**
                 * @desc The Envelope-End-Time AVP (AVP code 1267)
                 * @member aVP_Header   Header AVP
                 * @member aVP_Data     Indicate the time of the end of the time envelope
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.62  Envelope-End-Time AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
                 */
                type record Envelope_End_Time_AVP {
                    AVP_Header  aVP_Header,//<AVP header: 1267...>
                    Time        aVP_Data
                } // End of type Envelope_End_Time_AVP
                
                /**
                 * @desc The Envelope-Reporting AVP (AVP code 1268)
                 * @member aVP_Header   Header AVP
@@ -1534,6 +1716,19 @@ module LibDiameter_Types_RfRo_AVPs {
                    Envelope_Reporting  aVP_Data
                } // End of type Envelope_Reporting_AVP
                
                /**
                 * @desc The Envelope-Start-Time AVP (AVP code 1269)
                 * @member aVP_Header   Header AVP
                 * @member aVP_Data     Indicate the time of the packet of user data which caused the time envelope to start
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.62  Envelope-Start-Time AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
                 */
                type record Envelope_Start_Time_AVP {
                    AVP_Header  aVP_Header,//<AVP header: 1269...>
                    Time        aVP_Data
                } // End of type Envelope_Start_Time_AVP
                
                /**
                 * @desc The Time-Quota-Mechanism AVP (AVP code 1270)
                 * @member aVP_Header           Header AVP
@@ -1639,7 +1834,7 @@ module LibDiameter_Types_RfRo_AVPs {
                 * @desc The Offline-Charging AVP (AVP code 1278)
                 * @member aVP_Header                       Header AVP
                 * @member quota_Consumption_Time           TODO
                 * @member aVP_Data_Quota_Mechanism             TODO
                 * @member time_Quota_Mechanism             TODO
                 * @member envelope_Reporting optional      TODO
                 * @member multiple_Services_Credit_Control TODO
                 * @member aVP_Type                         TODO
@@ -1729,8 +1924,22 @@ module LibDiameter_Types_RfRo_AVPs {
                    Currency_Code_AVP   currency_Code
                } // End of type Remaining_Balance_AVP 
                
                /**
                 * @desc The Refund-Information AVP (AVP code 2022)
                 * @member aVP_Header  Header AVP
                 * @member aVP_Data    Conveys relevant information for the OCS application relative to refund mechanism
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.171 Refund-Information AVP
                 * @see ETSI TS 132 299 V10.15.0 Table 7.2: 3GPP specific AVPs
                 */
                type record Refund_Information_AVP {
                    AVP_Header  aVP_Header,//<AVP header: 2022...>
                    octetstring aVP_Data
                } // End of type Refund_Information_AVP 
                
                /**
                 * @desc The Carrier-Select-Routing-Information AVP (AVP code 2023)
                 * @member aVP_Header       Header AVP
                 * @member aVP_Data    Holds information on carrier selection performed by S-CSCF/AS
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.34  Carrier-Select-Routing-Information AVP
@@ -1743,6 +1952,7 @@ module LibDiameter_Types_RfRo_AVPs {
                
                /**
                 * @desc The Number-Portability-Routing-Information AVP (AVP code 2024)
                 * @member aVP_Header       Header AVP
                 * @member aVP_Data    Holds information on carrier selection performed by S-CSCF/AS
                 * 
                 * @see ETSI TS 132 299 V10.15.0 Clause 7.2.120 Number-Portability-Routing-Information AVP