All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mobius.software.telco.protocols.diameter.primitives.accounting.TrafficDataVolumes Maven / Gradle / Ivy

There is a newer version: 10.0.0-17-java11
Show newest version
package com.mobius.software.telco.protocols.diameter.primitives.accounting;
/*
 * Mobius Software LTD
 * Copyright 2023, Mobius Software LTD and individual contributors
 * by the @authors tag.
 *
 * This program is free software: you can redistribute it and/or modify
 * under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation; either version 3 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see 
 */

import java.util.Date;
import java.util.List;

import com.mobius.software.telco.protocols.diameter.TgppAvpCodes;
import com.mobius.software.telco.protocols.diameter.VendorIDs;
import com.mobius.software.telco.protocols.diameter.annotations.DiameterAvpDefinition;
import com.mobius.software.telco.protocols.diameter.primitives.DiameterAvp;
import com.mobius.software.telco.protocols.diameter.primitives.gx.AccessAvailabilityChangeReasonEnum;
import com.mobius.software.telco.protocols.diameter.primitives.gx.PresenceReportingAreaInformation;
import com.mobius.software.telco.protocols.diameter.primitives.gx.PresenceReportingAreaStatusEnum;
import com.mobius.software.telco.protocols.diameter.primitives.gx.QoSInformation;
import com.mobius.software.telco.protocols.diameter.primitives.t6a.ServingPLMNRateControl;

import io.netty.buffer.ByteBuf;

/**
*
* @author yulian oifa
*
*/

/*
 * 	7.2.233	Traffic-Data-Volumes AVP
	The Traffic-Data-Volumes AVP (AVP code 2046) is of type Grouped. Its purpose is to allow the transmission of the IP-CAN bearer container, on encountering change on charging condition for this IP-CAN bearer.This container  reports the volume count (separated for uplink and downlink). The 3GPP-Charging-Id AVP for the IP-CAN bearer is included when charging per IP-CAN session is active.
	It has the following ABNF grammar:

	Traffic-Data-Volumes :: = 	  < AVP Header: 2046>
		    [ QoS-Information ]
		    [ Accounting-Input-Octets ]
		    [ Accounting-Output-Octets ]
		    [ Change-condition ]
		    [ Change-Time ]
		    [ 3GPP-User-Location-Info ]
		    [ UWAN-User-Location-Info ]
		    [ 3GPP-Charging-Id ]
		    [ Presence-Reporting-Area-Status ] 
 		* 	[ Presence-Reporting-Area-Information ]
		    [ User-CSG-Information ] 
		    [ 3GPP-RAT-Type ]
		    [ Access-Availability-Change-Reason ]
		    [ Related-Change-Condition-Information ]
		    [ Diagnostics ]
		    [ Enhanced-Diagnostics ]
		    [ CP-CIoT-EPS-Optimisation-Indicator ]
		    [ Serving-PLMN-Rate-Control ]
		    [ APN-Rate-Control ]
 */
@DiameterAvpDefinition(code = TgppAvpCodes.TRAFFIC_DATA_VOLUMES, vendorId = VendorIDs.TGPP_ID, name = "Traffic-Data-Volumes")
public interface TrafficDataVolumes extends DiameterAvp
{
	QoSInformation getQoSInformation();
	
	void setQoSInformation(QoSInformation value);
	
	Long getAccountingInputOctets();
	
	void setAccountingInputOctets(Long value);
	
	Long getAccountingOutputOctets();
	
	void setAccountingOutputOctets(Long value);
	
	Long getChangeCondition();
	
	void setChangeCondition(Long value);
	
	Date getChangeTime();
	
	void setChangeTime(Date value);
	
	ByteBuf get3GPPUserLocationInfo();
	
	void set3GPPUserLocationInfo(ByteBuf value);
	
	UWANUserLocationInfo getUWANUserLocationInfo();
	
	void setUWANUserLocationInfo(UWANUserLocationInfo value);
	
	ByteBuf get3GPPChargingId();
	
	void set3GPPChargingId(ByteBuf value);
	
	PresenceReportingAreaStatusEnum getPresenceReportingAreaStatus();
	
	void setPresenceReportingAreaStatus(PresenceReportingAreaStatusEnum value);
	
	List getPresenceReportingAreaInformation();
	
	void setPresenceReportingAreaInformation(List value);
	
	UserCSGInformation getUserCSGInformation();
	
	void setUserCSGInformation(UserCSGInformation value);
	
	ByteBuf get3GPPRATType();
	
	void set3GPPRATType(ByteBuf value);
	
	AccessAvailabilityChangeReasonEnum getAccessAvailabilityChangeReason();
	
	void setAccessAvailabilityChangeReason(AccessAvailabilityChangeReasonEnum value);
	
	RelatedChangeConditionInformation getRelatedChangeConditionInformation();
	
	void setRelatedChangeConditionInformation(RelatedChangeConditionInformation value);
	
	Integer getDiagnostics();
	
	void setDiagnostics(Integer value);
	
	EnhancedDiagnostics getEnhancedDiagnostics();
	
	void setEnhancedDiagnostics(EnhancedDiagnostics value);
	
	CPCIoTEPSOptimisationIndicatorEnum getCPCIoTEPSOptimisationIndicator();
	
	void setCPCIoTEPSOptimisationIndicator(CPCIoTEPSOptimisationIndicatorEnum value);
	
	ServingPLMNRateControl getServingPLMNRateControl();
	
	void setServingPLMNRateControl(ServingPLMNRateControl value);
	
	APNRateControl getAPNRateControl();
	
	void setAPNRateControl(APNRateControl value);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy