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

com.mobius.software.telco.protocols.diameter.primitives.s6a.SubscriptionData Maven / Gradle / Ivy

package com.mobius.software.telco.protocols.diameter.primitives.s6a;
/*
 * 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.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.exceptions.AvpOccursTooManyTimesException;
import com.mobius.software.telco.protocols.diameter.primitives.DiameterGroupedAvp;
import com.mobius.software.telco.protocols.diameter.primitives.pc4a.ProSeSubscriptionData;
import com.mobius.software.telco.protocols.diameter.primitives.s6t.AESECommunicationPattern;
import com.mobius.software.telco.protocols.diameter.primitives.s6t.MonitoringEventConfiguration;

import io.netty.buffer.ByteBuf;

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

/*
 * 	7.3.2	Subscription-Data
	The Subscription-Data AVP is of type Grouped. It shall contain the information related to the user profile relevant for EPS and GERAN/UTRAN.
	AVP format:

	Subscription-Data ::= 
		   [ Subscriber-Status ]
		   [ MSISDN ]
		   [ A-MSISDN ]
		   [ STN-SR ]
		   [ ICS-Indicator ]
		   [ Network-Access-Mode ]
		   [ Operator-Determined-Barring ]
		   [ HPLMN-ODB ]
		*10[ Regional-Subscription-Zone-Code ]
		   [ Access-Restriction-Data ]
		   [ APN-OI-Replacement ]
		   [ LCS-Info ]
		   [ Teleservice-List ]
		*  [ Call-Barring-Info ]
		   [ 3GPP-Charging-Characteristics ]
		   [ AMBR ]
		   [ APN-Configuration-Profile ]
		   [ RAT-Frequency-Selection-Priority-ID ]
		   [ Trace-Data]
		   [ GPRS-Subscription-Data ]
		*  [ CSG-Subscription-Data ]
		   [ Roaming-Restricted-Due-To-Unsupported-Feature ]
		   [ Subscribed-Periodic-RAU-TAU-Timer ]
		   [ MPS-Priority ]
		   [ VPLMN-LIPA-Allowed ]
		   [ Relay-Node-Indicator ]
		   [ MDT-User-Consent ]
		   [ Subscribed-VSRVCC ]
		   [ ProSe-Subscription-Data ]
		   [ Subscription-Data-Flags ]
		*  [ Adjacent-Access-Restriction-Data ]
		   [ DL-Buffering-Suggested-Packet-Count ]
		*  [ IMSI-Group-Id ]
		   [ UE-Usage-Type ]
		*  [ AESE-Communication-Pattern ]
		*  [ Monitoring-Event-Configuration ]
		   [ Emergency-Info ]
		   [ V2X-Subscription-Data ]
		   [ V2X-Subscription-Data-Nr ]
		*  [ eDRX-Cycle-Length ]
		   [ External-Identifier ]
		   [ Active-Time ]
		   [ Service-Gap-Time ]
		   [ Broadcast-Location-Assistance-Data-Types ]
		   [ Aerial-UE-Subscription-Information ]
		   [ Core-Network-Restrictions ]
		*  [ Paging-Time-Window ]
		   [ Subscribed-ARPI ]
		   [ IAB-Operation-Permission ]
		*  [ AVP ]

	The AMBR included in this grouped AVP shall include the AMBR associated to the user's subscription (UE-AMBR); Max-Requested-Bandwidth-UL and Max-Requested-Bandwidth-DL within this AVP shall not both be set to "0".
	The APN-OI-Replacement included in this grouped AVP shall include the UE level APN-OI-Replacement associated to the user's subscription.
	When multiple External Identifiers are defined for the same subscription, the External-Identifier in this grouped AVP shall contain a default External Identifier determined by the HSS.
 */
@DiameterAvpDefinition(code = TgppAvpCodes.SUBSCRIPTION_DATA, vendorId = VendorIDs.TGPP_ID, name = "Subscription-Data")
public interface SubscriptionData extends DiameterGroupedAvp
{
	SubscriberStatusEnum getSubscriberStatus();
	
	void setSubscriberStatus(SubscriberStatusEnum value);	
	
	String getMSISDN();
	
	void setMSISDN(String value);
	
	String getAMSISDN();
	
	void setAMSISDN(String value);
	
	String getSTNSR();
	
	void setSTNSR(String value);
	
	ICSIndicatorEnum getICSIndicator();
	
	void setICSIndicator(ICSIndicatorEnum value);
	
	NetworkAccessModeEnum getNetworkAccessMode();
	
	void setNetworkAccessMode(NetworkAccessModeEnum value);
	
	OperatorDeterminedBarring getOperatorDeterminedBarring();
	
	void setOperatorDeterminedBarring(OperatorDeterminedBarring value);
	
	HPLMNODB getHPLMNODB();
	
	void setHPLMNODB(HPLMNODB value);
	
	List getRegionalSubscriptionZoneCode();
	
