sae corba plug-in service provider interface (spi) · chapter 1 sae corba plug-in service provider...

69
SAE CORBA Plug-In Service Provider Interface (SPI) 7.16 Generated by Doxygen 1.6.1 Fri May 20 14:26:39 2016

Upload: doankhanh

Post on 29-Jun-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

SAE CORBA Plug-In Service Provider Interface (SPI)7.16

Generated by Doxygen 1.6.1

Fri May 20 14:26:39 2016

Contents

1 SAE CORBA Plug-In Service Provider Interface (SPI) 1

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Resolving the Object Reference . . . . . . . . . . . . . . . . . . . . 1

1.3 External Plug-In Example . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 Hosted Plug-Ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Namespace Index 3

2.1 Package List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Class Index 5

3.1 Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Class Index 7

4.1 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 File Index 9

5.1 File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

6 Namespace Documentation 11

6.1 Package sspPlugin . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 16

6.1.2 Typedef Documentation . . . . . . . . . . . . . . . . . . . . 16

6.1.2.1 NameValueList . . . . . . . . . . . . . . . . . . . 16

6.1.3 Enumeration Type Documentation . . . . . . . . . . . . . . . 16

6.1.3.1 PluginAttribute . . . . . . . . . . . . . . . . . . . 16

ii CONTENTS

6.1.3.2 PluginAttributeType . . . . . . . . . . . . . . . . . 29

6.1.3.3 PluginEventType . . . . . . . . . . . . . . . . . . 29

7 Class Documentation 31

7.1 sspPlugin.AttributeUnion Union Reference . . . . . . . . . . . . . . 31

7.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 31

7.1.2 Member Data Documentation . . . . . . . . . . . . . . . . . 32

7.1.2.1 longLongVal . . . . . . . . . . . . . . . . . . . . . 32

7.1.2.2 longVal . . . . . . . . . . . . . . . . . . . . . . . . 32

7.1.2.3 opaqueVal . . . . . . . . . . . . . . . . . . . . . . 32

7.1.2.4 stringVal . . . . . . . . . . . . . . . . . . . . . . . 32

7.2 sspPlugin.DirectoryAccessInfo Struct Reference . . . . . . . . . . . . 33

7.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 33

7.2.2 Member Data Documentation . . . . . . . . . . . . . . . . . 33

7.2.2.1 baseDN . . . . . . . . . . . . . . . . . . . . . . . 33

7.2.2.2 ldapHost . . . . . . . . . . . . . . . . . . . . . . . 33

7.3 sspPlugin.NameValue Struct Reference . . . . . . . . . . . . . . . . 34

7.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 34

7.3.2 Member Data Documentation . . . . . . . . . . . . . . . . . 34

7.3.2.1 name . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.3.2.2 value . . . . . . . . . . . . . . . . . . . . . . . . . 34

7.4 sspPlugin.PluginContext Interface Reference . . . . . . . . . . . . . 35

7.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 35

7.4.2 Member Function Documentation . . . . . . . . . . . . . . . 35

7.4.2.1 getSAE . . . . . . . . . . . . . . . . . . . . . . . . 35

7.4.2.2 getServiceDirectory . . . . . . . . . . . . . . . . . 35

7.4.2.3 getUserDirectory . . . . . . . . . . . . . . . . . . 36

7.5 sspPlugin.PluginInterface Interface Reference . . . . . . . . . . . . . 37

7.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 38

7.5.2 Member Function Documentation . . . . . . . . . . . . . . . 38

7.5.2.1 authorize . . . . . . . . . . . . . . . . . . . . . . . 38

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

CONTENTS iii

7.5.2.2 track . . . . . . . . . . . . . . . . . . . . . . . . . 39

7.6 sspPlugin.PluginInterface.AuthorizationDenied Exception Reference . 40

7.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 40

7.6.2 Member Data Documentation . . . . . . . . . . . . . . . . . 40

7.6.2.1 message . . . . . . . . . . . . . . . . . . . . . . . 40

7.7 sspPlugin.PluginInterface.AuthorizationDeniedW Exception Reference 41

7.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 41

7.7.2 Member Data Documentation . . . . . . . . . . . . . . . . . 41

7.7.2.1 message . . . . . . . . . . . . . . . . . . . . . . . 41

7.8 sspPlugin.PluginInterface.MethodNotImplemented Exception Reference 42

7.8.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 42

7.9 sspPlugin.PluginInterface.OutOfSync Exception Reference . . . . . . 43

7.9.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 43

7.10 sspPlugin.StateSyncPlugin Interface Reference . . . . . . . . . . . . 44

7.10.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 45

7.10.2 Member Typedef Documentation . . . . . . . . . . . . . . . 45

7.10.2.1 PluginEventSeq . . . . . . . . . . . . . . . . . . . 45

7.10.2.2 StringSeq . . . . . . . . . . . . . . . . . . . . . . 45

7.10.3 Member Function Documentation . . . . . . . . . . . . . . . 45

7.10.3.1 ping . . . . . . . . . . . . . . . . . . . . . . . . . 45

7.10.3.2 readyToSync . . . . . . . . . . . . . . . . . . . . . 46

7.10.3.3 syncComplete . . . . . . . . . . . . . . . . . . . . 46

7.10.3.4 trackBulk . . . . . . . . . . . . . . . . . . . . . . 46

7.11 sspPlugin.StateSyncPlugin.PluginEvent Struct Reference . . . . . . . 47

7.11.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 47

7.11.2 Member Data Documentation . . . . . . . . . . . . . . . . . 47

7.11.2.1 nvl . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7.11.2.2 pet . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7.12 sspPlugin.SubscriptionInfo Struct Reference . . . . . . . . . . . . . . 48

7.12.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 48

7.12.2 Member Data Documentation . . . . . . . . . . . . . . . . . 48

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

iv CONTENTS

7.12.2.1 interimTime . . . . . . . . . . . . . . . . . . . . . 48

7.12.2.2 sessionTimeout . . . . . . . . . . . . . . . . . . . 48

7.13 sspPlugin.SyncPluginInterface Interface Reference . . . . . . . . . . 49

7.13.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 49

7.13.2 Member Function Documentation . . . . . . . . . . . . . . . 50

7.13.2.1 restart . . . . . . . . . . . . . . . . . . . . . . . . 50

7.13.2.2 restartComplete . . . . . . . . . . . . . . . . . . . 50

7.13.2.3 stop . . . . . . . . . . . . . . . . . . . . . . . . . 50

8 File Documentation 51

8.1 sspPlugin.idl File Reference . . . . . . . . . . . . . . . . . . . . . . 51

8.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . 56

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Chapter 1

SAE CORBA Plug-In ServiceProvider Interface (SPI)

1.1 Introduction

The plug-in SPI is defined by CORBA IDL, which needs to be implemented by plug-ins. The use of CORBA allows for language-independent implementation as well aslocation-independent deployment.

1.2 Resolving the Object Reference

You must instantiate and initialize the plug-in and export its object reference to theSAE. You can export the object reference through a COSNamingService, or you canwrite the stringified IOR to a file. When the SAE sends the first event to a registeredplug-in, it resolves the object reference. Subsequent events are sent to the establishedobject reference unless the remote call fails. In case of a failure, the SAE resolves theobject reference again. Then, if a plug-in restarts and instantiates a different object(that is, a different object reference), the SAE learns about the new object through thenaming service or the file reference.

You can also configure the stringified IOR directly. However, you need to make surethat the same object (that is, the same object reference) is instantiated. For example,this can be achieved through a CORBA persistent reference.You can configure the SAEto resolve the object reference and specify which attributes to send to the external plug-in with SDX Configuration Editor. For more information about configuring externalplug-ins on the SAE, see Configuring SAE Properties in SDX Components Guide, Vol.1.

2 SAE CORBA Plug-In Service Provider Interface (SPI)

1.3 External Plug-In Example

The file example describes an implementation of a stateful external plug-in in thePython programming language.

1.4 Hosted Plug-Ins

Hosted plug-ins, like the external ones, implement the PluginInterface (or SyncPlugin-Interface) CORBA interface. Unlike the external ones, hosted plug-ins are instantiated(that is, hosted) by the SAE. As a result, they live in the same JVM process as thehost SAE. For that to be possible, such plug-ins must be implemented in Java. Further-more, they must extend net.juniper.smgt.sae.sspPlugin.PluginInterfacePOA and have apublic constructor that matches the following signature or a default constructor:

<constructor name>(java.lang.String aName, java.util.Properties aProp) where:

• aName is a prefix for finding properties in the properties object, which are named"Plugin.<aName>.<property>"

• aProp is a property object that contains system configuration data

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Chapter 2

Namespace Index

2.1 Package List

Here are the packages with brief descriptions (if available):

sspPlugin (CORBA-based plug-in SPI that allows you to implement externalSAE plug-ins in any language that supports CORBA ) . . . . . . . . 11

4 Namespace Index

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Chapter 3

Class Index

3.1 Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

sspPlugin.AttributeUnion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31sspPlugin.DirectoryAccessInfo . . . . . . . . . . . . . . . . . . . . . . . . . 33sspPlugin.NameValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34sspPlugin.PluginContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35sspPlugin.PluginInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

sspPlugin.SyncPluginInterface . . . . . . . . . . . . . . . . . . . . . . . 49sspPlugin.StateSyncPlugin . . . . . . . . . . . . . . . . . . . . . . . 44

sspPlugin.PluginInterface.AuthorizationDenied . . . . . . . . . . . . . . . . 40sspPlugin.PluginInterface.AuthorizationDeniedW . . . . . . . . . . . . . . . 41sspPlugin.PluginInterface.MethodNotImplemented . . . . . . . . . . . . . . 42sspPlugin.PluginInterface.OutOfSync . . . . . . . . . . . . . . . . . . . . . 43sspPlugin.StateSyncPlugin.PluginEvent . . . . . . . . . . . . . . . . . . . . 47sspPlugin.SubscriptionInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6 Class Index

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Chapter 4

Class Index

4.1 Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

