Commit 01387dd0 authored by nikolajev's avatar nikolajev
Browse files

DIAMETER codec source update

parent 65758376
Loading
Loading
Loading
Loading
+3630 −542

File changed.

Preview size limit exceeded, changes collapsed.

+89 −62
Original line number Diff line number Diff line
@@ -19,10 +19,12 @@ T3DEVLIB_INTEGER_DEFINITION(LibDiameter_TypesAndValues, AVP_Code, Unsigned, 32);
T3DEVLIB_INTEGER_DEFINITION(LibDiameter_TypesAndValues, AVP_Length, Unsigned, 24);

//type integer AVP_Vendor_ID;
T3DEVLIB_INTEGER_DEFINITION(LibDiameter_TypesAndValues, AVP_Vendor_ID, Signed, 64);//TODO:max value not restricted in TTCN-3?
T3DEVLIB_INTEGER_DEFINITION(LibDiameter_TypesAndValues, AVP_Vendor_ID, Unsigned, 32);//in spec, 4 bytes

//TODO: although defined as Uint64 only encoded as 4 bytes
//type UInt64 Time;
T3DEVLIB_INTEGER_DEFINITION(LibDiameter_TypesAndValues, Time, Unsigned, 64);
//T3DEVLIB_INTEGER_DEFINITION(LibDiameter_TypesAndValues, Time, Unsigned, 64);
T3DEVLIB_INTEGER_DEFINITION(LibDiameter_TypesAndValues, Time, Unsigned, 32);

//type UInt8 Digest_Ty_Type;
T3DEVLIB_INTEGER_DEFINITION(LibDiameter_TypesAndValues, Digest_Ty_Type, Unsigned, 8);
@@ -269,68 +271,93 @@ AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Send_Data_Indication_Type)

AVP_ENUM_U32_DEFINITION(LibDiameter_TypesAndValues, Experimental_Result_Type)

AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, CC_Request_Ty_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Subscription_Id_Ty_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Requested_Action_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Tariff_Change_Usage_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Multiple_Serv_Indi_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, CC_Unit_Ty_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Final_Unit_Action_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Redirect_Address_Ty_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, User_Equipment_Info_Ty_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, CC_Session_Failover_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Check_Balance_Result_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Credit_Cont_Fail_Hand_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Direct_Debi_Fail_Hand_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Abort_Cause_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Flow_Status_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Flow_Usage_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Specific_Action_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Media_Type_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Service_Info_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, SIP_Forking_Indication_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, AF_Signalling_Protocol_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Reservation_Priority_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, IP_CAN_Type)

AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, RAT_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Bearer_Control_Mode)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Bearer_Operation)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Bearer_Usage)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Charging_Correlation_Indicator)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, CSG_Information_Reporting)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Event_Trigger)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Flow_Direction)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Metering_Method)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Network_Request_Support)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Offline)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Online)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Packet_Filter_Operation)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Packet_Filter_Usage)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Pre_emption_Capability)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Pre_emption_Vulnerability)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Reporting_Level)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, PCC_Rule_Status)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Session_Release_Cause)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, QoS_Class_Identifier)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, QoS_Negotiation)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, QoS_Upgrade)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Resource_Allocation_Notification)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Rule_Failure_Code)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Usage_Monitoring_Level)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Usage_Monitoring_Report)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Usage_Monitoring_Support)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, CSG_Access_Mode)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, CSG_Membership_Indication)

AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Trace_Depth)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Job_Type)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Report_Interval)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Report_Amount)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Logging_Interval)
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, Logging_Duration)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, CC_Request_Ty_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Subscription_Id_Ty_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Requested_Action_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Tariff_Change_Usage_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Multiple_Serv_Indi_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, CC_Unit_Ty_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Final_Unit_Action_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Redirect_Address_Ty_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, User_Equipment_Info_Ty_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, CC_Session_Failover_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Check_Balance_Result_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Credit_Cont_Fail_Hand_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Direct_Debi_Fail_Hand_Type)


AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Abort_Cause_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Flow_Status_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Flow_Usage_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Specific_Action_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Media_Type_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Service_Info_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, SIP_Forking_Indication_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, AF_Signalling_Protocol_Type)

AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Reservation_Priority_Type)

AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, IP_CAN_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, RAT_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Bearer_Control_Mode)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Bearer_Operation)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Bearer_Usage)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Charging_Correlation_Indicator)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, CSG_Information_Reporting)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Event_Trigger)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Flow_Direction)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Metering_Method)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Network_Request_Support)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Offline)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Online)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Packet_Filter_Operation)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Packet_Filter_Usage)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Pre_emption_Capability)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Pre_emption_Vulnerability)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Reporting_Level)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, PCC_Rule_Status)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Session_Release_Cause)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, QoS_Class_Identifier)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, QoS_Negotiation)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, QoS_Upgrade)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Resource_Allocation_Notification)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Rule_Failure_Code)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Usage_Monitoring_Level)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Usage_Monitoring_Report)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Usage_Monitoring_Support)

AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, CSG_Access_Mode)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, CSG_Membership_Indication)

AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Trace_Depth)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Job_Type)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Report_Interval)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Report_Amount)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Logging_Interval)
AVP_ENUM_S32_DEFINITION(LibDiameter_TypesAndValues, Logging_Duration)

//TODO: I have no idea where this is used....???
AVP_ENUM_DEFINITION(LibDiameter_TypesAndValues, ASP_type)

#define DEFINITIONS_CER_MSG() \
	private: \
		int m_nStartingPosition;


//class variable definitions
#define DEFINITIONS_AVP_Data() \
	public: \
		int m_nDataLength; \
		int m_nExpectedData;


#define DEFINITIONS_set_of_AVP_Type() \
	public: \
		int m_nRemainingDataLength; \
		int m_nStartingPosition;



}} //namespaces

#endif