	void setRegionalSubscriptionZoneCode(List value) throws AvpOccursTooManyTimesException;
	
	AccessRestrictionData getAccessRestrictionData();
	
	void setAccessRestrictionData(AccessRestrictionData value);
	
	String getAPNOIReplacement();
	
	void setAPNOIReplacement(String value);
	
	LCSInfo getLCSInfo();
	
	void setLCSInfo(LCSInfo value);
	
	TeleserviceList getTeleserviceList();
	
	void setTeleserviceList(TeleserviceList value);
	
	List getCallBarringInfo();
	
	void setCallBarringInfo(List value);
	
	String getTGPPChargingCharacteristics();
	
	void setTGPPChargingCharacteristics(String value);
	
	AMBR getAMBR();
	
	void setAMBR(AMBR value);
	
	APNConfigurationProfile getAPNConfigurationProfile();
	
	void setAPNConfigurationProfile(APNConfigurationProfile value);
	
	Long getRATFrequencySelectionPriorityID();
	
	void setRATFrequencySelectionPriorityID(Long value);
	
	TraceData getTraceData();
	
	void setTraceData(TraceData value);
	
	GPRSSubscriptionData getGPRSSubscriptionData();
	
	void setGPRSSubscriptionData(GPRSSubscriptionData value);	
	
	List getCSGSubscriptionData();
	
	void setCSGSubscriptionData(List value);
	
	RoamingRestrictedDueToUnsupportedFeatureEnum getRoamingRestrictedDueToUnsupportedFeature();
	
	void setRoamingRestrictedDueToUnsupportedFeature(RoamingRestrictedDueToUnsupportedFeatureEnum value);
	
	Long getSubscribedPeriodicRAUTAUTimer();
	
	void setSubscribedPeriodicRAUTAUTimer(Long value);	
	
	MPSPriority getMPSPriority();
	
	void setMPSPriority(MPSPriority value);	
	
	VPLMNLIPAAllowedEnum getVPLMNLIPAAllowed();
	
	void setVPLMNLIPAAllowed(VPLMNLIPAAllowedEnum value);
	
	RelayNodeIndicatorEnum getRelayNodeIndicator();
	
	void setRelayNodeIndicator(RelayNodeIndicatorEnum value);
	
	MDTUserConsentEnum getMDTUserConsent();
	
	void setMDTUserConsent(MDTUserConsentEnum value);
	
	SubscribedVSRVCCEnum getSubscribedVSRVCC();
	
	void setSubscribedVSRVCC(SubscribedVSRVCCEnum value);
	
	ProSeSubscriptionData getProSeSubscriptionData();
	
	void setProSeSubscriptionData(ProSeSubscriptionData value);
	
	SubscriptionDataFlags getSubscriptionDataFlags();
	
	void setSubscriptionDataFlags(SubscriptionDataFlags value);
	
	List getAdjacentAccessRestrictionData();
	
	void setAdjacentAccessRestrictionData(List value);
	
	Integer getDLBufferingSuggestedPacketCount();
	
	void setDLBufferingSuggestedPacketCount(Integer value);
	
	List getIMSIGroupId();
	
	void setIMSIGroupId(List value);
	
	Long getUEUsageType();
	
	void setUEUsageType(Long value);
	
	List getAESECommunicationPattern();
	
	void setAESECommunicationPattern(List value);
	
	List getMonitoringEventConfiguration();
	
	void setMonitoringEventConfiguration(List value);
	
	EmergencyInfo getEmergencyInfo();
	
	void setEmergencyInfo(EmergencyInfo value);
	
	V2XSubscriptionData getV2XSubscriptionData();
	
	void setV2XSubscriptionData(V2XSubscriptionData value);
	
	V2XSubscriptionDataNr getV2XSubscriptionDataNr();
	
	void setV2XSubscriptionDataNr(V2XSubscriptionDataNr value);
	
	List getEDRXCycleLength();
	
	void setEDRXCycleLength(List value);
	
	String getExternalIdentifier();
	
	void setExternalIdentifier(String value);
	
	Long getActiveTime();
	
	void setActiveTime(Long value);
	
	Long getServiceGapTime();
	
	void setServiceGapTime(Long value);
	
	BroadcastLocationAssistanceDataTypes getBroadcastLocationAssistanceDataTypes();
	
	void setBroadcastLocationAssistanceDataTypes(BroadcastLocationAssistanceDataTypes value);
	
	AerialUESubscriptionInformationEnum getAerialUESubscriptionInformation();
	
	void setAerialUESubscriptionInformation(AerialUESubscriptionInformationEnum value);
	
	Long getCoreNetworkRestrictions();
	
	void setCoreNetworkRestrictions(Long value);
	
	List getPagingTimeWindow();
	
	void setPagingTimeWindow(List value);
	
	Long getSubscribedARPI();
	
	void setSubscribedARPI(Long value);
	
	IABOperationPermissionEnum getIABOperationPermission();
	
	void setIABOperationPermission(IABOperationPermissionEnum value);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy