Top Banner
SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 Generated by Doxygen 1.3.7 Tue Jun 15 10:17:14 2010
61

SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

Jun 29, 2018

Download

Documents

doancong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

SAE CORBA Plug-In Service Provider Interface (SPI)Reference Manual

7.6

Generated by Doxygen 1.3.7

Tue Jun 15 10:17:14 2010

Page 2: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service
Page 3: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

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 SAE CORBA Plug-In Service Provider Interface (SPI) Namespace Index 3

2.1 SAE CORBA Plug-In Service Provider Interface (SPI) Package List . 3

3 SAE CORBA Plug-In Service Provider Interface (SPI) Hierarchical Index 5

3.1 SAE CORBA Plug-In Service Provider Interface (SPI) Class Hierarchy 5

4 SAE CORBA Plug-In Service Provider Interface (SPI) Class Index 7

4.1 SAE CORBA Plug-In Service Provider Interface (SPI) Class List . . . 7

5 SAE CORBA Plug-In Service Provider Interface (SPI) File Index 9

5.1 SAE CORBA Plug-In Service Provider Interface (SPI) File List . . . 9

6 SAE CORBA Plug-In Service Provider Interface (SPI) Namespace Docu-mentation 11

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

7 SAE CORBA Plug-In Service Provider Interface (SPI) Class Documenta-tion 31

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

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

Page 4: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

ii CONTENTS

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

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

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

7.6 sspPlugin.PluginInterface.AuthorizationDenied Exception Reference . 40

7.7 sspPlugin.PluginInterface.AuthorizationDeniedW Exception Reference 41

7.8 sspPlugin.PluginInterface.MethodNotImplemented Exception Reference 42

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

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

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

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

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

8 SAE CORBA Plug-In Service Provider Interface (SPI) File Documentation 51

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

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 5: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

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.

Page 6: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

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 the hostSAE. For that to be possible, such plug-ins must be implemented in Java. Furthermore,they must extend net.juniper.smgt.sae.sspPlugin.PluginInterfacePOA and have a publicconstructor 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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 7: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

Chapter 2

SAE CORBA Plug-In ServiceProvider Interface (SPI)Namespace Index

2.1 SAE CORBA Plug-In Service Provider Interface(SPI) 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

Page 8: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

4 SAE CORBA Plug-In Service Provider Interface (SPI) Namespace Index

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 9: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

Chapter 3

SAE CORBA Plug-In ServiceProvider Interface (SPI)Hierarchical Index

3.1 SAE CORBA Plug-In Service Provider Interface(SPI) 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

Page 10: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6 SAE CORBA Plug-In Service Provider Interface (SPI) Hierarchical Index

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 11: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

Chapter 4

SAE CORBA Plug-In ServiceProvider Interface (SPI) ClassIndex

4.1 SAE CORBA Plug-In Service Provider Interface(SPI) 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

Page 12: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

8 SAE CORBA Plug-In Service Provider Interface (SPI) Class Index

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 ) . . . 48sspPlugin.SyncPluginInterface (Stateful plug-in interface; extension of the

basic plug-in interface ) . . . . . . . . . . . . . . . . . . . . . . . . 49

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 13: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

Chapter 5

SAE CORBA Plug-In ServiceProvider Interface (SPI) FileIndex

5.1 SAE CORBA Plug-In Service Provider Interface(SPI) File List

Here is a list of all files with brief descriptions:

sspPlugin.idl (Plug-in SPI that you can use to implement external SAE plug-ins ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Page 14: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

10 SAE CORBA Plug-In Service Provider Interface (SPI) File Index

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 15: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

Chapter 6

SAE CORBA Plug-In ServiceProvider Interface (SPI)Namespace Documentation

6.1 Package sspPlugin

6.1.1 Detailed Description

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

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.PluginContext

Page 16: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

12SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

Generic 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.

• exception sspPlugin.PluginInterface.AuthorizationDeniedSent if authorization is denied.

• exception sspPlugin.PluginInterface.AuthorizationDeniedWIf the ORB supports wstring (unicode characters), this exception can be raised insteadof AuthorizationDenied.

• exception sspPlugin.PluginInterface.OutOfSyncThis 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.SyncPluginInterfaceStateful plug-in interface; extension of the basic plug-in interface.

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

• struct sspPlugin.StateSyncPlugin.PluginEventData structure for encapsulating a single plug-in event for bulk synchronization.

Typedefs

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

Enumerations

• enum PluginEventType {

PE_AUTH_USER,

PE_AUTH_SERVICE,

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 17: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6.1 Package sspPlugin 13

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,

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,

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 18: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

14SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

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,

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,

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 19: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6.1 Package sspPlugin 15

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,

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,

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 20: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

16SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

PA_CALLING_STATION_ID,

PA_USER_PROPERTY,

PA_VPN_ID,

PA_LOCAL_QOS_PROFILE,

PA_IDLE_TIMEOUT_INPUT,

PA_IDLE_TIMEOUT_OUTPUT,

PA_last }

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

• enum PluginAttributeType {

PAT_LONG,

PAT_LONG_LONG,

PAT_STRING,

PAT_OPAQUE }

Possible encoding types of plug-in attribute types.

6.1.2 Typedef Documentation

6.1.2.1 typedef sequence<NameValue> sspPlugin::NameValueList

Event attributes are passed to the PluginInterface::authorize() and Plugin-Interface::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-in instance in the SAE, you should specify the at-tribute types that the SAE is allowed to send to the plug-in, as well as attributetypes 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 de-fined 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.

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 21: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6.1 Package sspPlugin 17

Enumeration values: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 <virtual-Router>@<router>.

• 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 routing platforms.

• 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

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 22: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

18SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

• Types of associated events - Tracking

PA_IF_RADIUS_CLASS RADIUS class attribute of the underlying router in-terface.This attribute is not supported on JUNOS routing platforms.

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

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 - UserTracking, ServiceTracking

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, Subscription-

Authorization

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 23: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6.1 Package sspPlugin 19

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.This attribute can occur multiple times. This attribute is not supported onJUNOS routing platforms.

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

Authorization

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 RADIUS session ID.

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

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 attribute can be returned by an authorization plug-in.

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 24: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

20SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

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

Authorization

PA_NAS_IP IP address for RADIUS communication.This attribute is not supported 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 attribute is not supported on JUNOS routing platforms.

• Type of attribute - PAT_STRING• 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.

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

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

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 25: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6.1 Package sspPlugin 21

• 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 an authoriza-tion 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• Types of associated events - ServiceAuthorization

PA_PRIMARY_USER_NAME pppLoginName or publicDhcpUserNameThis 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.The format is <downstream quota>;<upstream quota>. This attribute canbe 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.Authorization plug-ins can return this attribute; other plug-ins and the SAEdo not 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>.

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

PA_POOL_NAME Name of the address pool on the JUNOSe router from whichan address is assigned.This attribute can be returned by an authorization plug-in. It is not supportedon JUNOS routing platforms.

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 26: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

22SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

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

PA_AUTH_VIRTUAL_ROUTER_NAME Name of the JUNOSe virtual routeron which the address pool is located, in the format <virtual-Router>@<hostname>.This attribute is not supported on JUNOS routing platforms.

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

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

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

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

• 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.For IPv4 this attribute is equivalent to the PA_USER_IP_ADDRESS at-tribute, but it allows extension to IPv6 (which is not yet supported in theSDX 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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 27: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6.1 Package sspPlugin 23

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 it allows extension toIPv6 (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

PA_AGGR_SESSION_ID Accounting session ID of the aggregate service ses-sion.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 returned multiple times. Each value contains a differentproperty.

• Type of attribute - PAT_STRING

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 28: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

24SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

• 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 interim time and the accountinginterim time set in a service definition.

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

PA_SUBSTITUTION Parameter substitution set by a service or user authoriza-tion plug-in.This attribute can be returned multiple times. Each value contains a differentsubstitution. Substitutions can be set only for service sessions.

• 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

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 29: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6.1 Package sspPlugin 25

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• 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).

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 30: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

26SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

• 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

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).

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 31: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6.1 Package sspPlugin 27

• 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

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

PA_TUNNEL_ID Identifier of LAC tunnel id for subscriber 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 value contains 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.

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 32: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

28SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

PA_LOCAL_QOS_PROFILE local qos profile, in the form <name>=<value>This attribute can be returned multiple timesEach value contains a different qos 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• Types of associated events - Authorization

PA_last

6.1.3.2 enum sspPlugin::PluginAttributeType

Possible encoding types of plug-in attribute types.

Enumeration values: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 first argument in the PluginInterface::authorize() andPluginInterface::track() methods that are implemented by the plug-in.

Enumeration values:PE_AUTH_USER UserAuthorization events.

PE_AUTH_SERVICE ServiceAuthorization events.

PE_AUTH_SUBSCRIPTION SubscriptionAuthorization events.

PE_START_USER Start UserTracking events.

PE_STOP_USER Stop UserTracking events.

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 33: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

6.1 Package sspPlugin 29

PE_INTERIM_USER Interim UserTracking events.

PE_START_SERVICE Start ServiceTracking events.

PE_INTERIM_SERVICE Interim ServiceTracking events.

PE_STOP_SERVICE Stop ServiceTracking events.

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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 34: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

30SAE CORBA Plug-In Service Provider Interface (SPI) Namespace

Documentation

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 35: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

Chapter 7

SAE CORBA Plug-In ServiceProvider Interface (SPI) ClassDocumentation

7.1 sspPlugin.AttributeUnion Union Reference

import "sspPlugin.idl";

7.1.1 Detailed Description

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

Public Attributes

• long longVal32-bit integer value

• long long longLongVal64-bit integer value

• string stringValCharacter string value.

• sequence< octet > opaqueValByte array value.

Page 36: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

32 SAE CORBA Plug-In Service Provider Interface (SPI) 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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 37: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

7.2 sspPlugin.DirectoryAccessInfo Struct Reference 33

7.2 sspPlugin.DirectoryAccessInfo Struct Reference

import "sspPlugin.idl";

7.2.1 Detailed Description

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

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.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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 38: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

34 SAE CORBA Plug-In Service Provider Interface (SPI) Class Documentation

7.3 sspPlugin.NameValue Struct Reference

import "sspPlugin.idl";

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

Public Attributes

• PluginAttribute nameAttribute type.

• AttributeUnion valueActual 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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 39: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

7.4 sspPlugin.PluginContext Interface Reference 35

7.4 sspPlugin.PluginContext Interface Reference

import "sspPlugin.idl";

7.4.1 Detailed Description

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

PluginContext is passed to a plug-in that can call the getServiceDirectory() and get-UserDirectory() methods to retrieve information about the currently active directoryconnections. The information is 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.

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.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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 40: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

36 SAE CORBA Plug-In Service Provider Interface (SPI) 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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 41: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

7.5 sspPlugin.PluginInterface Interface Reference 37

7.5 sspPlugin.PluginInterface Interface Reference

import "sspPlugin.idl";

Inheritance diagram for sspPlugin.PluginInterface::

sspPlugin.PluginInterface

sspPlugin.SyncPluginInterface

sspPlugin.StateSyncPlugin

7.5.1 Detailed Description

Basic plug-in interface.

A plug-in context object is provided to allow plug-ins to interact with the core SAE.The plug-in context object is valid only during the call. After failover a new contextobject 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.

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)

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

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 42: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