sspPlugin.AttributeUnion (Structure used to pass event attribute values toplug-ins ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

sspPlugin.DirectoryAccessInfo (Data structure for information that the plug-in uses to access the directory ) . . . . . . . . . . . . . . . . . . . . 33

sspPlugin.NameValue (List of attributes in NameValue format ) . . . . . . . . 34sspPlugin.PluginContext (Generic callback interface from the plug-in to the

SAE ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35sspPlugin.PluginInterface (Basic plug-in interface ) . . . . . . . . . . . . . . 37sspPlugin.PluginInterface.AuthorizationDenied (Sent if authorization is de-

nied ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40sspPlugin.PluginInterface.AuthorizationDeniedW (If the ORB supports

wstring (unicode characters), this exception can be raised insteadof AuthorizationDenied ) . . . . . . . . . . . . . . . . . . . . . . . 41

sspPlugin.PluginInterface.MethodNotImplemented (A plug-in can throwMethodNotImplemented if the plug-in does not implement amethod ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

sspPlugin.PluginInterface.OutOfSync (This exception is raised when a statesynchronization plug-in receives a plug-in event while the state ofthe plug-in is not synchronized ) . . . . . . . . . . . . . . . . . . . 43

sspPlugin.StateSyncPlugin (State synchronization plug-in interface; exten-sion of the stateful plug-in interface ) . . . . . . . . . . . . . . . . . 44

sspPlugin.StateSyncPlugin.PluginEvent (Data structure for encapsulating asingle plug-in event for bulk synchronization ) . . . . . . . . . . . . 47

sspPlugin.SubscriptionInfo (Data structure for subscription information ) . . . 48

8 Class Index

sspPlugin.SyncPluginInterface (Stateful plug-in interface; extension of thebasic plug-in interface ) . . . . . . . . . . . . . . . . . . . . . . . . 49

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Chapter 5

File Index

5.1 File List

Here is a list of all files with brief descriptions:

sspPlugin.idl (SspPlugin Interface ) . . . . . . . . . . . . . . . . . . . . . . . 51

10 File Index

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Chapter 6

Namespace Documentation

6.1 Package sspPlugin

CORBA-based plug-in SPI that allows you to implement external SAE plug-ins in anylanguage that supports CORBA.

Classes

• union AttributeUnion

Structure used to pass event attribute values to plug-ins.

• struct NameValue

List of attributes in NameValue format.

• struct SubscriptionInfo

Data structure for subscription information.

• struct DirectoryAccessInfo

Data structure for information that the plug-in uses to access the directory.

• interface PluginContext

Generic callback interface from the plug-in to the SAE.

• interface PluginInterface

Basic plug-in interface.

• interface SyncPluginInterface

12 Namespace Documentation

Stateful plug-in interface; extension of the basic plug-in interface.

• interface StateSyncPluginState synchronization plug-in interface; extension of the stateful plug-in interface.

Typedefs

• typedef sequence< NameValue > NameValueListEvent attributes are passed to the PluginInterface.authorize() and PluginInter-face.track() methods in the form of a NameValue list.

Enumerations

• enum PluginEventType {

PE_AUTH_USER,

PE_AUTH_SERVICE,

PE_AUTH_SUBSCRIPTION,

PE_START_USER,

PE_STOP_USER,

PE_INTERIM_USER,

PE_START_SERVICE,

PE_INTERIM_SERVICE,

PE_STOP_SERVICE,

PE_START_INTERFACE,

PE_INTERIM_INTERFACE,

PE_STOP_INTERFACE,

PE_AUTH_DHCP,

PE_no_event }Types of events that the SAE sends to the plug-in.

• enum PluginAttribute {

PA_SSP_HOST,

PA_ROUTER_NAME,

PA_INTERFACE_NAME,

PA_INTERFACE_ALIAS,

PA_INTERFACE_DESCR,

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

6.1 Package sspPlugin 13

PA_PORT_ID,

PA_USER_IP_ADDRESS,

PA_LOGIN_NAME,

PA_ACCOUNTING_ID,

PA_AUTH_USER_ID,

PA_IF_RADIUS_CLASS,

PA_IF_SESSION_ID,

PA_SERVICE_BUNDLE,

PA_USER_DN,

PA_UID,

PA_DOMAIN,

PA_RETAILER_DN,

PA_PASSWORD,

PA_SERVICE_NAME,

PA_SERVICE_SCOPE,

PA_RADIUS_CLASS,

PA_EVENT_TIME,

PA_SESSION_ID,

PA_TERMINATE_CAUSE,

PA_SESSION_TIME,

PA_IN_OCTETS,

PA_OUT_OCTETS,

PA_IN_PACKETS,

PA_OUT_PACKETS,

PA_SESSION_TIMEOUT,

PA_NAS_IP,

PA_USER_MAC_ADDRESS,

PA_DOWNSTREAM_BANDWIDTH,

PA_UPSTREAM_BANDWIDTH,

PA_REPLY_MESSAGE,

PA_SERVICE_SESSION_NAME,

PA_SERVICE_SESSION_TAG,

PA_DHCP_PACKET,

PA_USER_TYPE,

PA_USER_RADIUS_CLASS,

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

14 Namespace Documentation

PA_USER_SESSION_ID,

PA_PRIMARY_USER_NAME,

PA_SESSION_VOLUME_QUOTA,

PA_SUBSCRIPTION_NAME,

PA_LOAD_SERVICES,

PA_LOGIN_ID,

PA_POOL_NAME,

PA_AUTH_VIRTUAL_ROUTER_NAME,

PA_IF_INDEX,

PA_EVENT_TIME_MILLISECOND,

PA_NAS_PORT,

PA_OPERATIONAL,

PA_IDLE_TIMEOUT,

PA_USER_INET_ADDRESS,

PA_NAS_INET_ADDRESS,

PA_AGGR_SESSION_ID,

PA_AGGR_LOGIN_NAME,

PA_AGGR_USER_DN,

PA_AGGR_USER_INET_ADDRESS,

PA_AGGR_ACCOUNTING_ID,

PA_AGGR_AUTH_USER_ID,

PA_PROPERTY,

PA_ACCT_INTERIM_TIME,

PA_SUBSTITUTION,

PA_TERMINATE_TIME,

PA_ROUTER_TYPE,

PA_PCMM_REQUEST_TYPE,

PA_PCMM_AM_ID,

PA_PCMM_BC_ID,

PA_INTERFACE_SPEED,

PA_ACCESS_MODE,

PA_ACCESS_UPSTREAM_RATE,

PA_ACCESS_DOWNSTREAM_RATE,

PA_MIN_UPSTREAM_RATE,

PA_MIN_DOWNSTREAM_RATE,

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

6.1 Package sspPlugin 15

PA_ATTAINABLE_UPSTREAM_RATE,

PA_ATTAINABLE_DOWNSTREAM_RATE,

PA_MAXIMUM_UPSTREAM_RATE,

PA_MAXIMUM_DOWNSTREAM_RATE,

PA_MINIMUM_LOW_POWER_UPSTREAM_RATE,

PA_MINIMUM_LOW_POWER_DOWNSTREAM_RATE,

PA_MAXIMUM_INTERLEAVING_UPSTREAM_DELAY,

PA_ACTUAL_INTERLEAVING_UPSTREAM_DELAY,

PA_MAXIMUM_INTERLEAVING_DOWNSTREAM_DELAY,

PA_ACTUAL_INTERLEAVING_DOWNSTREAM_DELAY,

PA_DSL_LINE_STAT,

PA_USER_SESSION_HANDLE,

PA_TUNNEL_ID,

PA_TUNNEL_SESSION_ID,

PA_LAC_IP,

PA_CALLING_STATION_ID,

PA_USER_PROPERTY,

PA_VPN_ID,

PA_LOCAL_QOS_PROFILE,

PA_IDLE_TIMEOUT_INPUT,

PA_IDLE_TIMEOUT_OUTPUT,

PA_REMOTE_TUNNEL_INET_ADDRESS,

PA_LOCAL_TUNNEL_INET_ADDRESS,

PA_USER_IP_MASK,

PA_FRAMED_IPV6_PREFIX,

PA_DELEGATED_IPV6_PREFIX,

PA_SERVICE_IDENTIFIER,

PA_EVENT_TRIGGER,

PA_TDF_APP_ID,

PA_TDF_APP_INSTANCE_ID,

PA_RATING_GROUP,

PA_TOTAL_OCTETS,

PA_last }Plug-in attributes that the SAE can send to the plug-in.

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

16 Namespace Documentation

• enum PluginAttributeType {

PAT_LONG,

PAT_LONG_LONG,

PAT_STRING,

PAT_OPAQUE }Possible encoding types of plug-in attribute types.

6.1.1 Detailed Description

CORBA-based plug-in SPI that allows you to implement external SAE plug-ins in anylanguage that supports CORBA.

6.1.2 Typedef Documentation

6.1.2.1 typedef sequence<NameValue> sspPlugin.NameValueList

Event attributes are passed to the PluginInterface.authorize() and PluginInter-face.track() methods in the form of a NameValue list.

6.1.3 Enumeration Type Documentation

6.1.3.1 enum sspPlugin::PluginAttribute

Plug-in attributes that the SAE can send to the plug-in. When you configure a plug-ininstance in the SAE, you should specify the attribute types that the SAE is allowed tosend to the plug-in, as well as attribute types that can be returned by authorization plug-ins. The configuration property is "Plugin.<name>.attr," and it contains a comma-separated list of plug-in names as defined in this enumeration.

You should specify the list of attributes because the plug-in interface can change be-tween versions of the SDX software. If a plug-in is configured to receive all possibleevent attributes, it will likely break if the SAE software is upgraded and the interfaceor the plug-in implementation is not recompiled.

Enumerator:

PA_SSP_HOST Name of the host on which the SAE is installed.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_ROUTER_NAME Name of the virtual router, in the format<virtualRouter>@<router>.

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

6.1 Package sspPlugin 17

• Type of attribute - PAT_STRING• Types of associated events - All

PA_INTERFACE_NAME Name of the interface, such as fastethernet 3/1.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_INTERFACE_ALIAS Alias of the interface that is configured on theJUNOSe router with the interface ip description command.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_INTERFACE_DESCR Alternative name of the interface that SNMP uses.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_PORT_ID Identifier of the VLAN or virtual circuit; virtual circuit takes theformat <VPI>|<VCI>. This attribute is not supported on JUNOS routingplatforms.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_USER_IP_ADDRESS IP address of the PPP subscriber.

• Type of attribute - PAT_LONG• Types of associated events - All

PA_LOGIN_NAME Subscriber’s login name.

• The format of the login name depends on the configuration of the loginname parser.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_ACCOUNTING_ID Value of the LDAP attribute accountingUserId.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_AUTH_USER_ID Identifier that the subscriber uses for authentication.

• Type of attribute - PAT_STRING• Types of associated events - Tracking

PA_IF_RADIUS_CLASS RADIUS class attribute of the underlying router in-terface. This attribute can occur multiple times. This attribute is not sup-ported on JUNOS routing platforms.

• Type of attribute - PAT_STRING• Types of associated events - All

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

18 Namespace Documentation

PA_IF_SESSION_ID Identifier for RADIUS accounting of the underlyingrouter interface. This attribute is not supported on JUNOS routing platforms.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_SERVICE_BUNDLE Service Bundle RADIUS VSA that a user authoriza-tion plug-in returns to the SAE.

• Type of attribute - PAT_STRING• Types of associated events - UserAuthorization

PA_USER_DN DN of the user profile.

• Type of attribute - PAT_STRING• Types of associated events - ALL

PA_UID Subscriber ID used for secondary authentication.

• Type of attribute - PAT_STRING• Types of associated events - Authorization

PA_DOMAIN Domain for secondary authentication.

• Type of attribute - PAT_STRING• Types of associated events - Authorization

PA_RETAILER_DN Retailer DN associated with the domain.

• Type of attribute - PAT_STRING• Types of associated events - Authorization

PA_PASSWORD Password for secondary authentication.

• Type of attribute - PAT_STRING• Types of associated events - Authorization

PA_SERVICE_NAME Name of service, in the format: service=<SERVICE_-NAME>, <BASE_DN>.

• Type of attribute - PAT_STRING• Types of associated events - ServiceAuthorization, SubscriptionAutho-

rization

PA_SERVICE_SCOPE List of service scopes.

• Type of attribute - PAT_STRING• Types of associated events - ServiceTracking, ServiceAuthorization

PA_RADIUS_CLASS RADIUS class attribute from the service definition. Thisattribute can occur multiple times.

• Type of attribute - PAT_STRING• Types of associated events - UserTracking, ServiceTracking, ServiceAu-

thorization

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

6.1 Package sspPlugin 19

PA_EVENT_TIME Number of seconds since midnight 1970-01-01 UTC.

• Type of attribute - PAT_LONG• Types of associated events - All

PA_SESSION_ID accounting attributes RADIUS session ID.

• Type of attribute - PAT_STRING• Types of associated events - ALL

PA_TERMINATE_CAUSE Cause of RADIUS termination.

• Type of attribute - PAT_LONG• Types of associated events - UserTracking, ServiceTracking

PA_SESSION_TIME Length of session in seconds.

• Type of attribute - PAT_LONG• Types of associated events - UserTracking, ServiceTracking

PA_IN_OCTETS Number of 64-bit upstream octets (user -> network).

• Type of attribute - PAT_LONG_LONG• Types of associated events - UserTracking, ServiceTracking

PA_OUT_OCTETS Number of 64-bit downstream octets (network -> user).

• Type of attribute - PAT_LONG_LONG• Types of associated events - UserTracking, ServiceTracking

PA_IN_PACKETS Number of 64-bit upstream packets (user -> network).

• Type of attribute - PAT_LONG_LONG• Types of associated events - UserTracking, ServiceTracking

PA_OUT_PACKETS Number of 64-bit downstream packets (network -> user).

• Type of attribute - PAT_LONG_LONG• Types of associated events - UserTracking, ServiceTracking

PA_SESSION_TIMEOUT Maximum length of the session in seconds. This at-tribute can be returned by an authorization plug-in.

• Type of attribute - PAT_LONG• Types of associated events - UserTracking, UserAuthorization, Ser-

viceAuthorization

PA_NAS_IP IP address for RADIUS communication. This attribute is not sup-ported on JUNOS routing platforms.

• Type of attribute - PAT_LONG• Types of associated events - All

PA_USER_MAC_ADDRESS MAC address of the DHCP subscriber. This at-tribute is not supported on JUNOS routing platforms.

• Type of attribute - PAT_STRING

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

20 Namespace Documentation

• Types of associated events - All

PA_DOWNSTREAM_BANDWIDTH Downstream bandwidth for the service.

• Type of attribute - PAT_LONG• Types of associated events - ServiceAuthorization, ServiceTracking

PA_UPSTREAM_BANDWIDTH Upstream bandwidth for the service.

• Type of attribute - PAT_LONG• Types of associated events - ServiceAuthorization, ServiceTracking

PA_REPLY_MESSAGE Set message string that a plug-in returns to the SAEduring authorization.Since:

4.0• Type of attribute - PAT_STRING• Types of associated events - All Authorization

PA_SERVICE_SESSION_NAME Name of service session.

• Type of attribute - PAT_STRING• Types of associated events - ServiceAuthorization, ServiceTracking

PA_SERVICE_SESSION_TAG Tag of service session.

• Type of attribute - PAT_STRING• Types of associated events - ServiceAuthorization, ServiceTracking

PA_DHCP_PACKET Contents of the DHCP discover request, in the format:

• First 4 octets - gateway IP address (giaddr field)• Remaining octets - DHCP options; for more information, see RFC 2251

This attribute is not supported on JUNOS routing platforms.

• Type of attribute - PAT_OPAQUE• Types of associated events - All

PA_USER_TYPE Type of subscriber.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_USER_RADIUS_CLASS RADIUS class of the subscriber session for a ser-vice. This attribute can occur multiple times, and can be returned by anauthorization plug-in.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_USER_SESSION_ID Identifier of RADIUS sessions for subscriber ses-sions.

• Type of attribute - PAT_STRING

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

6.1 Package sspPlugin 21

• Types of associated events - ServiceAuthorization

PA_PRIMARY_USER_NAME pppLoginName or publicDhcpUserName.Since:

4.0.1 This attribute is not supported on JUNOS routing platforms.• Type of attribute - PAT_STRING• Types of associated events - All

PA_SESSION_VOLUME_QUOTA Total volume of data in megabytes (MB)that a subscriber is allowed to upload or download.Since:

4.1 The format is <downstream quota>;<upstream quota>. This at-tribute can be returned by an authorization plug-in.

• Type of attribute - PAT_STRING• Types of associated events - ServiceAuthorization

PA_SUBSCRIPTION_NAME Name of the subscription, in the formatsubscription=<serviceName>%<subscriptionId>.

• Type of attribute - PAT_STRING• Types of associated events - UserTracking, ServiceTracking

PA_LOAD_SERVICES List of services to which the subscriber has access. Au-thorization plug-ins can return this attribute; other plug-ins and the SAE donot send this attribute. The SAE parses this value with a regular expressionthat you configure in the subscription parser.

• Type of attribute - PAT_STRING• Types of associated events - UserAuthorization

PA_LOGIN_ID Subscriber’s login identifier in the format that the subscriberenters it, such as <domainName>/<subscriberName>.Since:

4.0.1• Type of attribute - PAT_STRING• Types of associated events - All Authorization

PA_POOL_NAME Name of the address pool on the JUNOSe router from whichan address is assigned.Since:

4.2 This attribute can be returned by an authorization plug-in. It is notsupported on JUNOS routing platforms.

• Type of attribute - PAT_STRING• Types of associated events - DHCPAuthorization

PA_AUTH_VIRTUAL_ROUTER_NAME Name of the JUNOSe vir-tual router on which the address pool is located, in the format<virtualRouter>@<hostname>. This attribute is not supported onJUNOS routing platforms.

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

22 Namespace Documentation

• Type of attribute - PAT_STRING• Types of associated events - DHCPAuthorization

PA_IF_INDEX SNMP index of interface. This attribute is not supported onJUNOS routing platforms.

• Type of attribute - PAT_LONG• Types of associated events - InterfaceTracking

PA_EVENT_TIME_MILLISECOND Number of milliseconds since midnight1970-01-01 UTC.Since:

4.3• Type of attribute - PAT_LONG_LONG• Types of associated events - All

PA_NAS_PORT Numeric identifier that the router uses to identify the interfaceto RADIUS.

• Type of attribute - PAT_LONG• Types of associated events - ALL

PA_OPERATIONAL Flag that identifies whether an interface was operationalat the time of the tracking event. 0=not operational, 1=op

• Type of attribute - PAT_LONG• Types of associated events - Tracking

PA_IDLE_TIMEOUT Idle timeout for the service session that is set by the au-thorization plug-in.

• Type of attribute - PAT_LONG• Types of associated events - Authorization

PA_USER_INET_ADDRESS IP address of the subscriber that uses a byte arrayinstead of an integer.Since:

5.1 For IPv4 this attribute is equivalent to the PA_USER_IP_ADDRESSattribute, but it allows extension to IPv6 (which is not yet supported inthe SDX software).

• Type of attribute - PAT_OPAQUE; for IPv4: 4 octets in network byteorder; for IPv6: 16 octets in network byte order (not yet supported).

• Types of associated events - All

PA_NAS_INET_ADDRESS IP address of the router that uses a byte array in-stead of an integer. For IPv4 this attribute is equivalent to PA_NAS_IP, but itallows extension to IPv6 (which is not yet supported in the SDX software).

• Type of attribute - PAT_OPAQUE; for IPv4: 4 octets in network byteorder; for IPv6: 16 octets in network byte order (not yet supported).

• Types of associated events - All

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

6.1 Package sspPlugin 23

PA_AGGR_SESSION_ID Accounting session ID of the aggregate service ses-sion.Since:

5.1 Includes the ID of the SAE that started the session.• Type of attribute - PAT_STRING• Types of associated events - ServiceTracking

PA_AGGR_LOGIN_NAME Login name of the subscriber who started the ag-gregate service session.

• Type of attribute - PAT_STRING• Types of associated events - ServiceTracking

PA_AGGR_USER_DN DN of user profile of the subscriber who started the ag-gregate service session.

• Type of attribute - PAT_STRING• Types of associated events - ServiceTracking

PA_AGGR_USER_INET_ADDRESS IP address of the subscriber who startedthe aggregate service session.

• Type of attribute - PAT_OPAQUE; for IPv4: 4 octet in network byteorder; for IPv6: 16 octet in network byte order (not yet supported).

• Types of associated events - ServiceTracking

PA_AGGR_ACCOUNTING_ID Accounting ID of the subscriber who startedthe aggregate service session.

• Type of attribute - PAT_STRING• Types of associated events - ServiceTracking

PA_AGGR_AUTH_USER_ID User ID that was used to authenticate the aggre-gate service session.

• Type of attribute - PAT_STRING• Types of associated events - ServiceTracking

PA_PROPERTY Session property, in the form <name>=<value>, can be setby a service or user authorization plug-in. This attribute can be returnedmultiple times. Each value contains a different property.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_ACCT_INTERIM_TIME Accounting interim time set by a service or userauthorization plug-in. This value overrides the global accounting interimtime and the accounting interim time set in a service definition.

• Type of attribute - PAT_LONG• Types of associated events - ServiceAuthorization

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

24 Namespace Documentation

PA_SUBSTITUTION Parameter substitution set by a service or user authoriza-tion plug-in. This attribute can be returned multiple times. Each value con-tains a different substitution. Substitutions can be set only for service ses-sions.

• Type of attribute - PAT_STRING• Types of associated events - ServiceAuthorization or UserAuthorization

PA_TERMINATE_TIME Time to end the user session that is set by a user au-thorization plug-in. The time is in ISO 8601 format as one of the following:

• YYYY-MM-DDThh:mm:ssTZT (Note that the T between DD and hh is aliteral value and must appear in this space.)

• hh:mm:ssTZD

hh is specified in a 24 hour format. For example, 1 PM would be identifiedas 13:00.TZD (time zone) is specified as the offset from Universal Time Coordinate(UTC). If no time zone is indicated, the local time zone is used.If the date is not specified, the time indicates the next occurrence of that timeon either the same day or the next day.For example, to specify the time as 12 PM on December 1, 2004, EasternStandard Time (UTC-5): 2004-12-01T12:00:00-05:00

• Type of attribute - PAT_STRING• Types of associated events - UserAuthorization

PA_ROUTER_TYPE Type of the router driver.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_PCMM_REQUEST_TYPE PCMM policy event type.

• Type of attribute - PAT_LONG• Types of associated events - RksTracking

PA_PCMM_AM_ID PCMM Application Manager ID.

• Type of attribute - PAT_LONG• Types of associated events - RksTracking

PA_PCMM_BC_ID PCMM Billing Correlation ID.

• Type of attribute - PAT_OPAQUE• Types of associated events - RksTracking

PA_INTERFACE_SPEED Speed of interface.

• Type of attribute - PAT_LONG_LONG• Types of associated events - All

PA_ACCESS_MODE L2C access mode.

• Type of attribute - PAT_LONG

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

6.1 Package sspPlugin 25

• Possible values:• 0 = unspecified,• 1 = adsl1,• 2 = adsl2,• 3 = adsl2plus,• 4 = vdsl1,• 5 = vdsl2,• 6 = sdsl,• 7 = unknown• Types of associated events - InterfaceTracking

PA_ACCESS_UPSTREAM_RATE L2C upstream rate, in bits/s (0 if unspeci-fied).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_ACCESS_DOWNSTREAM_RATE L2C downstream rate, in bits/s (0 if un-specified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_MIN_UPSTREAM_RATE L2C minimum upstream rate, in bits/s (0 if un-specified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_MIN_DOWNSTREAM_RATE L2C minimum downstream rate, in bits/s (0if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_ATTAINABLE_UPSTREAM_RATE L2C attainable upstream rate, in bits/s(0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_ATTAINABLE_DOWNSTREAM_RATE L2C attainable downstream rate,in bits/s (0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_MAXIMUM_UPSTREAM_RATE L2C maximum upstream rate, in bits/s(0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

26 Namespace Documentation

PA_MAXIMUM_DOWNSTREAM_RATE L2C maximum downstream rate, inbits/s (0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_MINIMUM_LOW_POWER_UPSTREAM_RATE L2C minimum lowpower upstream rate, in bits/s (0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_MINIMUM_LOW_POWER_DOWNSTREAM_RATE L2C minimum lowpower downstream rate, in bits/s (0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_MAXIMUM_INTERLEAVING_UPSTREAM_DELAY L2C maximum in-terleaving upstream rate, in milliseconds (0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_ACTUAL_INTERLEAVING_UPSTREAM_DELAY L2C actual interleav-ing upstream rate, in milliseconds (0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_MAXIMUM_INTERLEAVING_DOWNSTREAM_DELAY L2C maxi-mum interleaving downstream rate, in milliseconds (0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_ACTUAL_INTERLEAVING_DOWNSTREAM_DELAY L2C actual inter-leaving downstream rate, in milliseconds (0 if unspecified).

• Type of attribute - PAT_LONG_LONG• Types of associated events - InterfaceTracking

PA_DSL_LINE_STAT L2C DLS line status.

• Type of attribute - PAT_LONG• Possible values:• 0 = unspecified,• 1 = showtime,• 2 = idle,• 3 = silent• Types of associated events - InterfaceTracking

PA_USER_SESSION_HANDLE includes vr name and RADIUS session ID.

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

6.1 Package sspPlugin 27

• Type of attribute - PAT_STRING• Types of associated events - ALL

PA_TUNNEL_ID L2TP support SRC 3.1. Identifier of LAC tunnel id for sub-scriber sessions.

• Type of attribute - PAT_LONG_LONG• Types of associated events - UserTracking

PA_TUNNEL_SESSION_ID Identifier of LAC tunnel session id for subscribersessions.

• Type of attribute - PAT_LONG_LONG• Types of associated events - UserTracking

PA_LAC_IP LAC ip address.

• Type of attribute - PAT_LONG• Types of associated events - UserTracking

PA_CALLING_STATION_ID Calling-Station-Id for RADIUS authenticatedsessions

• Type of attribute - PAT_STRING• Types of associated events - All.

PA_USER_PROPERTY Session property of the subscriber session, in the form<name>=<value> This attribute can be returned multiple times. Each valuecontains a different property.

• Type of attribute - PAT_STRING• Types of associated events - ServiceAuthorization, ServiceTracking

PA_VPN_ID VPN-ID

• Type of attribute - PAT_STRING• Types of associated events - All.

PA_LOCAL_QOS_PROFILE local qos profile, in the form <name>=<value>This attribute can be returned multiple times. Each value contains a differentqos profile layer and name.

• Type of attribute - PAT_STRING• Types of associated events - All

PA_IDLE_TIMEOUT_INPUT Input idle timeout for the service session that isset by the authorization plug-in.

• Type of attribute - PAT_LONG• Types of associated events - Authorization

PA_IDLE_TIMEOUT_OUTPUT Output idle timeout for the service sessionthat is set by the authorization plug-in.

• Type of attribute - PAT_LONG

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

28 Namespace Documentation

• Types of associated events - Authorization

PA_REMOTE_TUNNEL_INET_ADDRESS InetAddress of the far end of anL2TP tunnel. If the subscriber interface is an L2TP(LAC) interface, the fieldcontains the address of the LNS. If the subscriber interface is an IP interfaceon top of an LNS, the field contains the address of the LAC.

• Type of attribute PAT_OPAQUE• TYpes of associated events - All

PA_LOCAL_TUNNEL_INET_ADDRESS InetAddress of the local end of anL2TP tunnel. If the subscriber interface is an L2TP(LAC) interface, the fieldcontains the address of the LAC. If the subscriber interface is an IP interfaceon top of an LNS, the field contains the address of the LNS.

• Type of attribute PAT_OPAQUE• TYpes of associated events - All

PA_USER_IP_MASK Length in bit of the InetAddress of the subscriber.

• Type of attribute PAT_LONG• TYpes of associated events - All

PA_FRAMED_IPV6_PREFIX Framed IPv6 Prefix. The attribute contains theaddress/prefix in the same format as described in RF3162: the first octet is0, the second octet contains the length of the prefix, the remaining (length/8)octets contain the significant bits of the prefix.

• Type of attribute PAT_OPAQUE• TYpes of associated events - All

PA_DELEGATED_IPV6_PREFIX Delegated IPv6 prefix. This attribute canoccur multiple times, where each instance describes an alternative ad-dress/prefix for the subscriber session The format of the attribute value is thesame as described in RFC4818: the first octet is 0, the second octet containsthe length of the prefix, the remaining (length/8) octets contain the significantbits of the prefix.

• Type of attribute PAT_OPAQUE• TYpes of associated events - All

PA_SERVICE_IDENTIFIER 3gpp Service identifier attribute.

• Type of attribute PAT_INT• Types of associated events - ServiceTracking, ServiceAuthorization

PA_EVENT_TRIGGER • Type of attribute - PAT_STRING– Types of associated events - Tracking

PA_TDF_APP_ID • Type of attribute - PAT_STRING– Types of associated events - Tracking

PA_TDF_APP_INSTANCE_ID • Type of attribute - PAT_STRING

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

6.1 Package sspPlugin 29

– Types of associated events - Tracking

PA_RATING_GROUP • Type of attribute - PAT_LONG– Types of associated events - Service Tracking & Service Authoriza-

tion

PA_TOTAL_OCTETS Number of 64-bit upstream and downstream packets(network -> user).

• Type of attribute - PAT_LONG_LONG• Types of associated events - UserTracking, ServiceTracking

PA_last

6.1.3.2 enum sspPlugin::PluginAttributeType

Possible encoding types of plug-in attribute types.

Enumerator:

PAT_LONG 32-bit integer

PAT_LONG_LONG 64-bit integer

PAT_STRING Character string.

PAT_OPAQUE Byte array.

6.1.3.3 enum sspPlugin::PluginEventType

Types of events that the SAE sends to the plug-in. The event type is passed as the firstargument in the PluginInterface.authorize() and PluginInterface.track() methods thatare implemented by the plug-in.

Enumerator:

PE_AUTH_USER authentication and authorization events UserAuthorizationevents

PE_AUTH_SERVICE ServiceAuthorization events.

PE_AUTH_SUBSCRIPTION SubscriptionAuthorization events.

PE_START_USER tracking events Start UserTracking events

PE_STOP_USER Stop UserTracking events.

PE_INTERIM_USER Interim UserTracking events.

PE_START_SERVICE Start ServiceTracking events.

PE_INTERIM_SERVICE Interim ServiceTracking events.

PE_STOP_SERVICE Stop ServiceTracking events.

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

30 Namespace Documentation

PE_START_INTERFACE Start InterfaceTracking events.

PE_INTERIM_INTERFACE Interim InterfaceTracking events.

PE_STOP_INTERFACE Stop InterfaceTracking events.

PE_AUTH_DHCP DHCP Authorization events.

PE_no_event

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Chapter 7

Class Documentation

7.1 sspPlugin.AttributeUnion Union Reference

Structure used to pass event attribute values to plug-ins.

import "sspPlugin.idl";

Public Attributes

• long longVal

32-bit integer value

• long long longLongVal

64-bit integer value

• string stringVal

Character string value.

• sequence< octet > opaqueVal

Byte array value.

7.1.1 Detailed Description

Structure used to pass event attribute values to plug-ins.

32 Class Documentation

7.1.2 Member Data Documentation

7.1.2.1 long long sspPlugin.AttributeUnion.longLongVal

64-bit integer value

7.1.2.2 long sspPlugin.AttributeUnion.longVal

32-bit integer value

7.1.2.3 sequence<octet> sspPlugin.AttributeUnion.opaqueVal

Byte array value.

7.1.2.4 string sspPlugin.AttributeUnion.stringVal

Character string value.

The documentation for this union was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

7.2 sspPlugin.DirectoryAccessInfo Struct Reference 33

7.2 sspPlugin.DirectoryAccessInfo Struct Reference

Data structure for information that the plug-in uses to access the directory.

import "sspPlugin.idl";

Public Attributes

• sequence< string > ldapHostSequence of host:port that identifies the directory servers.

• string baseDNSearch base used to locate information in the directory.

7.2.1 Detailed Description

Data structure for information that the plug-in uses to access the directory.

7.2.2 Member Data Documentation

7.2.2.1 string sspPlugin.DirectoryAccessInfo.baseDN

Search base used to locate information in the directory.

7.2.2.2 sequence<string> sspPlugin.DirectoryAccessInfo.ldapHost

Sequence of host:port that identifies the directory servers.

The documentation for this struct was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

34 Class Documentation

7.3 sspPlugin.NameValue Struct Reference

List of attributes in NameValue format.

import "sspPlugin.idl";

Public Attributes

• PluginAttribute nameAttribute type.

• AttributeUnion valueActual value of the attribute.

7.3.1 Detailed Description

List of attributes in NameValue format.

• Name identifies the attribute through its attribute type

• Value contains the actual value of the attribute

7.3.2 Member Data Documentation

7.3.2.1 PluginAttribute sspPlugin.NameValue.name

Attribute type.

7.3.2.2 AttributeUnion sspPlugin.NameValue.value

Actual value of the attribute.

The documentation for this struct was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

7.4 sspPlugin.PluginContext Interface Reference 35

7.4 sspPlugin.PluginContext Interface Reference

Generic callback interface from the plug-in to the SAE.

import "sspPlugin.idl";

Public Member Functions

• DirectoryAccessInfo getServiceDirectory ()Allows a plug-in to retrieve information about the LDAP connection to the directorythat holds service information.

• DirectoryAccessInfo getUserDirectory ()Allows a plug-in to retrieve information about the LDAP connection to the directorythat holds subscriber information.

• sae::ServiceActivationEngine getSAE ()Allows a plug-in to retrieve a reference to the external interface of the SAE that sendsthe request.

7.4.1 Detailed Description

Generic callback interface from the plug-in to the SAE. PluginContext is passed toa plug-in that can call the getServiceDirectory() and getUserDirectory() methods toretrieve information about the currently active directory connections. The informationis passed in the form of a DirectoryAccessInfo structure.

Plug-ins can also use the getSAE() method to retrieve a reference to the external inter-face of the SAE that sends the request. The plug-in can use this reference to interactwith the SAE; for example, to start or stop services.

7.4.2 Member Function Documentation

7.4.2.1 sae::ServiceActivationEngine sspPlugin.PluginContext.getSAE ()

Allows a plug-in to retrieve a reference to the external interface of the SAE that sendsthe request.

7.4.2.2 DirectoryAccessInfo sspPlugin.PluginContext.getServiceDirectory ()

Allows a plug-in to retrieve information about the LDAP connection to the directorythat holds service information.

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

36 Class Documentation

7.4.2.3 DirectoryAccessInfo sspPlugin.PluginContext.getUserDirectory ()

Allows a plug-in to retrieve information about the LDAP connection to the directorythat holds subscriber information.

The documentation for this interface was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

7.5 sspPlugin.PluginInterface Interface Reference 37

7.5 sspPlugin.PluginInterface Interface Reference

Basic plug-in interface.

import "sspPlugin.idl";Inheritance diagram for sspPlugin.PluginInterface::

sspPlugin.PluginInterface

sspPlugin.SyncPluginInterface

sspPlugin.StateSyncPlugin

Classes

• exception AuthorizationDenied

Sent if authorization is denied.

• exception AuthorizationDeniedW

If the ORB supports wstring (unicode characters), this exception can be raised insteadof AuthorizationDenied.

• exception MethodNotImplemented

A plug-in can throw MethodNotImplemented if the plug-in does not implement amethod.

• exception OutOfSync

This exception is raised when a state synchronization plug-in receives a plug-in eventwhile the state of the plug-in is not synchronized.

Public Member Functions

• NameValueList authorize (in PluginEventType pet, in PluginContext ctx, inNameValueList attr) raises (MethodNotImplemented, AuthorizationDeniedW,AuthorizationDenied, OutOfSync )

The authorize() method is called when an authorization event is passed to the plug-in.

• void track (in PluginEventType pet, in PluginContext ctx, in NameValueListnvl, inout SubscriptionInfo subscription) raises (MethodNotImplemented, Out-OfSync)

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

38 Class Documentation

The track() method is called when a tracking event is passed to the plug-in.

7.5.1 Detailed Description

Basic plug-in interface. A plug-in context object is provided to allow plug-ins to inter-act with the core SAE. The plug-in context object is valid only during the call. Afterfailover a new context object is created.

Defines the basic interface that each plug-in must implement.

• Authorization plug-ins are called before a subscriber or service session starts.The plug-ins can deny access or modify the requested session parameters.

• Tracking plug-ins are called after a subscriber or service session is started orstopped. Plug-ins can use information passed to keep the state of currently ac-tive subscriber and service sessions, as well as generate customized accountingrecords.

7.5.2 Member Function Documentation

7.5.2.1 NameValueList sspPlugin.PluginInterface.authorize (inPluginEventType pet, in PluginContext ctx, in NameValueListattr) raises (MethodNotImplemented, AuthorizationDeniedW,AuthorizationDenied, OutOfSync )

The authorize() method is called when an authorization event is passed tothe plug-in. The plug-in can return a list of attributes to the SAE.Only the attributes PA_RADIUS_CLASS, PA_REPLY_MESSAGE, PA_SESSION_-TIMEOUT, PA_SERVICE_BUNDLE, PA_SESSION_VOLUME_QUOTA, PA_-LOAD_SERVICES, PA_IDLE_TIMEOUT, PA_IDLE_TIMEOUT_INPUT, PA_-IDLE_TIMEOUT_OUTPUT, PA_POOL_NAME, and PA_SESSION_VOLUME_-QUOTA are recognized. All other returned attributes are ignored.

Parameters:

← pet Plug-in event type; for example, user, service, or subscription

← ctx Context callback; allows the plug-in to retrieve LDAP context information

← attr Plug-in attributes; list of attributes that are sent to the plug-in

Exceptions:

MethodNotImplemented Raised if the plug-in does not implement authorization

AuthorizationDenied Raised if authorization is denied

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

7.5 sspPlugin.PluginInterface Interface Reference 39

AuthorizationDeniedW If the ORB supports wstring (unicode characters); can beraised instead of AuthorizationDenied

OutOfSync Raised if the plug-in is out of sync

Returns:

A list of attributes that contain authorization parameters.

7.5.2.2 void sspPlugin.PluginInterface.track (in PluginEventType pet, inPluginContext ctx, in NameValueList nvl, inout SubscriptionInfosubscription) raises (MethodNotImplemented, OutOfSync)

The track() method is called when a tracking event is passed to the plug-in. Plug-inscan use information passed to keep state of active subscriber and service sessions, aswell as to generate customized accounting records.

Parameters:

← pet Plug-in event type; that is, start, stop, user, or interim update service

← ctx Context callback; allows the plug-in to retrieve LDAP context information

← nvl Name value list; list of attributes that are sent to the plug-in

↔ subscription Subscription information; modifiable timeout parameters for ser-vice sessions

Exceptions:

MethodNotImplemented Raised if the plug-in is not a tracking plug-in

OutOfSync Raised if the plug-in is out of sync

The documentation for this interface was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

40 Class Documentation

7.6 sspPlugin.PluginInterface.AuthorizationDeniedException Reference

Sent if authorization is denied.

import "sspPlugin.idl";

Private Attributes

• string messageA message detailing the reason authorization was denied.

7.6.1 Detailed Description

Sent if authorization is denied.

7.6.2 Member Data Documentation

7.6.2.1 string sspPlugin.PluginInterface.AuthorizationDenied.message[private]

A message detailing the reason authorization was denied. The message is available toother applications through the SAE core API.

The documentation for this exception was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

7.7 sspPlugin.PluginInterface.AuthorizationDeniedW Exception Reference 41

7.7 sspPlugin.PluginInterface.AuthorizationDeniedWException Reference

If the ORB supports wstring (unicode characters), this exception can be raised insteadof AuthorizationDenied.

import "sspPlugin.idl";

Private Attributes

• wstring messageA message detailing the reason authorization was denied.

7.7.1 Detailed Description

If the ORB supports wstring (unicode characters), this exception can be raised insteadof AuthorizationDenied.

7.7.2 Member Data Documentation

7.7.2.1 wstring sspPlugin.PluginInterface.AuthorizationDeniedW.message[private]

A message detailing the reason authorization was denied. The message is available toother applications through the SAE core API.

The documentation for this exception was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

42 Class Documentation

7.8 sspPlugin.PluginInterface.MethodNotImplementedException Reference

A plug-in can throw MethodNotImplemented if the plug-in does not implement amethod.

import "sspPlugin.idl";

7.8.1 Detailed Description

A plug-in can throw MethodNotImplemented if the plug-in does not implement amethod.

The documentation for this exception was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

7.9 sspPlugin.PluginInterface.OutOfSync Exception Reference 43

7.9 sspPlugin.PluginInterface.OutOfSync ExceptionReference

This exception is raised when a state synchronization plug-in receives a plug-in eventwhile the state of the plug-in is not synchronized.

import "sspPlugin.idl";

7.9.1 Detailed Description

This exception is raised when a state synchronization plug-in receives a plug-in eventwhile the state of the plug-in is not synchronized. In response to this exception, SAEwill start the synchronization sequence.

The documentation for this exception was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

44 Class Documentation

7.10 sspPlugin.StateSyncPlugin Interface Reference

State synchronization plug-in interface; extension of the stateful plug-in interface.

import "sspPlugin.idl";Inheritance diagram for sspPlu-gin.StateSyncPlugin::

sspPlugin.StateSyncPlugin

sspPlugin.SyncPluginInterface

sspPlugin.PluginInterface

Classes

• struct PluginEvent

Data structure for encapsulating a single plug-in event for bulk synchronization.

Public Types

• typedef sequence< string > StringSeq

Attributes are passed to the readyToSync() method as a sequence of strings.

• typedef sequence< PluginEvent > PluginEventSeq

Sequence of plug-in events passed to the trackBulk() method during bulk synchroniza-tion.

Public Member Functions

• long readyToSync (in StringSeq pepIds, in boolean queueValid)

The readyToSync() method verifies whether the plug-in is ready to receive state syn-chronization.

• void trackBulk (in PluginEventSeq events) raises (OutOfSync)

The trackBulk() method is called to synchronize a set of events.

• void syncComplete (in StringSeq pepIds)

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

7.10 sspPlugin.StateSyncPlugin Interface Reference 45

The syncComplete() method is called to signal the end of synchronization.

• void ping (in StringSeq pepIds) raises (OutOfSync)

The ping() method verifies whether the plug-in is still ready to respond to events.

7.10.1 Detailed Description

State synchronization plug-in interface; extension of the stateful plug-in interface. Thestate synchronization plug-in interface allows external plug-ins to maintain the state ofactive sessions without having to store intermediate versions of the state locally. If thestate is not synchronized, the SAE replays the current state to the plug-in. Plug-insimplementing this interface can synchronize the current state at startup.

During synchronization, start events may be sent twice. A plug-in implementing thisinterface must discard the duplicates.

7.10.2 Member Typedef Documentation

7.10.2.1 typedef sequence<PluginEvent> sspPlu-gin.StateSyncPlugin.PluginEventSeq

Sequence of plug-in events passed to the trackBulk() method during bulk synchroniza-tion.

7.10.2.2 typedef sequence<string> sspPlugin.StateSyncPlugin.StringSeq

Attributes are passed to the readyToSync() method as a sequence of strings.

• The pepIds parameter identifies the router currently managed by the SAE.

• The queueValid parameter indicates whether the SAE has a valid buffer of events.

7.10.3 Member Function Documentation

7.10.3.1 void sspPlugin.StateSyncPlugin.ping (in StringSeq pepIds) raises(OutOfSync)

The ping() method verifies whether the plug-in is still ready to respond to events.

Exceptions:

OutOfSync Raised if the plug-in is up, but out of sync.

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

46 Class Documentation

Parameters:

← pepIds Identification of routers that are currently managed by SAE

7.10.3.2 long sspPlugin.StateSyncPlugin.readyToSync (in StringSeq pepIds, inboolean queueValid)

The readyToSync() method verifies whether the plug-in is ready to receive state syn-chronization.

Parameters:

pepIds Identification of routers that are currently managed by SAEqueueValid Flag that specifies whether the SAE has buffered all events since the

plug-in became unreachable (true); if set to false, the plug-in must performfull synchronization.

Returns:

-1 Not ready to synchronize0 Ready, but no synchronization required1 Send synchronization using track()>1 Maximum number of events accepted using trackBulk()

7.10.3.3 void sspPlugin.StateSyncPlugin.syncComplete (in StringSeq pepIds)

The syncComplete() method is called to signal the end of synchronization. Up to thismessage, start events may be duplicated. After this message is sent, no duplicate eventsare sent.

Parameters:

← pepIds Identification of routers that have finished synchronization

7.10.3.4 void sspPlugin.StateSyncPlugin.trackBulk (in PluginEventSeq events)raises (OutOfSync)

The trackBulk() method is called to synchronize a set of events.

Exceptions:

OutOfSync Raised if the plug-in is out of sync

The documentation for this interface was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

7.11 sspPlugin.StateSyncPlugin.PluginEvent Struct Reference 47

7.11 sspPlugin.StateSyncPlugin.PluginEvent StructReference

Data structure for encapsulating a single plug-in event for bulk synchronization.

import "sspPlugin.idl";

Public Attributes

• PluginEventType petPlug-in event type.

• NameValueList nvlName value list; list of attributes that are sent to the plug-in.

7.11.1 Detailed Description

Data structure for encapsulating a single plug-in event for bulk synchronization.

7.11.2 Member Data Documentation

7.11.2.1 NameValueList sspPlugin.StateSyncPlugin.PluginEvent.nvl

Name value list; list of attributes that are sent to the plug-in.

7.11.2.2 PluginEventType sspPlugin.StateSyncPlugin.PluginEvent.pet

Plug-in event type.

The documentation for this struct was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

48 Class Documentation

7.12 sspPlugin.SubscriptionInfo Struct Reference

Data structure for subscription information.

import "sspPlugin.idl";

Public Attributes

• long sessionTimeoutTimeout for service sessions.

• long interimTimeTime between interim updates.

7.12.1 Detailed Description

Data structure for subscription information. Defines data that is passed to a plug-in.Tracking plug-ins can modify subscription values and pass them to an SDX applica-tion; for example, prepaid applications can modify the sessionTimeout based on thecurrently available account balance.

7.12.2 Member Data Documentation

7.12.2.1 long sspPlugin.SubscriptionInfo.interimTime

Time between interim updates. Less than or equal to 0 disables.

7.12.2.2 long sspPlugin.SubscriptionInfo.sessionTimeout

Timeout for service sessions. Less than 0 means there is no timeout.

The documentation for this struct was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

7.13 sspPlugin.SyncPluginInterface Interface Reference 49

7.13 sspPlugin.SyncPluginInterface Interface Refer-ence

Stateful plug-in interface; extension of the basic plug-in interface.

import "sspPlugin.idl";Inheritance diagram for sspPlu-gin.SyncPluginInterface::

sspPlugin.SyncPluginInterface

sspPlugin.PluginInterface

sspPlugin.StateSyncPlugin

Public Member Functions

• void restart (in string pepId)

The restart() method is called when the connection between a router and the SAE isestablished and their synchronization is about to begin.

• void restartComplete (in string pepId, in boolean isPepReset) raises (OutOf-Sync)

The restartComplete() method is called when the synchronization between a routerand the SAE is completed.

• void stop (in string pepId)

The stop() method is called when the connection between a router and the SAE isterminated.

7.13.1 Detailed Description

Stateful plug-in interface; extension of the basic plug-in interface. The stateful plug-in interface is used for plug-ins that need to keep track of the state across reboots ofthe SAE. Stateful plug-ins are called when synchronization between the router and theSAE begins and ends. It also receives all tracking events related to the termination ofa subscriber or a service, and it is notified when the SAE is preparing to stop. Thisnotification is not guaranteed to be sent every time the SAE stops, as in the event of acrash.

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

50 Class Documentation

7.13.2 Member Function Documentation

7.13.2.1 void sspPlugin.SyncPluginInterface.restart (in string pepId)

The restart() method is called when the connection between a router and the SAE isestablished and their synchronization is about to begin.

Parameters:

← pepId Identification of the router that is connected to the SAE

7.13.2.2 void sspPlugin.SyncPluginInterface.restartComplete (in string pepId,in boolean isPepReset) raises (OutOfSync)

The restartComplete() method is called when the synchronization between a router andthe SAE is completed.

Parameters:

← pepId Identification of the router that is connected to the SAE

← isPepReset Flag that specifies whether the router is starting as if it were reset;that is, no active users or services are present

Exceptions:

OutOfSync Raised if the plug-in is out of sync

7.13.2.3 void sspPlugin.SyncPluginInterface.stop (in string pepId)

The stop() method is called when the connection between a router and the SAE isterminated. The plug-in cannot rely on this message being delivered every time theserver is stopped.

Parameters:

← pepId Identification of the router that is connected to the SAE

The documentation for this interface was generated from the following file:

• sspPlugin.idl

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Chapter 8

File Documentation

8.1 sspPlugin.idl File Reference

sspPlugin Interface. #include "sae.idl"

Classes

• union sspPlugin.AttributeUnionStructure used to pass event attribute values to plug-ins.

• struct sspPlugin.NameValueList of attributes in NameValue format.

• struct sspPlugin.SubscriptionInfoData structure for subscription information.

• struct sspPlugin.DirectoryAccessInfoData structure for information that the plug-in uses to access the directory.

• interface sspPlugin.PluginContextGeneric callback interface from the plug-in to the SAE.

• interface sspPlugin.PluginInterfaceBasic plug-in interface.

• exception sspPlugin.PluginInterface.MethodNotImplementedA plug-in can throw MethodNotImplemented if the plug-in does not implement amethod.

52 File Documentation

• exception sspPlugin.PluginInterface.AuthorizationDenied

Sent if authorization is denied.

• exception sspPlugin.PluginInterface.AuthorizationDeniedW

If the ORB supports wstring (unicode characters), this exception can be raised insteadof AuthorizationDenied.

• exception sspPlugin.PluginInterface.OutOfSync

This exception is raised when a state synchronization plug-in receives a plug-in eventwhile the state of the plug-in is not synchronized.

• interface sspPlugin.SyncPluginInterface

Stateful plug-in interface; extension of the basic plug-in interface.

• interface sspPlugin.StateSyncPlugin

State synchronization plug-in interface; extension of the stateful plug-in interface.

• struct sspPlugin.StateSyncPlugin.PluginEvent

Data structure for encapsulating a single plug-in event for bulk synchronization.

Packages

• package sspPlugin

CORBA-based plug-in SPI that allows you to implement external SAE plug-ins in anylanguage that supports CORBA.

Typedefs

• typedef sequence< NameValue > sspPlugin.NameValueList

Event attributes are passed to the PluginInterface.authorize() and PluginInter-face.track() methods in the form of a NameValue list.

Enumerations

• enum sspPlugin.PluginEventType {

sspPlugin.PE_AUTH_USER,

sspPlugin.PE_AUTH_SERVICE,

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

8.1 sspPlugin.idl File Reference 53

sspPlugin.PE_AUTH_SUBSCRIPTION,

sspPlugin.PE_START_USER,

sspPlugin.PE_STOP_USER,

sspPlugin.PE_INTERIM_USER,

sspPlugin.PE_START_SERVICE,

sspPlugin.PE_INTERIM_SERVICE,

sspPlugin.PE_STOP_SERVICE,

sspPlugin.PE_START_INTERFACE,

sspPlugin.PE_INTERIM_INTERFACE,

sspPlugin.PE_STOP_INTERFACE,

sspPlugin.PE_AUTH_DHCP,

sspPlugin.PE_no_event }

Types of events that the SAE sends to the plug-in.

• enum sspPlugin.PluginAttribute {

sspPlugin.PA_SSP_HOST,

sspPlugin.PA_ROUTER_NAME,

sspPlugin.PA_INTERFACE_NAME,

sspPlugin.PA_INTERFACE_ALIAS,

sspPlugin.PA_INTERFACE_DESCR,

sspPlugin.PA_PORT_ID,

sspPlugin.PA_USER_IP_ADDRESS,

sspPlugin.PA_LOGIN_NAME,

sspPlugin.PA_ACCOUNTING_ID,

sspPlugin.PA_AUTH_USER_ID,

sspPlugin.PA_IF_RADIUS_CLASS,

sspPlugin.PA_IF_SESSION_ID,

sspPlugin.PA_SERVICE_BUNDLE,

sspPlugin.PA_USER_DN,

sspPlugin.PA_UID,

sspPlugin.PA_DOMAIN,

sspPlugin.PA_RETAILER_DN,

sspPlugin.PA_PASSWORD,

sspPlugin.PA_SERVICE_NAME,

sspPlugin.PA_SERVICE_SCOPE,

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

54 File Documentation

sspPlugin.PA_RADIUS_CLASS,

sspPlugin.PA_EVENT_TIME,

sspPlugin.PA_SESSION_ID,

sspPlugin.PA_TERMINATE_CAUSE,

sspPlugin.PA_SESSION_TIME,

sspPlugin.PA_IN_OCTETS,

sspPlugin.PA_OUT_OCTETS,

sspPlugin.PA_IN_PACKETS,

sspPlugin.PA_OUT_PACKETS,

sspPlugin.PA_SESSION_TIMEOUT,

sspPlugin.PA_NAS_IP,

sspPlugin.PA_USER_MAC_ADDRESS,

sspPlugin.PA_DOWNSTREAM_BANDWIDTH,

sspPlugin.PA_UPSTREAM_BANDWIDTH,

sspPlugin.PA_REPLY_MESSAGE,

sspPlugin.PA_SERVICE_SESSION_NAME,

sspPlugin.PA_SERVICE_SESSION_TAG,

sspPlugin.PA_DHCP_PACKET,

sspPlugin.PA_USER_TYPE,

sspPlugin.PA_USER_RADIUS_CLASS,

sspPlugin.PA_USER_SESSION_ID,

sspPlugin.PA_PRIMARY_USER_NAME,

sspPlugin.PA_SESSION_VOLUME_QUOTA,

sspPlugin.PA_SUBSCRIPTION_NAME,

sspPlugin.PA_LOAD_SERVICES,

sspPlugin.PA_LOGIN_ID,

sspPlugin.PA_POOL_NAME,

sspPlugin.PA_AUTH_VIRTUAL_ROUTER_NAME,

sspPlugin.PA_IF_INDEX,

sspPlugin.PA_EVENT_TIME_MILLISECOND,

sspPlugin.PA_NAS_PORT,

sspPlugin.PA_OPERATIONAL,

sspPlugin.PA_IDLE_TIMEOUT,

sspPlugin.PA_USER_INET_ADDRESS,

sspPlugin.PA_NAS_INET_ADDRESS,

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

8.1 sspPlugin.idl File Reference 55

sspPlugin.PA_AGGR_SESSION_ID,

sspPlugin.PA_AGGR_LOGIN_NAME,

sspPlugin.PA_AGGR_USER_DN,

sspPlugin.PA_AGGR_USER_INET_ADDRESS,

sspPlugin.PA_AGGR_ACCOUNTING_ID,

sspPlugin.PA_AGGR_AUTH_USER_ID,

sspPlugin.PA_PROPERTY,

sspPlugin.PA_ACCT_INTERIM_TIME,

sspPlugin.PA_SUBSTITUTION,

sspPlugin.PA_TERMINATE_TIME,

sspPlugin.PA_ROUTER_TYPE,

sspPlugin.PA_PCMM_REQUEST_TYPE,

sspPlugin.PA_PCMM_AM_ID,

sspPlugin.PA_PCMM_BC_ID,

sspPlugin.PA_INTERFACE_SPEED,

sspPlugin.PA_ACCESS_MODE,

sspPlugin.PA_ACCESS_UPSTREAM_RATE,

sspPlugin.PA_ACCESS_DOWNSTREAM_RATE,

sspPlugin.PA_MIN_UPSTREAM_RATE,

sspPlugin.PA_MIN_DOWNSTREAM_RATE,

sspPlugin.PA_ATTAINABLE_UPSTREAM_RATE,

sspPlugin.PA_ATTAINABLE_DOWNSTREAM_RATE,

sspPlugin.PA_MAXIMUM_UPSTREAM_RATE,

sspPlugin.PA_MAXIMUM_DOWNSTREAM_RATE,

sspPlugin.PA_MINIMUM_LOW_POWER_UPSTREAM_RATE,

sspPlugin.PA_MINIMUM_LOW_POWER_DOWNSTREAM_RATE,

sspPlugin.PA_MAXIMUM_INTERLEAVING_UPSTREAM_DELAY,

sspPlugin.PA_ACTUAL_INTERLEAVING_UPSTREAM_DELAY,

sspPlugin.PA_MAXIMUM_INTERLEAVING_DOWNSTREAM_DELAY,

sspPlugin.PA_ACTUAL_INTERLEAVING_DOWNSTREAM_DELAY,

sspPlugin.PA_DSL_LINE_STAT,

sspPlugin.PA_USER_SESSION_HANDLE,

sspPlugin.PA_TUNNEL_ID,

sspPlugin.PA_TUNNEL_SESSION_ID,

sspPlugin.PA_LAC_IP,

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

56 File Documentation

sspPlugin.PA_CALLING_STATION_ID,

sspPlugin.PA_USER_PROPERTY,

sspPlugin.PA_VPN_ID,

sspPlugin.PA_LOCAL_QOS_PROFILE,

sspPlugin.PA_IDLE_TIMEOUT_INPUT,

sspPlugin.PA_IDLE_TIMEOUT_OUTPUT,

sspPlugin.PA_REMOTE_TUNNEL_INET_ADDRESS,

sspPlugin.PA_LOCAL_TUNNEL_INET_ADDRESS,

sspPlugin.PA_USER_IP_MASK,

sspPlugin.PA_FRAMED_IPV6_PREFIX,

sspPlugin.PA_DELEGATED_IPV6_PREFIX,

sspPlugin.PA_SERVICE_IDENTIFIER,

sspPlugin.PA_EVENT_TRIGGER,

sspPlugin.PA_TDF_APP_ID,

sspPlugin.PA_TDF_APP_INSTANCE_ID,

sspPlugin.PA_RATING_GROUP,

sspPlugin.PA_TOTAL_OCTETS,

sspPlugin.PA_last }Plug-in attributes that the SAE can send to the plug-in.

• enum sspPlugin.PluginAttributeType {

sspPlugin.PAT_LONG,

sspPlugin.PAT_LONG_LONG,

sspPlugin.PAT_STRING,

sspPlugin.PAT_OPAQUE }Possible encoding types of plug-in attribute types.

8.1.1 Detailed Description

sspPlugin Interface. Plug-in SPI that you can use to implement external SAE plug-ins.

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Index

authorizesspPlugin::PluginInterface, 38

baseDNsspPlugin::DirectoryAccessInfo, 33

getSAEsspPlugin::PluginContext, 35

getServiceDirectorysspPlugin::PluginContext, 35

getUserDirectorysspPlugin::PluginContext, 35

interimTimesspPlugin::SubscriptionInfo, 48

ldapHostsspPlugin::DirectoryAccessInfo, 33

longLongValsspPlugin::AttributeUnion, 32

longValsspPlugin::AttributeUnion, 32

messagesspPlu-

gin::PluginInterface::AuthorizationDenied,40

sspPlu-gin::PluginInterface::AuthorizationDeniedW,41

namesspPlugin::NameValue, 34

NameValueListsspPlugin, 16

nvlsspPlu-

gin::StateSyncPlugin::PluginEvent,47

opaqueValsspPlugin::AttributeUnion, 32

PA_ACCESS_DOWNSTREAM_RATEsspPlugin, 25

PA_ACCESS_MODEsspPlugin, 24

PA_ACCESS_UPSTREAM_RATEsspPlugin, 25

PA_ACCOUNTING_IDsspPlugin, 17

PA_ACCT_INTERIM_TIMEsspPlugin, 23

PA_ACTUAL_INTERLEAVING_-DOWNSTREAM_DELAY

sspPlugin, 26PA_ACTUAL_INTERLEAVING_-

UPSTREAM_DELAYsspPlugin, 26

PA_AGGR_ACCOUNTING_IDsspPlugin, 23

PA_AGGR_AUTH_USER_IDsspPlugin, 23

PA_AGGR_LOGIN_NAMEsspPlugin, 23

PA_AGGR_SESSION_IDsspPlugin, 22

PA_AGGR_USER_DNsspPlugin, 23

PA_AGGR_USER_INET_ADDRESSsspPlugin, 23

PA_ATTAINABLE_DOWNSTREAM_-RATE

sspPlugin, 25PA_ATTAINABLE_UPSTREAM_RATE

sspPlugin, 25PA_AUTH_USER_ID

58 INDEX

sspPlugin, 17PA_AUTH_VIRTUAL_ROUTER_-

NAMEsspPlugin, 21

PA_CALLING_STATION_IDsspPlugin, 27

PA_DELEGATED_IPV6_PREFIXsspPlugin, 28

PA_DHCP_PACKETsspPlugin, 20

PA_DOMAINsspPlugin, 18

PA_DOWNSTREAM_BANDWIDTHsspPlugin, 20

PA_DSL_LINE_STATsspPlugin, 26

PA_EVENT_TIMEsspPlugin, 18

PA_EVENT_TIME_MILLISECONDsspPlugin, 22

PA_EVENT_TRIGGERsspPlugin, 28

PA_FRAMED_IPV6_PREFIXsspPlugin, 28

PA_IDLE_TIMEOUTsspPlugin, 22

PA_IDLE_TIMEOUT_INPUTsspPlugin, 27

PA_IDLE_TIMEOUT_OUTPUTsspPlugin, 27

PA_IF_INDEXsspPlugin, 22

PA_IF_RADIUS_CLASSsspPlugin, 17

PA_IF_SESSION_IDsspPlugin, 17

PA_IN_OCTETSsspPlugin, 19

PA_IN_PACKETSsspPlugin, 19

PA_INTERFACE_ALIASsspPlugin, 17

PA_INTERFACE_DESCRsspPlugin, 17

PA_INTERFACE_NAMEsspPlugin, 17

PA_INTERFACE_SPEEDsspPlugin, 24

PA_LAC_IPsspPlugin, 27

PA_lastsspPlugin, 29

PA_LOAD_SERVICESsspPlugin, 21

PA_LOCAL_QOS_PROFILEsspPlugin, 27

PA_LOCAL_TUNNEL_INET_-ADDRESS

sspPlugin, 28PA_LOGIN_ID

sspPlugin, 21PA_LOGIN_NAME

sspPlugin, 17PA_MAXIMUM_DOWNSTREAM_-

RATEsspPlugin, 26

PA_MAXIMUM_INTERLEAVING_-DOWNSTREAM_DELAY

sspPlugin, 26PA_MAXIMUM_INTERLEAVING_-

UPSTREAM_DELAYsspPlugin, 26

PA_MAXIMUM_UPSTREAM_RATEsspPlugin, 25

PA_MIN_DOWNSTREAM_RATEsspPlugin, 25

PA_MIN_UPSTREAM_RATEsspPlugin, 25

PA_MINIMUM_LOW_POWER_-DOWNSTREAM_RATE

sspPlugin, 26PA_MINIMUM_LOW_POWER_-

UPSTREAM_RATEsspPlugin, 26

PA_NAS_INET_ADDRESSsspPlugin, 22

PA_NAS_IPsspPlugin, 19

PA_NAS_PORTsspPlugin, 22

PA_OPERATIONALsspPlugin, 22

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

INDEX 59

PA_OUT_OCTETSsspPlugin, 19

PA_OUT_PACKETSsspPlugin, 19

PA_PASSWORDsspPlugin, 18

PA_PCMM_AM_IDsspPlugin, 24

PA_PCMM_BC_IDsspPlugin, 24

PA_PCMM_REQUEST_TYPEsspPlugin, 24

PA_POOL_NAMEsspPlugin, 21

PA_PORT_IDsspPlugin, 17

PA_PRIMARY_USER_NAMEsspPlugin, 21

PA_PROPERTYsspPlugin, 23

PA_RADIUS_CLASSsspPlugin, 18

PA_RATING_GROUPsspPlugin, 29

PA_REMOTE_TUNNEL_INET_-ADDRESS

sspPlugin, 28PA_REPLY_MESSAGE

sspPlugin, 20PA_RETAILER_DN

sspPlugin, 18PA_ROUTER_NAME

sspPlugin, 16PA_ROUTER_TYPE

sspPlugin, 24PA_SERVICE_BUNDLE

sspPlugin, 18PA_SERVICE_IDENTIFIER

sspPlugin, 28PA_SERVICE_NAME

sspPlugin, 18PA_SERVICE_SCOPE

sspPlugin, 18PA_SERVICE_SESSION_NAME

sspPlugin, 20PA_SERVICE_SESSION_TAG

sspPlugin, 20PA_SESSION_ID

sspPlugin, 19PA_SESSION_TIME

sspPlugin, 19PA_SESSION_TIMEOUT

sspPlugin, 19PA_SESSION_VOLUME_QUOTA

sspPlugin, 21PA_SSP_HOST

sspPlugin, 16PA_SUBSCRIPTION_NAME

sspPlugin, 21PA_SUBSTITUTION

sspPlugin, 23PA_TDF_APP_ID

sspPlugin, 28PA_TDF_APP_INSTANCE_ID

sspPlugin, 28PA_TERMINATE_CAUSE

sspPlugin, 19PA_TERMINATE_TIME

sspPlugin, 24PA_TOTAL_OCTETS

sspPlugin, 29PA_TUNNEL_ID

sspPlugin, 27PA_TUNNEL_SESSION_ID

sspPlugin, 27PA_UID

sspPlugin, 18PA_UPSTREAM_BANDWIDTH

sspPlugin, 20PA_USER_DN

sspPlugin, 18PA_USER_INET_ADDRESS

sspPlugin, 22PA_USER_IP_ADDRESS

sspPlugin, 17PA_USER_IP_MASK

sspPlugin, 28PA_USER_MAC_ADDRESS

sspPlugin, 19PA_USER_PROPERTY

sspPlugin, 27PA_USER_RADIUS_CLASS

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

60 INDEX

sspPlugin, 20PA_USER_SESSION_HANDLE

sspPlugin, 26PA_USER_SESSION_ID

sspPlugin, 20PA_USER_TYPE

sspPlugin, 20PA_VPN_ID

sspPlugin, 27PAT_LONG

sspPlugin, 29PAT_LONG_LONG

sspPlugin, 29PAT_OPAQUE

sspPlugin, 29PAT_STRING

sspPlugin, 29PE_AUTH_DHCP

sspPlugin, 30PE_AUTH_SERVICE

sspPlugin, 29PE_AUTH_SUBSCRIPTION

sspPlugin, 29PE_AUTH_USER

sspPlugin, 29PE_INTERIM_INTERFACE

sspPlugin, 30PE_INTERIM_SERVICE

sspPlugin, 29PE_INTERIM_USER

sspPlugin, 29PE_no_event

sspPlugin, 30PE_START_INTERFACE

sspPlugin, 29PE_START_SERVICE

sspPlugin, 29PE_START_USER

sspPlugin, 29PE_STOP_INTERFACE

sspPlugin, 30PE_STOP_SERVICE

sspPlugin, 29PE_STOP_USER

sspPlugin, 29pet

sspPlu-gin::StateSyncPlugin::PluginEvent,47

pingsspPlugin::StateSyncPlugin, 45

PluginAttributesspPlugin, 16

PluginAttributeTypesspPlugin, 29

PluginEventSeqsspPlugin::StateSyncPlugin, 45

PluginEventTypesspPlugin, 29

readyToSyncsspPlugin::StateSyncPlugin, 46

restartsspPlugin::SyncPluginInterface, 50

restartCompletesspPlugin::SyncPluginInterface, 50

sessionTimeoutsspPlugin::SubscriptionInfo, 48

sspPlugin, 11NameValueList, 16PA_ACCESS_DOWNSTREAM_-

RATE, 25PA_ACCESS_MODE, 24PA_ACCESS_UPSTREAM_RATE,

25PA_ACCOUNTING_ID, 17PA_ACCT_INTERIM_TIME, 23PA_ACTUAL_INTERLEAVING_-

DOWNSTREAM_DELAY,26

PA_ACTUAL_INTERLEAVING_-UPSTREAM_DELAY, 26

PA_AGGR_ACCOUNTING_ID, 23PA_AGGR_AUTH_USER_ID, 23PA_AGGR_LOGIN_NAME, 23PA_AGGR_SESSION_ID, 22PA_AGGR_USER_DN, 23PA_AGGR_USER_INET_-

ADDRESS, 23PA_ATTAINABLE_-

DOWNSTREAM_RATE,

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

INDEX 61

25PA_ATTAINABLE_UPSTREAM_-

RATE, 25PA_AUTH_USER_ID, 17PA_AUTH_VIRTUAL_ROUTER_-

NAME, 21PA_CALLING_STATION_ID, 27PA_DELEGATED_IPV6_PREFIX,

28PA_DHCP_PACKET, 20PA_DOMAIN, 18PA_DOWNSTREAM_-

BANDWIDTH, 20PA_DSL_LINE_STAT, 26PA_EVENT_TIME, 18PA_EVENT_TIME_-

MILLISECOND, 22PA_EVENT_TRIGGER, 28PA_FRAMED_IPV6_PREFIX, 28PA_IDLE_TIMEOUT, 22PA_IDLE_TIMEOUT_INPUT, 27PA_IDLE_TIMEOUT_OUTPUT,

27PA_IF_INDEX, 22PA_IF_RADIUS_CLASS, 17PA_IF_SESSION_ID, 17PA_IN_OCTETS, 19PA_IN_PACKETS, 19PA_INTERFACE_ALIAS, 17PA_INTERFACE_DESCR, 17PA_INTERFACE_NAME, 17PA_INTERFACE_SPEED, 24PA_LAC_IP, 27PA_last, 29PA_LOAD_SERVICES, 21PA_LOCAL_QOS_PROFILE, 27PA_LOCAL_TUNNEL_INET_-

ADDRESS, 28PA_LOGIN_ID, 21PA_LOGIN_NAME, 17PA_MAXIMUM_-

DOWNSTREAM_RATE,26

PA_MAXIMUM_-INTERLEAVING_-DOWNSTREAM_DELAY,

26PA_MAXIMUM_-

INTERLEAVING_-UPSTREAM_DELAY, 26

PA_MAXIMUM_UPSTREAM_-RATE, 25

PA_MIN_DOWNSTREAM_RATE,25

PA_MIN_UPSTREAM_RATE, 25PA_MINIMUM_LOW_POWER_-

DOWNSTREAM_RATE,26

PA_MINIMUM_LOW_POWER_-UPSTREAM_RATE, 26

PA_NAS_INET_ADDRESS, 22PA_NAS_IP, 19PA_NAS_PORT, 22PA_OPERATIONAL, 22PA_OUT_OCTETS, 19PA_OUT_PACKETS, 19PA_PASSWORD, 18PA_PCMM_AM_ID, 24PA_PCMM_BC_ID, 24PA_PCMM_REQUEST_TYPE, 24PA_POOL_NAME, 21PA_PORT_ID, 17PA_PRIMARY_USER_NAME, 21PA_PROPERTY, 23PA_RADIUS_CLASS, 18PA_RATING_GROUP, 29PA_REMOTE_TUNNEL_INET_-

ADDRESS, 28PA_REPLY_MESSAGE, 20PA_RETAILER_DN, 18PA_ROUTER_NAME, 16PA_ROUTER_TYPE, 24PA_SERVICE_BUNDLE, 18PA_SERVICE_IDENTIFIER, 28PA_SERVICE_NAME, 18PA_SERVICE_SCOPE, 18PA_SERVICE_SESSION_NAME,

20PA_SERVICE_SESSION_TAG, 20PA_SESSION_ID, 19PA_SESSION_TIME, 19PA_SESSION_TIMEOUT, 19

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

62 INDEX

PA_SESSION_VOLUME_QUOTA,21

PA_SSP_HOST, 16PA_SUBSCRIPTION_NAME, 21PA_SUBSTITUTION, 23PA_TDF_APP_ID, 28PA_TDF_APP_INSTANCE_ID, 28PA_TERMINATE_CAUSE, 19PA_TERMINATE_TIME, 24PA_TOTAL_OCTETS, 29PA_TUNNEL_ID, 27PA_TUNNEL_SESSION_ID, 27PA_UID, 18PA_UPSTREAM_BANDWIDTH,

20PA_USER_DN, 18PA_USER_INET_ADDRESS, 22PA_USER_IP_ADDRESS, 17PA_USER_IP_MASK, 28PA_USER_MAC_ADDRESS, 19PA_USER_PROPERTY, 27PA_USER_RADIUS_CLASS, 20PA_USER_SESSION_HANDLE,

26PA_USER_SESSION_ID, 20PA_USER_TYPE, 20PA_VPN_ID, 27PAT_LONG, 29PAT_LONG_LONG, 29PAT_OPAQUE, 29PAT_STRING, 29PE_AUTH_DHCP, 30PE_AUTH_SERVICE, 29PE_AUTH_SUBSCRIPTION, 29PE_AUTH_USER, 29PE_INTERIM_INTERFACE, 30PE_INTERIM_SERVICE, 29PE_INTERIM_USER, 29PE_no_event, 30PE_START_INTERFACE, 29PE_START_SERVICE, 29PE_START_USER, 29PE_STOP_INTERFACE, 30PE_STOP_SERVICE, 29PE_STOP_USER, 29PluginAttribute, 16

PluginAttributeType, 29PluginEventType, 29

sspPlugin.idl, 51sspPlugin::AttributeUnion, 31

longLongVal, 32longVal, 32opaqueVal, 32stringVal, 32

sspPlugin::DirectoryAccessInfo, 33baseDN, 33ldapHost, 33

sspPlugin::NameValue, 34name, 34value, 34

sspPlugin::PluginContext, 35getSAE, 35getServiceDirectory, 35getUserDirectory, 35

sspPlugin::PluginInterface, 37authorize, 38track, 39

sspPlugin::PluginInterface::AuthorizationDenied,40

message, 40sspPlugin::PluginInterface::AuthorizationDeniedW,

41message, 41

sspPlugin::PluginInterface::MethodNotImplemented,42

sspPlugin::PluginInterface::OutOfSync,43

sspPlugin::StateSyncPlugin, 44ping, 45PluginEventSeq, 45readyToSync, 46StringSeq, 45syncComplete, 46trackBulk, 46

sspPlugin::StateSyncPlugin::PluginEvent,47

nvl, 47pet, 47

sspPlugin::SubscriptionInfo, 48interimTime, 48sessionTimeout, 48

sspPlugin::SyncPluginInterface, 49

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

INDEX 63

restart, 50restartComplete, 50stop, 50

stopsspPlugin::SyncPluginInterface, 50

StringSeqsspPlugin::StateSyncPlugin, 45

stringValsspPlugin::AttributeUnion, 32

syncCompletesspPlugin::StateSyncPlugin, 46

tracksspPlugin::PluginInterface, 39

trackBulksspPlugin::StateSyncPlugin, 46

valuesspPlugin::NameValue, 34

Generated on Fri May 20 14:26:39 2016 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen