Commit 377ac609 authored by juvancic's avatar juvancic
Browse files

Added specific AVPs for Rx interfce

parent cd3dabab
Loading
Loading
Loading
Loading
+687 −425
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ group BasicTypes{
	    }//end group HeaderTypes 
        
        group AVPTypes{
            group AVP_Base_Types{
                //AVP Data Union(Integer,String,Record of and Grouped).
    			type integer AVP_Vendor_Id;
    	
@@ -264,6 +265,9 @@ group BasicTypes{
    				AVP_Header         aVP_Header,
    				AVP_Data           aVP_Data    optional            
            	};
            }//end group AVP_Base_Types
            
            group AVP_RFC3588_Types{
                
    			type enumerated Re_Auth_Req_Type{
    				//Ref: RFC3588 8.12.  Re-Auth-Request-Type AVP
@@ -480,7 +484,82 @@ group BasicTypes{
    				TERMINATE_OR_BUFFER (0),
    				CONTINUE (1)
    			};			
            }//end group RFC3588 types
            
            group AVP_Rx_Types{
                
                type enumerated Abort_Cause_Type{
                    // Ref: ETSI TS 129 214 5.3.1
                    BEARER_RELEASED (0),
                    INSUFFICIENT_SERVER_RESOURCES (1),
                    INSUFFICIENT_BEARER_RESOURCES (2),
                    PS_TO_CS_HANDOVER (3),
                    SPONSORED_DATA_CONNECTIVITY_DISALLOWED (4)
                };

                type enumerated Flow_Status_Type{
                    // Ref: ETSI TS 129 214 5.3.11
                    ENABLED_UPLINK (0),
                    ENABLED_DOWNLINK (1),
                    ENABLED (2),
                    DISABLED (3),
                    REMOVED (4)
                };
                
                type enumerated Flow_Usage_Type{
                    // Ref: ETSI TS 129 214 5.3.12
                    NO_INFORMATION (0),
                    RTCP (1),
                    AF_SIGNALLING (2)
                };
                
                type enumerated Specific_Action_Type{
                    // Ref: ETSI TS 129 214 5.3.13
                    VOID_0 (0),
                    CHARGING_CORRELATION_EXCHANGE (1),
                    INDICATION_OF_LOSS_OF_BEARER (2),
                    INDICATION_OF_RECOVERY_OF_BEARER (3),
                    INDICATION_OF_RELEASE_OF_BEARER (4),
                    VOID_5 (5),
                    IP_CAN_CHANGE (6),
                    INDICATION_OF_OUT_OF_CREDIT (7),
                    INDICATION_OF_SUCCESSFUL_RESOURCES_ALLOCATION (8),
                    INDICATION_OF_FAILED_RESOURCES_ALLOCATION (9),
                    INDICATION_OF_LIMITED_PCC_DEPLOYMENT (10),
                    USAGE_REPORT (11)
                };                
 
                type enumerated Media_Type_Type{
                    // Ref: ETSI TS 129 214 5.3.19
                    AUDIO (0),
                    VIDEO (1),
                    DATA (2),
                    APPLICATION (3),
                    CONTROL (4),
                    TEXT (5),
                    MESSAGE (6),
                    OTHER (7) //TODO: OTHER is defined as c_uInt32Max = 0xFFFFFFFF
                };
                
                type enumerated Service_Info_Type{
                    // Ref: ETSI TS 129 214 5.3.25
                    FNAL_SERVICE_INFORMATION (0),
                    PRELIMINARY_SERVICE_INFORMATION (1)
                };
                
                type enumerated SIP_Forking_Indication_Type{
                    // Ref: ETSI TS 129 214 5.3.22
                    SINGLE_DIALOGUE (0),
                    SEVERAL_DIALOGUES (1)
                };
                
                type enumerated AF_Signalling_Protocol_Type{
                    // Ref: ETSI TS 129 214 5.3.26
                    NO_INFORMATION (0),
                    SIP (1)
                };
                
            }//end group AVP_Rx_Types
								
			/*    AVPNs   */
			group RFC3588_AVPs{
@@ -1480,9 +1559,192 @@ group BasicTypes{
				type record Direct_Debiting_Failure_Handling_AVP{
				//	Ref: RFC4006 8.15.  Direct-Debiting-Failure-Handling AVP
					AVP_Header         			aVP_Header,//< AVP Header: 428 >
					Direct_Debi_Fail_Hand_Type	avp_DATA
					Direct_Debi_Fail_Hand_Type	avp_Data
				};
			}//end of group RFC4006_AVPa
			group Rx_AVPS{
			    
                type record Abort_Cause_AVP{
                //Ref: ETSI TS 129 214 Abort Cause AVP
                    AVP_Header			aVP_Header,
                    Abort_Cause_Type	aVP_Data
                };

                type record Address_Network_Charging_Address_AVP{
                //Ref: ETSI TS 129 214 Address_Network_Charging_Address AVP
                    AVP_Header			aVP_Header,
                    Address         	aVP_Data
                };			    
                
                type record Address_Network_Charging_Identifier_AVP{
                //Ref: ETSI TS 129 214 Address_Network_Charging_Identifier AVP
                    AVP_Header			aVP_Header,
                    set of AVP_Type     aVP_Type
                }; 
              
                type record Address_Network_Charging_Identifier_Value_AVP{
                //Ref: ETSI TS 129 214 Address_Network_Charging_Identifier_Value AVP
                    AVP_Header			aVP_Header,
                    octetstring        	aVP_Data
                };             
                
                type record Acceptable_Service_Info_AVP{
                 //Ref: ETSI TS 129 214 Acceptable_Service_Info_AVP
                     AVP_Header			aVP_Header,
                     set of AVP_Type     aVP_Type
                 };
                 
                type record AF_Application_Identifier_AVP{
                //Ref: ETSI TS 129 214 AF_Application_Identifier AVP
                    AVP_Header			aVP_Header,
                    octetstring        	aVP_Data
                };                 
                              
                type record AF_Charging_Identifier_AVP{
                //Ref: ETSI TS 129 214 AF_Charging_Identifier AVP
                    AVP_Header			aVP_Header,
                    octetstring        	aVP_Data
                }; 			    
                
                type record Application_Service_Provider_Identity_AVP{
                //Ref: ETSI TS 129 214 Application_Service_Provider_Identity AVP
                    AVP_Header			aVP_Header,
                    UTF8String        	aVP_Data
                };                 
 
                type record Codec_Data_AVP{
                //Ref: ETSI TS 129 214 Codec_data AVP
                    AVP_Header			aVP_Header,
                    octetstring        	aVP_Data
                };
                
                type record Flow_Decription_AVP{
                //Ref: ETSI TS 129 214 Flow_Description AVP
                    AVP_Header			aVP_Header,
                    IPFilterRule_Type  	aVP_Data
                };
                
                type record Flow_Number_AVP{
                //Ref: ETSI TS 129 214 Flow_Number AVP
                    AVP_Header			aVP_Header,
                    UInt32          	aVP_Data
                };                               
                
                type record Flows_AVP{
                 //Ref: ETSI TS 129 214 Flows_AVP
                     AVP_Header			aVP_Header,
                     set of AVP_Type   aVP_Type
                 };

                type record Flow_Status_AVP{
                //Ref: ETSI TS 129 214 Flow_Status AVP
                    AVP_Header			aVP_Header,
                    Flow_Status_Type	aVP_Data
                };

                type record Flow_Usage_AVP{
                 //Ref: ETSI TS 129 214 Flow_Usage AVP
                     AVP_Header			aVP_Header,
                     Flow_Usage_Type	aVP_Data
                 };  
                 
                type record Service_URN_AVP{
                //Ref: ETSI TS 129 214 Service_URN AVP
                    AVP_Header			aVP_Header,
                    octetstring        	aVP_Data
                }; 
 
                type record Specific_Action_AVP{
                 //Ref: ETSI TS 129 214 Specific_Action AVP
                     AVP_Header			aVP_Header,
                     Specific_Action_Type	aVP_Data
                 };                
 
                type record Max_Requested_Bandwidth_DL_AVP{
                //Ref: ETSI TS 129 214 FMax_Requested_Bandwidth_DL AVP
                    AVP_Header			aVP_Header,
                    UInt32          	aVP_Data
                };                    
                 
                type record Max_Requested_Bandwidth_UL_AVP{
                //Ref: ETSI TS 129 214 FMax_Requested_Bandwidth_UL AVP
                    AVP_Header			aVP_Header,
                    UInt32          	aVP_Data
                };  
                
                type record Media_Component_Decription_AVP{
                 //Ref: ETSI TS 129 214 Media_Component_Decription_AVP
                     AVP_Header			aVP_Header,
                     set of AVP_Type   aVP_Type //TODO: specify grouped AVPS
                 };                                               
                 
                type record Media_Component_Number_AVP{
                 //Ref: ETSI TS 129 214 Media_Component_Number_AVP
                     AVP_Header			aVP_Header,
                     UInt32             aVP_Data
                 };                                             
                
                type record Media_Sub_Component_AVP{
                 //Ref: ETSI TS 129 214 Media_Sub_Component_AVP
                     AVP_Header			aVP_Header,
                     set of AVP_Type   aVP_Type //TODO: specify grouped AVPS
                 };                 
                
                type record Media_Type_AVP{
                 //Ref: ETSI TS 129 214 Media_Type AVP
                     AVP_Header			aVP_Header,
                     Media_Type_Type	aVP_Data
                 }; 

                type record MPS_Identifier_AVP{
                //Ref: ETSI TS 129 214 MPS_Identifier AVP
                    AVP_Header			aVP_Header,
                    octetstring        	aVP_Data
                }; 
 
                type record RR_Bandwidth_AVP{
                //Ref: ETSI TS 129 214 RR Bandwidth_AVP
                   AVP_Header			aVP_Header,
                   UInt32               aVP_Data
                };  

                type record RS_Bandwidth_AVP{
                //Ref: ETSI TS 129 214 RS Bandwidth_AVP
                   AVP_Header			aVP_Header,
                   UInt32               aVP_Data
                };
                
                type record Service_Info_Status_AVP{
                 //Ref: ETSI TS 129 214 Service_Info AVP
                     AVP_Header			aVP_Header,
                     Service_Info_Type	aVP_Data
                 };              
                 
                type record SIP_Forking_Indication_AVP{
                 //Ref: ETSI TS 129 214 SIP_Forking_Indication AVP
                     AVP_Header			aVP_Header,
                     SIP_Forking_Indication_Type	aVP_Data
                 };                   
                                
                type record Sponsor_Identity_AVP{
                 //Ref: ETSI TS 129 214 Sponsor_Identity AVP
                     AVP_Header			aVP_Header,
                     UTF8String     	aVP_Data
                 };            
                 
                type record Sponsored_Conetivity_Data_AVP{
                 //Ref: ETSI TS 129 214 Sponsored_Conectivity_Data AVP
                     AVP_Header			aVP_Header,
                     set of AVP_Type   aVP_Type //TODO: specify grouped AVPS
                 };                    

                type record AF_Signalling_Protocol_AVP{
                  //Ref: ETSI TS 129 214 AF_Signalling_Protocol AVP
                      AVP_Header			aVP_Header,
                      AF_Signalling_Protocol_Type	aVP_Data
                  };
                                
			}//end of group Rx_AVPs								
        }//end group AVPTypes
		
		group MessageTypes{