38 SAE CORBA Plug-In Service Provider Interface (SPI) Class Documentation

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 to the 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 recog-nized. 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

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-ins can use information passed to keep state of active subscriber and service ses-sions, as well 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

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 43: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

7.5 sspPlugin.PluginInterface Interface Reference 39

← 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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 44: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

40 SAE CORBA Plug-In Service Provider Interface (SPI) Class Documentation

7.6 sspPlugin.PluginInterface.AuthorizationDeniedException Reference

import "sspPlugin.idl";

7.6.1 Detailed Description

Sent if authorization is denied.

Public Attributes

• string messageA message detailing the reason authorization was denied.

7.6.2 Member Data Documentation

7.6.2.1 string sspPlugin.PluginInterface.AuthorizationDenied.message

A message detailing the reason authorization was denied.

The message is available to other applications through the SAE core API.

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

• sspPlugin.idl

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 45: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

7.7 sspPlugin.PluginInterface.AuthorizationDeniedW Exception Reference 41

7.7 sspPlugin.PluginInterface.AuthorizationDeniedWException Reference

import "sspPlugin.idl";

7.7.1 Detailed Description

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

Public Attributes

• wstring messageA message detailing the reason authorization was denied.

7.7.2 Member Data Documentation

7.7.2.1 wstring sspPlugin.PluginInterface.AuthorizationDeniedW.message

