EpcTools
An event based multi-threaded C++ development framework.
Classes | Enumerations | Functions
PFCP_R15 Namespace Reference

Contains the class definitions for the PFCP release 15 messages and information elements. More...

Classes

struct  _CauseIE
 
class  ActivatePredefinedRulesIE
 
class  AdditionalMonitoringTimeIE
 
class  AdditionalUsageReportsInformationIE
 
class  AggregatedUrrIdIE
 
class  AggregatedUrrsIE
 
class  ApnDnnIE
 
class  ApplicationDetectionInformationIE
 
class  ApplicationIdIE
 
class  ApplicationIdsPfdsIE
 
class  ApplicationInstanceIdIE
 
class  ApplyActionIE
 
class  AssnReleaseReq
 
class  AssnReleaseRsp
 
class  AssnSetupReq
 
class  AssnSetupRsp
 
class  AssnUpdateReq
 
class  AssnUpdateRsp
 
class  AssociationReleaseRequestIE
 
class  AveragingWindowIE
 
class  BarIdIE
 
class  CauseIE
 
class  CpFunctionFeaturesIE
 
class  CreateBarIE
 
class  CreatedPdrIE
 
class  CreatedTrafficEndpointIE
 
class  CreateFarIE
 
class  CreatePdrIE
 
class  CreateQerIE
 
class  CreateTrafficEndpointIE
 
class  CreateUrrIE
 
class  CTagIE
 
class  DeactivatePredefinedRulesIE
 
class  DestinationInterfaceIE
 
class  DlBufferingDurationIE
 
class  DlBufferingSuggestedPacketCountIE
 
class  DlFlowLevelMarkingIE
 
class  DownlinkDataNotificationDelayIE
 
class  DownlinkDataReportIE
 
class  DownlinkDataServiceInformationIE
 
class  DroppedDlTrafficThresholdIE
 
class  DuplicatingParametersIE
 
class  DurationMeasurementIE
 
class  EndTimeIE
 
class  ErrorIndicationReportIE
 
class  EthernetFilterIdIE
 
class  EthernetFilterPropertiesIE
 
class  EthernetInactivityTimerIE
 
class  EthernetPacketFilterIE
 
class  EthernetPduSessionInformationIE
 
class  EthernetTrafficInformationIE
 
class  EthertypeIE
 
class  EventQuotaIE
 
class  EventThresholdIE
 
class  EventTimeStampIE
 
class  FailedRuleIdIE
 
class  FarIdIE
 
class  FlowInformationIE
 
class  ForwardingParametersIE
 
class  ForwardingPolicyIE
 
class  FqCsidIE
 
class  FramedIpv6RouteIE
 
class  FramedRouteIE
 
class  FramedRoutingIE
 
class  FSeidIE
 
class  FTeidIE
 
class  GateStatusIE
 
class  GbrIE
 
class  GracefulReleasePeriodIE
 
class  HeaderEnrichmentIE
 
class  HeartbeatReq
 
class  HeartbeatRsp
 
class  IEHeader
 
class  InactivityDetectionTimeIE
 
class  LengthCalculator
 
class  LinkedUrrIdIE
 
class  LoadControlInformationIE
 
class  MacAddressesDetectedIE
 
class  MacAddressesRemovedIE
 
class  MacAddressIE
 
class  MbrIE
 
class  MeasurementInformationIE
 
class  MeasurementMethodIE
 
class  MeasurementPeriodIE
 
class  MetricIE
 
class  MonitoringTimeIE
 
class  MultiplierIE
 
class  NetworkInstanceIE
 
class  NodeIdIE
 
class  NodeReportReq
 
class  NodeReportRsp
 
class  NodeReportTypeIE
 
class  OciFlagsIE
 
class  OffendingIeIE
 
class  OuterHeaderCreationIE
 
class  OuterHeaderRemovalIE
 
class  OverloadControlInformationIE
 
class  PacketRateIE
 
class  PagingPolicyIndicatorIE
 
class  PdiIE
 
class  PdnTypeIE
 
class  PdrIdIE
 
class  PfcpSmReqFlagsIE
 
class  PfcpSrRspFlagsIE
 
class  PfdContentsIE
 
class  PfdContextIE
 
class  PfdMgmtReq
 
class  PfdMgmtRsp
 
class  PrecedenceIE
 
class  ProxyingIE
 
class  QerCorrelationIdIE
 
class  QerIdIE
 
class  QfiIE
 
class  QueryUrrIE
 
class  QueryUrrReferenceIE
 
class  QuotaHoldingTimeIE
 
class  RecoveryTimeStampIE
 
class  RedirectInformationIE
 
class  RemoteGTPUPeerIE
 
class  RemoveBarIE
 
class  RemoveFarIE
 
class  RemovePdrIE
 
class  RemoveQerIE
 
class  RemoveTrafficEndpointIE
 
class  RemoveUrrIE
 
class  ReportingTriggersIE
 
class  ReportTypeIE
 
class  RqiIE
 
class  SdfFilterIE
 
class  SequenceNumberIE
 
class  SessionDeletionReq
 
class  SessionDeletionRsp
 
class  SessionEstablishmentReq
 
class  SessionEstablishmentRsp
 
class  SessionModificationReq
 
class  SessionModificationRsp
 
class  SessionReportReq
 
class  SessionReportRsp
 
class  SessionSetDeletionReq
 
class  SessionSetDeletionRsp
 
class  SourceInterfaceIE
 
class  STagIE
 
class  StartTimeIE
 
class  SubsequentEventQuotaIE
 
class  SubsequentEventThresholdIE
 
class  SubsequentTimeQuotaIE
 
class  SubsequentTimeThresholdIE
 
class  SubsequentVolumeQuotaIE
 
class  SubsequentVolumeThresholdIE
 
class  SuggestedBufferingPacketsCountIE
 
class  TgppInterfaceTypeIE
 
class  TimeOfFirstPacketIE
 
class  TimeOfLastPacketIE
 
class  TimeQuotaIE
 
class  TimeQuotaMechanismIE
 
class  TimerIE
 
class  TimeThresholdIE
 
class  TraceInformationIE
 
class  TrafficEndpointIdIE
 
class  Translator
 
class  TransportLevelMarkingIE
 
class  UeIpAddressIE
 
class  UpdateBarSessionModificationReqIE
 
class  UpdateBarSessionReportRspIE
 
class  UpdateDuplicatingParametersIE
 
class  UpdateFarIE
 
class  UpdateForwardingParametersIE
 
class  UpdatePdrIE
 
class  UpdateQerIE
 
class  UpdateTrafficEndpointIE
 
class  UpdateUrrIE
 
class  UpFunctionFeaturesIE
 
class  UrrIdIE
 
class  UrSeqnIE
 
class  UsageInformationIE
 
class  UsageReportSessionDeletionRspIE
 
class  UsageReportSessionModificationRspIE
 
class  UsageReportSessionReportReqIE
 
class  UsageReportTriggerIE
 
class  UserIdIE
 
class  UserPlaneInactivityTimerIE
 
class  UserPlaneIpResourceInformationIE
 
class  UserPlanePathFailureReportIE
 
class  VersionNotSupportedRsp
 
class  VolumeMeasurementIE
 
class  VolumeQuotaIE
 
class  VolumeThresholdIE
 

Enumerations

enum  CauseEnum : uint8_t {
  CauseEnum::Reserved = 0, CauseEnum::RequestAccepted = 1, CauseEnum::RequestRejected = 64, CauseEnum::SessionContextNotFound = 65,
  CauseEnum::MandatoryIeMissing = 66, CauseEnum::ConditionalIeMissing = 67, CauseEnum::InvalidLength = 68, CauseEnum::MandatoryIeIncorrect = 69,
  CauseEnum::InvalidForwardingPolicy = 70, CauseEnum::InvalidFTeidAllocationOption = 71, CauseEnum::NoEstablishedPfcpAssociation = 72, CauseEnum::RuleCreationModificationFailure = 73,
  CauseEnum::PfcpEntityInCongestion = 74, CauseEnum::NoResourcesAvailable = 75, CauseEnum::ServiceNotSupported = 76, CauseEnum::SystemFailure = 77
}
 
enum  SourceInterfaceEnum : uint8_t { SourceInterfaceEnum::Access = 0, SourceInterfaceEnum::Core = 1, SourceInterfaceEnum::SGILanN6Lan = 2, SourceInterfaceEnum::CPFunction = 3 }
 
enum  DownlinkGateEnum : uint8_t { DownlinkGateEnum::Open = 0, DownlinkGateEnum::Closed = 1, DownlinkGateEnum::Future1 = 2, DownlinkGateEnum::Future2 = 3 }
 
enum  UplinkGateEnum : uint8_t { UplinkGateEnum::Open = 0, UplinkGateEnum::Closed = 1, UplinkGateEnum::Future1 = 2, UplinkGateEnum::Future2 = 3 }
 
enum  RedirectAddressTypeEnum : uint8_t {
  RedirectAddressTypeEnum::ipv4_address = 0, RedirectAddressTypeEnum::ipv6_address = 1, RedirectAddressTypeEnum::url = 2, RedirectAddressTypeEnum::sip_uri = 3,
  RedirectAddressTypeEnum::ipv4_and_ipv6_address = 4
}
 
enum  DestinationInterfaceEnum : uint8_t {
  DestinationInterfaceEnum::access = 0, DestinationInterfaceEnum::core = 1, DestinationInterfaceEnum::sgi_lan_n6_lan = 2, DestinationInterfaceEnum::cp_function = 3,
  DestinationInterfaceEnum::li_function = 4
}
 
enum  DlBufferingDurationTimerUnitEnum : uint8_t {
  DlBufferingDurationTimerUnitEnum::two_seconds = 0, DlBufferingDurationTimerUnitEnum::one_minute = 1, DlBufferingDurationTimerUnitEnum::ten_minutes = 2, DlBufferingDurationTimerUnitEnum::one_hour = 3,
  DlBufferingDurationTimerUnitEnum::ten_hours = 4, DlBufferingDurationTimerUnitEnum::infinite = 7
}
 
enum  TimerTimerUnitEnum : uint8_t {
  TimerTimerUnitEnum::two_seconds = 0, TimerTimerUnitEnum::one_minute = 1, TimerTimerUnitEnum::ten_minutes = 2, TimerTimerUnitEnum::one_hour = 3,
  TimerTimerUnitEnum::ten_hours = 4, TimerTimerUnitEnum::infinite = 7
}
 
enum  NodeIdTypeEnum : uint8_t { NodeIdTypeEnum::ipv4_address = 0, NodeIdTypeEnum::ipv6_address = 1, NodeIdTypeEnum::FQDN = 2 }
 
enum  FqCsidNodeIdTypeEnum : uint8_t { FqCsidNodeIdTypeEnum::ipv4 = 0, FqCsidNodeIdTypeEnum::ipv6 = 1, FqCsidNodeIdTypeEnum::mcc_mnc_id = 2 }
 
enum  InternetProtocolEnum { InternetProtocolEnum::TCP = 6, InternetProtocolEnum::UDP = 17 }
 
enum  FlowDirectionEnum : uint8_t { FlowDirectionEnum::unspecified = 0, FlowDirectionEnum::downlink = 1, FlowDirectionEnum::uplink = 2, FlowDirectionEnum::bidirectional = 3 }
 
enum  UplinkDownlinkTimeUnitEnum : uint8_t {
  UplinkDownlinkTimeUnitEnum::minute = 0, UplinkDownlinkTimeUnitEnum::six_minutes = 1, UplinkDownlinkTimeUnitEnum::hour = 2, UplinkDownlinkTimeUnitEnum::day = 3,
  UplinkDownlinkTimeUnitEnum::week = 4
}
 
enum  OuterHeaderRemovalEnum : uint8_t {
  OuterHeaderRemovalEnum::gtpu_udp_ipv4 = 0, OuterHeaderRemovalEnum::gtpu_udp_ipv6 = 1, OuterHeaderRemovalEnum::udp_ipv4 = 2, OuterHeaderRemovalEnum::udp_ipv6 = 3,
  OuterHeaderRemovalEnum::ipv4 = 4, OuterHeaderRemovalEnum::ipv6 = 5, OuterHeaderRemovalEnum::gtpu_udp_ip = 6, OuterHeaderRemovalEnum::stag = 7,
  OuterHeaderRemovalEnum::stag_ctag = 8
}
 
enum  HeaderTypeEnum : uint8_t { HeaderTypeEnum::http = 0 }
 
enum  GracefulReleasePeriodTimerUnitEnum : uint8_t {
  GracefulReleasePeriodTimerUnitEnum::two_seconds = 0, GracefulReleasePeriodTimerUnitEnum::one_minute = 1, GracefulReleasePeriodTimerUnitEnum::ten_minutes = 2, GracefulReleasePeriodTimerUnitEnum::one_hour = 3,
  GracefulReleasePeriodTimerUnitEnum::ten_hours = 4, GracefulReleasePeriodTimerUnitEnum::infinite = 7
}
 
enum  PdnTypeEnum : uint8_t {
  PdnTypeEnum::ipv4 = 1, PdnTypeEnum::ipv6 = 2, PdnTypeEnum::ipv4v6 = 3, PdnTypeEnum::nonip = 4,
  PdnTypeEnum::ethernet = 5
}
 
enum  RuleIdTypeEnum : uint8_t {
  RuleIdTypeEnum::pdr = 0, RuleIdTypeEnum::far = 1, RuleIdTypeEnum::qer = 2, RuleIdTypeEnum::urr = 3,
  RuleIdTypeEnum::bar = 4
}
 
enum  BaseTimeIntervalTypeEnum : uint8_t { BaseTimeIntervalTypeEnum::ctp = 0, BaseTimeIntervalTypeEnum::dtp = 1 }
 
enum  FramedRoutingEnum : uint32_t { FramedRoutingEnum::none = 0, FramedRoutingEnum::send_routing_packets = 1, FramedRoutingEnum::listen_for_routing_packets = 2, FramedRoutingEnum::send_and_listen = 3 }
 
enum  TgppInterfaceTypeEnum : uint8_t {
  TgppInterfaceTypeEnum::S1U = 0, TgppInterfaceTypeEnum::S5S8U = 1, TgppInterfaceTypeEnum::S4u = 2, TgppInterfaceTypeEnum::S11U = 3,
  TgppInterfaceTypeEnum::S12U = 4, TgppInterfaceTypeEnum::GnGpU = 5, TgppInterfaceTypeEnum::S2aU = 6, TgppInterfaceTypeEnum::S2bU = 7,
  TgppInterfaceTypeEnum::eNodeB_GTPU_interface_for_DL_data_forwarding = 8, TgppInterfaceTypeEnum::eNodeB_GTPU_interface_for_UL_data_forwarding = 9, TgppInterfaceTypeEnum::SGW_UPF_GTPU_interface_for_DL_data_forwarding = 10, TgppInterfaceTypeEnum::N3_3GPP_Access = 11,
  TgppInterfaceTypeEnum::N3_Trusted_Non_3GPP_Access = 12, TgppInterfaceTypeEnum::N3_Untrusted_Non_3GPP_Access = 13, TgppInterfaceTypeEnum::N3_for_data_forwarding = 14, TgppInterfaceTypeEnum::N9 = 15
}
 

Functions

 DECLARE_ERROR_ADVANCED2 (NodeIdException_UnrecognizedNodeIdType)
 
 DECLARE_ERROR (NodeIdException_NodeIdTypeLengthMismatch)
 
struct __attribute ((__may_alias__)) _HeartbeatReq
 

Detailed Description

Contains the class definitions for the PFCP release 15 messages and information elements.

Enumeration Type Documentation

enum PFCP_R15::BaseTimeIntervalTypeEnum : uint8_t
strong
Enumerator
ctp 
dtp 
enum PFCP_R15::CauseEnum : uint8_t
strong
Enumerator
Reserved 
RequestAccepted 
RequestRejected 
SessionContextNotFound 
MandatoryIeMissing 
ConditionalIeMissing 
InvalidLength 
MandatoryIeIncorrect 
InvalidForwardingPolicy 
InvalidFTeidAllocationOption 
NoEstablishedPfcpAssociation 
RuleCreationModificationFailure 
PfcpEntityInCongestion 
NoResourcesAvailable 
ServiceNotSupported 
SystemFailure 
enum PFCP_R15::DestinationInterfaceEnum : uint8_t
strong
Enumerator
access 
core 
sgi_lan_n6_lan 
cp_function 
li_function 
Enumerator
two_seconds 
one_minute 
ten_minutes 
one_hour 
ten_hours 
infinite 
enum PFCP_R15::DownlinkGateEnum : uint8_t
strong
Enumerator
Open 
Closed 
Future1 
Future2 
enum PFCP_R15::FlowDirectionEnum : uint8_t
strong
Enumerator
unspecified 
downlink 
uplink 
bidirectional 
enum PFCP_R15::FqCsidNodeIdTypeEnum : uint8_t
strong
Enumerator
ipv4 
ipv6 
mcc_mnc_id 
enum PFCP_R15::FramedRoutingEnum : uint32_t
strong
Enumerator
none 
send_routing_packets 
listen_for_routing_packets 
send_and_listen 
Enumerator
two_seconds 
one_minute 
ten_minutes 
one_hour 
ten_hours 
infinite 
enum PFCP_R15::HeaderTypeEnum : uint8_t
strong
Enumerator
http 
Enumerator
TCP 
UDP 
enum PFCP_R15::NodeIdTypeEnum : uint8_t
strong
Enumerator
ipv4_address 
ipv6_address 
FQDN 
enum PFCP_R15::OuterHeaderRemovalEnum : uint8_t
strong
Enumerator
gtpu_udp_ipv4 
gtpu_udp_ipv6 
udp_ipv4 
udp_ipv6 
ipv4 
ipv6 
gtpu_udp_ip 
stag 
stag_ctag 
enum PFCP_R15::PdnTypeEnum : uint8_t
strong
Enumerator
ipv4 
ipv6 
ipv4v6 
nonip 
ethernet 
enum PFCP_R15::RedirectAddressTypeEnum : uint8_t
strong
Enumerator
ipv4_address 
ipv6_address 
url 
sip_uri 
ipv4_and_ipv6_address 
enum PFCP_R15::RuleIdTypeEnum : uint8_t
strong
Enumerator
pdr 
far 
qer 
urr 
bar 
enum PFCP_R15::SourceInterfaceEnum : uint8_t
strong
Enumerator
Access 
Core 
SGILanN6Lan 
CPFunction 
enum PFCP_R15::TgppInterfaceTypeEnum : uint8_t
strong
Enumerator
S1U 
S5S8U 
S4u 
S11U 
S12U 
GnGpU 
S2aU 
S2bU 
eNodeB_GTPU_interface_for_DL_data_forwarding 
eNodeB_GTPU_interface_for_UL_data_forwarding 
SGW_UPF_GTPU_interface_for_DL_data_forwarding 
N3_3GPP_Access 
N3_Trusted_Non_3GPP_Access 
N3_Untrusted_Non_3GPP_Access 
N3_for_data_forwarding 
N9 
enum PFCP_R15::TimerTimerUnitEnum : uint8_t
strong
Enumerator
two_seconds 
one_minute 
ten_minutes 
one_hour 
ten_hours 
infinite 
enum PFCP_R15::UplinkDownlinkTimeUnitEnum : uint8_t
strong
Enumerator
minute 
six_minutes 
hour 
day 
week 
enum PFCP_R15::UplinkGateEnum : uint8_t
strong
Enumerator
Open 
Closed 
Future1 
Future2 

Function Documentation

struct PFCP_R15::__attribute ( (__may_alias__)  )
PFCP_R15::DECLARE_ERROR ( NodeIdException_NodeIdTypeLengthMismatch  )
PFCP_R15::DECLARE_ERROR_ADVANCED2 ( NodeIdException_UnrecognizedNodeIdType  )