A message detailing the reason authorization was denied.

The message is available to other applications through the SAE core API.

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

• sspPlugin.idl

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 46: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

42 SAE CORBA Plug-In Service Provider Interface (SPI) Class Documentation

7.8 sspPlugin.PluginInterface.MethodNot-Implemented Exception Reference

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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 47: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

7.9 sspPlugin.PluginInterface.OutOfSync Exception Reference 43

7.9 sspPlugin.PluginInterface.OutOfSync ExceptionReference

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, SAE will start the synchronization sequence.

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

• sspPlugin.idl

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 48: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

44 SAE CORBA Plug-In Service Provider Interface (SPI) Class Documentation

7.10 sspPlugin.StateSyncPlugin Interface Reference

import "sspPlugin.idl";

Inheritance diagram for sspPlugin.StateSyncPlugin::

sspPlugin.StateSyncPlugin

sspPlugin.SyncPluginInterface

sspPlugin.PluginInterface

7.10.1 Detailed Description

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

The state synchronization plug-in interface allows external plug-ins to maintain thestate of active sessions without having to store intermediate versions of the state locally.If the state is not synchronized, the SAE replays the current state to the plug-in. Plug-ins implementing 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.

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)

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 49: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

7.10 sspPlugin.StateSyncPlugin Interface Reference 45

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

• void syncComplete (in StringSeq pepIds)

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.2 Member Typedef Documentation

7.10.2.1 typedef sequence<PluginEvent> sspPlugin.StateSyncPlugin.Plugin-EventSeq

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.

Parameters:← pepIds Identification of routers that are currently managed by SAE

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 50: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

46 SAE CORBA Plug-In Service Provider Interface (SPI) Class Documentation

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 SAE

queueValid Flag that specifies whether the SAE has buffered all events since theplug-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 this message, start events may be duplicated. After this message is sent, noduplicate events are 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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 51: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

7.11 sspPlugin.StateSyncPlugin.PluginEvent Struct Reference 47

7.11 sspPlugin.StateSyncPlugin.PluginEvent StructReference

import "sspPlugin.idl";

7.11.1 Detailed Description

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

Public Attributes

• PluginEventType petPlug-in event type.

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

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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 52: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

48 SAE CORBA Plug-In Service Provider Interface (SPI) Class Documentation

7.12 sspPlugin.SubscriptionInfo Struct Reference

import "sspPlugin.idl";

7.12.1 Detailed Description

Data structure for subscription information.

Defines data that is passed to a plug-in. Tracking plug-ins can modify subscriptionvalues and pass them to an SDX application; for example, prepaid applications canmodify the sessionTimeout based on the currently available account balance.

Public Attributes

• long sessionTimeoutTimeout for service sessions.

• long interimTimeTime between interim updates.

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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 53: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

7.13 sspPlugin.SyncPluginInterface Interface Reference 49

7.13 sspPlugin.SyncPluginInterface Interface Refer-ence

import "sspPlugin.idl";

Inheritance diagram for sspPlugin.SyncPluginInterface::

sspPlugin.SyncPluginInterface

sspPlugin.PluginInterface

sspPlugin.StateSyncPlugin

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 stateacross reboots of the SAE. Stateful plug-ins are called when synchronization betweenthe router and the SAE begins and ends. It also receives all tracking events related tothe termination of a subscriber or a service, and it is notified when the SAE is preparingto stop. This notification is not guaranteed to be sent every time the SAE stops, as inthe event of a crash.

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.

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 54: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

50 SAE CORBA Plug-In Service Provider Interface (SPI) 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 the server isstopped.

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 Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 55: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

Chapter 8

SAE CORBA Plug-In ServiceProvider Interface (SPI) FileDocumentation

8.1 sspPlugin.idl File Reference

8.1.1 Detailed Description

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

#include "sae.idl"

Namespaces

• namespace sspPlugin

Page 56: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

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

messagesspPlugin::Plugin-

Interface::Authorization-Denied, 40

sspPlugin::Plugin-Interface::Authorization-DeniedW, 41

namesspPlugin::NameValue, 34

NameValueListsspPlugin, 16

nvlsspPlugin::StateSyncPlugin::Plugin-

Event, 47

opaqueValsspPlugin::AttributeUnion, 32

PA_ACCESS_DOWNSTREAM_RATEsspPlugin, 25

PA_ACCESS_MODEsspPlugin, 25

PA_ACCESS_UPSTREAM_RATEsspPlugin, 25

PA_ACCOUNTING_IDsspPlugin, 17

PA_ACCT_INTERIM_TIMEsspPlugin, 24

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, 23

PA_AGGR_USER_DNsspPlugin, 23

PA_AGGR_USER_INET_ADDRESSsspPlugin, 23

PA_ATTAINABLE_DOWNSTREAM_-RATE

sspPlugin, 26PA_ATTAINABLE_UPSTREAM_RATE

sspPlugin, 25PA_AUTH_USER_ID

Page 57: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

INDEX 53

sspPlugin, 17PA_AUTH_VIRTUAL_ROUTER_-

NAMEsspPlugin, 22

PA_CALLING_STATION_IDsspPlugin, 27

PA_DHCP_PACKETsspPlugin, 20

PA_DOMAINsspPlugin, 18

PA_DOWNSTREAM_BANDWIDTHsspPlugin, 20

PA_DSL_LINE_STATsspPlugin, 27

PA_EVENT_TIMEsspPlugin, 19

PA_EVENT_TIME_MILLISECONDsspPlugin, 22

PA_IDLE_TIMEOUTsspPlugin, 22

PA_IDLE_TIMEOUT_INPUTsspPlugin, 28

PA_IDLE_TIMEOUT_OUTPUTsspPlugin, 28

PA_IF_INDEXsspPlugin, 22

PA_IF_RADIUS_CLASSsspPlugin, 18

PA_IF_SESSION_IDsspPlugin, 18

PA_IN_OCTETSsspPlugin, 19

PA_IN_PACKETSsspPlugin, 19

PA_INTERFACE_ALIASsspPlugin, 17

PA_INTERFACE_DESCRsspPlugin, 17

PA_INTERFACE_NAMEsspPlugin, 17

PA_INTERFACE_SPEEDsspPlugin, 25

PA_LAC_IPsspPlugin, 27

PA_lastsspPlugin, 28

PA_LOAD_SERVICESsspPlugin, 21

PA_LOCAL_QOS_PROFILEsspPlugin, 27

PA_LOGIN_IDsspPlugin, 21

PA_LOGIN_NAMEsspPlugin, 17

PA_MAXIMUM_DOWNSTREAM_-RATE

sspPlugin, 26PA_MAXIMUM_INTERLEAVING_-

DOWNSTREAM_DELAYsspPlugin, 26

PA_MAXIMUM_INTERLEAVING_-UPSTREAM_DELAY

sspPlugin, 26PA_MAXIMUM_UPSTREAM_RATE

sspPlugin, 26PA_MIN_DOWNSTREAM_RATE

sspPlugin, 25PA_MIN_UPSTREAM_RATE

sspPlugin, 25PA_MINIMUM_LOW_POWER_-

DOWNSTREAM_RATEsspPlugin, 26

PA_MINIMUM_LOW_POWER_-UPSTREAM_RATE

sspPlugin, 26PA_NAS_INET_ADDRESS

sspPlugin, 22PA_NAS_IP

sspPlugin, 20PA_NAS_PORT

sspPlugin, 22PA_OPERATIONAL

sspPlugin, 22PA_OUT_OCTETS

sspPlugin, 19PA_OUT_PACKETS

sspPlugin, 19PA_PASSWORD

sspPlugin, 18PA_PCMM_AM_ID

sspPlugin, 24PA_PCMM_BC_ID

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 58: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

54 INDEX

sspPlugin, 24PA_PCMM_REQUEST_TYPE

sspPlugin, 24PA_POOL_NAME

sspPlugin, 21PA_PORT_ID

sspPlugin, 17PA_PRIMARY_USER_NAME

sspPlugin, 21PA_PROPERTY

sspPlugin, 23PA_RADIUS_CLASS

sspPlugin, 19PA_REPLY_MESSAGE

sspPlugin, 20PA_RETAILER_DN

sspPlugin, 18PA_ROUTER_NAME

sspPlugin, 17PA_ROUTER_TYPE

sspPlugin, 24PA_SERVICE_BUNDLE

sspPlugin, 18PA_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, 17PA_SUBSCRIPTION_NAME

sspPlugin, 21PA_SUBSTITUTION

sspPlugin, 24PA_TERMINATE_CAUSE

sspPlugin, 19PA_TERMINATE_TIME

sspPlugin, 24PA_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_MAC_ADDRESS

sspPlugin, 20PA_USER_PROPERTY

sspPlugin, 27PA_USER_RADIUS_CLASS

sspPlugin, 21PA_USER_SESSION_HANDLE

sspPlugin, 27PA_USER_SESSION_ID

sspPlugin, 21PA_USER_TYPE

sspPlugin, 20PA_VPN_ID

sspPlugin, 27PAT_LONG

sspPlugin, 28PAT_LONG_LONG

sspPlugin, 28PAT_OPAQUE

sspPlugin, 28PAT_STRING

sspPlugin, 28PE_AUTH_DHCP

sspPlugin, 29PE_AUTH_SERVICE

sspPlugin, 28PE_AUTH_SUBSCRIPTION

sspPlugin, 28PE_AUTH_USER

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 59: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

INDEX 55

sspPlugin, 28PE_INTERIM_INTERFACE

sspPlugin, 29PE_INTERIM_SERVICE

sspPlugin, 29PE_INTERIM_USER

sspPlugin, 28PE_no_event

sspPlugin, 29PE_START_INTERFACE

sspPlugin, 29PE_START_SERVICE

sspPlugin, 29PE_START_USER

sspPlugin, 28PE_STOP_INTERFACE

sspPlugin, 29PE_STOP_SERVICE

sspPlugin, 29PE_STOP_USER

sspPlugin, 28pet

sspPlugin::StateSyncPlugin::Plugin-Event, 47

pingsspPlugin::StateSyncPlugin, 45

PluginAttributesspPlugin, 16

PluginAttributeTypesspPlugin, 28

PluginEventSeqsspPlugin::StateSyncPlugin, 45

PluginEventTypesspPlugin, 28

readyToSyncsspPlugin::StateSyncPlugin, 45

restartsspPlugin::SyncPluginInterface, 50

restartCompletesspPlugin::SyncPluginInterface, 50

sessionTimeoutsspPlugin::SubscriptionInfo, 48

sspPlugin, 11

PA_ACCESS_DOWNSTREAM_-RATE, 25

PA_ACCESS_MODE, 25PA_ACCESS_UPSTREAM_RATE,

25PA_ACCOUNTING_ID, 17PA_ACCT_INTERIM_TIME, 24PA_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, 23PA_AGGR_USER_DN, 23PA_AGGR_USER_INET_-

ADDRESS, 23PA_ATTAINABLE_-

DOWNSTREAM_RATE,26

PA_ATTAINABLE_UPSTREAM_-RATE, 25

PA_AUTH_USER_ID, 17PA_AUTH_VIRTUAL_ROUTER_-

NAME, 22PA_CALLING_STATION_ID, 27PA_DHCP_PACKET, 20PA_DOMAIN, 18PA_DOWNSTREAM_-

BANDWIDTH, 20PA_DSL_LINE_STAT, 27PA_EVENT_TIME, 19PA_EVENT_TIME_-

MILLISECOND, 22PA_IDLE_TIMEOUT, 22PA_IDLE_TIMEOUT_INPUT, 28PA_IDLE_TIMEOUT_OUTPUT,

28PA_IF_INDEX, 22PA_IF_RADIUS_CLASS, 18PA_IF_SESSION_ID, 18PA_IN_OCTETS, 19PA_IN_PACKETS, 19PA_INTERFACE_ALIAS, 17

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 60: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

56 INDEX

PA_INTERFACE_DESCR, 17PA_INTERFACE_NAME, 17PA_INTERFACE_SPEED, 25PA_LAC_IP, 27PA_last, 28PA_LOAD_SERVICES, 21PA_LOCAL_QOS_PROFILE, 27PA_LOGIN_ID, 21PA_LOGIN_NAME, 17PA_MAXIMUM_-

DOWNSTREAM_RATE,26

PA_MAXIMUM_-INTERLEAVING_-DOWNSTREAM_DELAY,26

PA_MAXIMUM_-INTERLEAVING_-UPSTREAM_DELAY, 26

PA_MAXIMUM_UPSTREAM_-RATE, 26

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, 20PA_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, 19PA_REPLY_MESSAGE, 20PA_RETAILER_DN, 18

PA_ROUTER_NAME, 17PA_ROUTER_TYPE, 24PA_SERVICE_BUNDLE, 18PA_SERVICE_NAME, 18PA_SERVICE_SCOPE, 18PA_SERVICE_SESSION_NAME,

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

21PA_SSP_HOST, 17PA_SUBSCRIPTION_NAME, 21PA_SUBSTITUTION, 24PA_TERMINATE_CAUSE, 19PA_TERMINATE_TIME, 24PA_TUNNEL_ID, 27PA_TUNNEL_SESSION_ID, 27PA_UID, 18PA_UPSTREAM_BANDWIDTH,

20PA_USER_DN, 18PA_USER_INET_ADDRESS, 22PA_USER_IP_ADDRESS, 17PA_USER_MAC_ADDRESS, 20PA_USER_PROPERTY, 27PA_USER_RADIUS_CLASS, 21PA_USER_SESSION_HANDLE,

27PA_USER_SESSION_ID, 21PA_USER_TYPE, 20PA_VPN_ID, 27PAT_LONG, 28PAT_LONG_LONG, 28PAT_OPAQUE, 28PAT_STRING, 28PE_AUTH_DHCP, 29PE_AUTH_SERVICE, 28PE_AUTH_SUBSCRIPTION, 28PE_AUTH_USER, 28PE_INTERIM_INTERFACE, 29PE_INTERIM_SERVICE, 29PE_INTERIM_USER, 28PE_no_event, 29

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen

Page 61: SAE CORBA Plug-In Service Provider Interface (SPI ... · SAE CORBA Plug-In Service Provider Interface (SPI) Reference Manual 7.6 ... 1.1 Introduction ... SAE CORBA Plug-In Service

INDEX 57

PE_START_INTERFACE, 29PE_START_SERVICE, 29PE_START_USER, 28PE_STOP_INTERFACE, 29PE_STOP_SERVICE, 29PE_STOP_USER, 28

sspPluginNameValueList, 16PluginAttribute, 16PluginAttributeType, 28PluginEventType, 28

sspPlugin.idl, 51sspPlugin::AttributeUnion, 31sspPlugin::AttributeUnion

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

sspPlugin::DirectoryAccessInfo, 33sspPlugin::DirectoryAccessInfo

baseDN, 33ldapHost, 33

sspPlugin::NameValue, 34sspPlugin::NameValue

name, 34value, 34

sspPlugin::PluginContext, 35sspPlugin::PluginContext

getSAE, 35getServiceDirectory, 35getUserDirectory, 35

sspPlugin::PluginInterface, 37sspPlugin::PluginInterface

authorize, 38track, 38

sspPlugin::PluginInterface::AuthorizationDenied,40

sspPlugin::Plugin-Interface::AuthorizationDenied

message, 40sspPlugin::PluginInterface::AuthorizationDeniedW,

41sspPlugin::Plugin-

Interface::Authorization-DeniedW

message, 41

sspPlugin::PluginInterface::MethodNotImplemented,42

sspPlugin::PluginInterface::OutOfSync,43

sspPlugin::StateSyncPlugin, 44sspPlugin::StateSyncPlugin

ping, 45PluginEventSeq, 45readyToSync, 45StringSeq, 45syncComplete, 46trackBulk, 46

sspPlugin::StateSyncPlugin::PluginEvent,47

sspPlugin::StateSyncPlugin::PluginEventnvl, 47pet, 47

sspPlugin::SubscriptionInfo, 48sspPlugin::SubscriptionInfo

interimTime, 48sessionTimeout, 48

sspPlugin::SyncPluginInterface, 49sspPlugin::SyncPluginInterface

restart, 50restartComplete, 50stop, 50

stopsspPlugin::SyncPluginInterface, 50

StringSeqsspPlugin::StateSyncPlugin, 45

stringValsspPlugin::AttributeUnion, 32

syncCompletesspPlugin::StateSyncPlugin, 46

tracksspPlugin::PluginInterface, 38

trackBulksspPlugin::StateSyncPlugin, 46

valuesspPlugin::NameValue, 34

Generated on Tue Jun 15 10:17:17 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by Doxygen