sae api reference manual - juniper

165
SAE API Reference Manual 7.7 Generated by Doxygen 1.4.7 Tue May 24 14:55:27 2011

Upload: others

Post on 06-Feb-2022

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SAE API Reference Manual - Juniper

SAE API Reference Manual7.7

Generated by Doxygen 1.4.7

Tue May 24 14:55:27 2011

Page 2: SAE API Reference Manual - Juniper
Page 3: SAE API Reference Manual - Juniper

Contents

1 CORBA Remote API 1

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

1.2 Before You Use the CORBA Remote API . . . . . . . . . . . . . . . 1

1.3 Interface Module Manager . . . . . . . . . . . . . . . . . . . . . . . 1

1.4 Security Considerations . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 SAE API Namespace Index 3

2.1 SAE API Package List . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 SAE API Hierarchical Index 5

3.1 SAE API Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . 5

4 SAE API Class Index 7

4.1 SAE API Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 SAE API File Index 11

5.1 SAE API File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6 SAE API Page Index 13

6.1 SAE API Related Pages . . . . . . . . . . . . . . . . . . . . . . . . . 13

7 SAE API Namespace Documentation 15

7.1 Package event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7.2 Package sae . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 4: SAE API Reference Manual - Juniper

ii CONTENTS

8 SAE API Class Documentation 31

8.1 event.AttributeUnion Union Reference . . . . . . . . . . . . . . . . . 31

8.2 event.EventAttr Struct Reference . . . . . . . . . . . . . . . . . . . . 33

8.3 event.EventNotification Interface Reference . . . . . . . . . . . . . . 34

8.4 event.IllegalArgument Exception Reference . . . . . . . . . . . . . . 39

8.5 event.RouterListener Interface Reference . . . . . . . . . . . . . . . 40

8.6 event.UnknownRouter Exception Reference . . . . . . . . . . . . . . 42

8.7 sae.Action Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 43

8.8 sae.ActionExt Struct Reference . . . . . . . . . . . . . . . . . . . . . 44

8.9 sae.AddrInterfaceName Struct Reference . . . . . . . . . . . . . . . 46

8.10 sae.Attr Struct Reference . . . . . . . . . . . . . . . . . . . . . . . . 47

8.11 sae.DhcpAttribute Struct Reference . . . . . . . . . . . . . . . . . . 48

8.12 sae.FeatureNotInstalled Exception Reference . . . . . . . . . . . . . 49

8.13 sae.GlobalAddress Struct Reference . . . . . . . . . . . . . . . . . . 50

8.14 sae.GlobalLoginName Struct Reference . . . . . . . . . . . . . . . . 51

8.15 sae.IdxPair Struct Reference . . . . . . . . . . . . . . . . . . . . . . 52

8.16 sae.InterfaceIndex Struct Reference . . . . . . . . . . . . . . . . . . 53

8.17 sae.InterfaceName Struct Reference . . . . . . . . . . . . . . . . . . 54

8.18 sae.LoginException Exception Reference . . . . . . . . . . . . . . . 55

8.19 sae.NonUniqueUserException Exception Reference . . . . . . . . . . 56

8.20 sae.OperationFailed Exception Reference . . . . . . . . . . . . . . . 57

8.21 sae.OverloadException Exception Reference . . . . . . . . . . . . . . 58

8.22 sae.ReadResult Struct Reference . . . . . . . . . . . . . . . . . . . . 59

8.23 sae.Registration Struct Reference . . . . . . . . . . . . . . . . . . . . 61

8.24 sae.SAEAccess Interface Reference . . . . . . . . . . . . . . . . . . 63

8.25 sae.SAEException Exception Reference . . . . . . . . . . . . . . . . 74

8.26 sae.SAEFeature Interface Reference . . . . . . . . . . . . . . . . . . 75

8.27 sae.ScheduledTime Struct Reference . . . . . . . . . . . . . . . . . . 76

8.28 sae.ScheduleEntry Struct Reference . . . . . . . . . . . . . . . . . . 77

8.29 sae.ScriptExecutionError Exception Reference . . . . . . . . . . . . . 78

8.30 sae.ScriptProcessor Interface Reference . . . . . . . . . . . . . . . . 79

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 5: SAE API Reference Manual - Juniper

CONTENTS iii

8.31 sae.ScriptSyntaxError Exception Reference . . . . . . . . . . . . . . 82

8.32 sae.Select Struct Reference . . . . . . . . . . . . . . . . . . . . . . . 83

8.33 sae.ServiceActivationEngine Interface Reference . . . . . . . . . . . 85

8.34 sae.ServiceAuthenticationException Exception Reference . . . . . . . 87

8.35 sae.Subscriber Interface Reference . . . . . . . . . . . . . . . . . . . 88

8.36 sae.SubscriberId Union Reference . . . . . . . . . . . . . . . . . . . 122

8.37 sae.SubscriberIterator Interface Reference . . . . . . . . . . . . . . . 125

8.38 sae.TimedAddress Struct Reference . . . . . . . . . . . . . . . . . . 127

8.39 sae.TimeSpec Struct Reference . . . . . . . . . . . . . . . . . . . . . 128

8.40 sae.TunnelSession Struct Reference . . . . . . . . . . . . . . . . . . 130

8.41 sae.UnknownServiceException Exception Reference . . . . . . . . . 131

8.42 sae.UnknownServiceSessionException Exception Reference . . . . . 132

8.43 sae.UnknownSubscriptionException Exception Reference . . . . . . . 133

8.44 sae.UnknownUserException Exception Reference . . . . . . . . . . . 134

8.45 sae.UnsupportedException Exception Reference . . . . . . . . . . . . 135

9 SAE API File Documentation 137

9.1 event.idl File Reference . . . . . . . . . . . . . . . . . . . . . . . . . 137

9.2 sae.idl File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 140

9.3 saeaccess.idl File Reference . . . . . . . . . . . . . . . . . . . . . . 141

9.4 saescript.idl File Reference . . . . . . . . . . . . . . . . . . . . . . . 147

10 SAE API Page Documentation 149

10.1 Deprecated List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 6: SAE API Reference Manual - Juniper
Page 7: SAE API Reference Manual - Juniper

Chapter 1

CORBA Remote API

1.1 Introduction

The CORBA remote API provides a CORBA interface for external applications toaccess the service activation engine (SAE). This API is a module implemented in theSAE API.

1.2 Before You Use the CORBA Remote API

You should be familiar with the SAE core API before you use the CORBA remoteAPI. You can locate documentation for the SAE core API on the SDX CD-ROM in thefollowing directory:

\sdk\doc\sae\index.html

You will notice that some of the class names are the same, but that the methods vary.The CORBA remote API bundles a number of methods together so that one remoteAPI call can be made rather than numerous calls from the SAE core API.

1.3 Interface Module Manager

The software object ServiceActivationEngine represents the interface module manager.The SAE creates one object of this type and exports a CORBA reference for this objectto the file:

/opt/UMC/sae/var/run/sae.ior

When developing applications using the CORBA remote API, the CORBA reference

Page 8: SAE API Reference Manual - Juniper

2 CORBA Remote API

is one of the following:

• The absolute path to the IOR file

• A corbaloc URL in the form corbaloc::<host>:8801/SAE <host> is the nameor IP address of the SAE host.

You can configure the SAEAccess module by using SDX Configuration Editor or bymodifying the property file for an SAE. From the SDX Configuration Editor, you canuse or modify the default SAEAccess instance or create an instance. See ComponentsGuide, Vol. 1.

Plug-ins can obtain the reference through the plug-in interface.

1.4 Security Considerations

The CORBA remote API does not support any security restrictions. The remote in-terface and the SAE should be installed in a network to which only authorized clientshave access.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 9: SAE API Reference Manual - Juniper

Chapter 2

SAE API Namespace Index

2.1 SAE API Package List

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

event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15sae (Service Activation Engine API ) . . . . . . . . . . . . . . . . . . . . . . 21

Page 10: SAE API Reference Manual - Juniper

4 SAE API Namespace Index

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 11: SAE API Reference Manual - Juniper

Chapter 3

SAE API Hierarchical Index

3.1 SAE API Class Hierarchy

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

event.AttributeUnion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31event.EventAttr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33event.IllegalArgument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39event.RouterListener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40event.UnknownRouter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42sae.Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43sae.ActionExt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44sae.AddrInterfaceName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46sae.Attr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47sae.DhcpAttribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48sae.FeatureNotInstalled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49sae.GlobalAddress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50sae.GlobalLoginName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51sae.IdxPair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52sae.InterfaceIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53sae.InterfaceName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54sae.LoginException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55sae.NonUniqueUserException . . . . . . . . . . . . . . . . . . . . . . . . . 56sae.OperationFailed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57sae.OverloadException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58sae.ReadResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59sae.Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61sae.SAEException . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74sae.SAEFeature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

event.EventNotification . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Page 12: SAE API Reference Manual - Juniper

6 SAE API Hierarchical Index

sae.SAEAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63sae.ScriptProcessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

sae.ScheduledTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76sae.ScheduleEntry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77sae.ScriptExecutionError . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78sae.ScriptSyntaxError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82sae.Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83sae.ServiceActivationEngine . . . . . . . . . . . . . . . . . . . . . . . . . . 85sae.ServiceAuthenticationException . . . . . . . . . . . . . . . . . . . . . . 87sae.Subscriber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88sae.SubscriberId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122sae.SubscriberIterator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125sae.TimedAddress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127sae.TimeSpec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128sae.TunnelSession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130sae.UnknownServiceException . . . . . . . . . . . . . . . . . . . . . . . . . 131sae.UnknownServiceSessionException . . . . . . . . . . . . . . . . . . . . . 132sae.UnknownSubscriptionException . . . . . . . . . . . . . . . . . . . . . . 133sae.UnknownUserException . . . . . . . . . . . . . . . . . . . . . . . . . . 134sae.UnsupportedException . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 13: SAE API Reference Manual - Juniper

Chapter 4

SAE API Class Index

4.1 SAE API Class List

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

event.AttributeUnion (Value union of an event attribute ) . . . . . . . . . . . 31event.EventAttr (A single event attribute ) . . . . . . . . . . . . . . . . . . . 33event.EventNotification (The event notification interface of SAE allows inte-

gration with external IP address managers for router drivers that donot receive address assignment events directly from the router ) . . . 34

event.IllegalArgument (Raised when illegal arguments were passed ) . . . . . 39event.RouterListener (A callback interface that can be implemented by a

client of the event interface ) . . . . . . . . . . . . . . . . . . . . . 40event.UnknownRouter (Raised when a call for a currently not managed router

is received ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42sae.Action (Structure used for an action to be taken at a specified time ) . . . 43sae.ActionExt (Structure used for service schedules that consist of actions

that are performed at specified times ) . . . . . . . . . . . . . . . . 44sae.AddrInterfaceName (Structure used to hold the name of a managed inter-

face, the name of the router or virtual router on which the interfaceresides, and the IP address of the interface ) . . . . . . . . . . . . . 46

sae.Attr (Structure used for the name and values of an object attribute ) . . . . 47sae.DhcpAttribute (Structure that encapsulates DHCP profile data that is used

to manipulate IP addresses assigned through DHCP ) . . . . . . . . 48sae.FeatureNotInstalled (An Exception that indicates that a requested inter-

face module is not installed ) . . . . . . . . . . . . . . . . . . . . . 49sae.GlobalAddress (Globally unique IP address ) . . . . . . . . . . . . . . . 50sae.GlobalLoginName (Globally unique Login Name ) . . . . . . . . . . . . 51sae.IdxPair (Structure used to hold a subscription index paired with a service

index ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Page 14: SAE API Reference Manual - Juniper

8 SAE API Class Index

sae.InterfaceIndex (Structure used to hold the SNMP interface index (ifindex)of a managed interface and the virtual router on which the interfaceresides ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

sae.InterfaceName (Structure used to hold the name of a managed interfaceand the name of virtual router on which the interface resides ) . . . . 54

sae.LoginException (Exception raised if a subscriber login to a subscribersession fails, or if an authentication fails for a registered login, anunregistered login, or a registered login that is being obtained ) . . . 55

sae.NonUniqueUserException (Exception raised if there is more than oneactive subscriber session for the specified subscriber ID ) . . . . . . 56

sae.OperationFailed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57sae.OverloadException (Exception raised if the SAE was overloaded at the

time of the request and did not perform the requested operation ) . . 58sae.ReadResult (Structure used to hold the result of a subscriber information

request ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59sae.Registration (Structure used for client device registration information for

DHCP connections ) . . . . . . . . . . . . . . . . . . . . . . . . . 61sae.SAEAccess (Interface to access the SAE core API ) . . . . . . . . . . . . 63sae.SAEException (Exception raised if there is an unspecified error condition

within the SAE ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 74sae.SAEFeature (Common interface for SAE interface modules ) . . . . . . . 75sae.ScheduledTime (Structure used for two time specifications for a service

schedule ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76sae.ScheduleEntry (Structure used for a service schedule ) . . . . . . . . . . 77sae.ScriptExecutionError (The script could not be executed ) . . . . . . . . . 78sae.ScriptProcessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79sae.ScriptSyntaxError (The script was rejected by the script compiler ) . . . . 82sae.Select (Structure used to identify attributes and to filter information re-

trieved from service definitions and subscriptions ) . . . . . . . . . 83sae.ServiceActivationEngine (The interface to the interface module manager

of SAE ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85sae.ServiceAuthenticationException (Exception raised if authentication for

service activation failed ) . . . . . . . . . . . . . . . . . . . . . . . 87sae.Subscriber (Interface that is used to manage an active subscriber session ) 88sae.SubscriberId (Structure to identify one or more active subscriber sessions

in an SAE ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122sae.SubscriberIterator (Interface that is used to iteratively retrieve subscriber

objects that were not transmitted from a single API call to the SAE ) 125sae.TimedAddress (Structure that encapsulates a subscriber’s IP address and

the timestamp of the request ) . . . . . . . . . . . . . . . . . . . . . 127sae.TimeSpec (Structure used for the attributes of a time specification ) . . . . 128sae.TunnelSession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130sae.UnknownServiceException (Exception raised if the requested service is

not available ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131sae.UnknownServiceSessionException (Exception raised if the requested

service session does not exist ) . . . . . . . . . . . . . . . . . . . . 132

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 15: SAE API Reference Manual - Juniper

4.1 SAE API Class List 9

sae.UnknownSubscriptionException (Exception raised if the requested sub-scription does not exist ) . . . . . . . . . . . . . . . . . . . . . . . 133

sae.UnknownUserException (Exception raised if a subscriber is not loggedin to the subscriber session ) . . . . . . . . . . . . . . . . . . . . . 134

sae.UnsupportedException (Exception raised if SAE does not support therequested operation ) . . . . . . . . . . . . . . . . . . . . . . . . . 135

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 16: SAE API Reference Manual - Juniper

10 SAE API Class Index

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 17: SAE API Reference Manual - Juniper

Chapter 5

SAE API File Index

5.1 SAE API File List

Here is a list of all files with brief descriptions:

event.idl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137sae.idl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140saeaccess.idl (SAE access interface module ) . . . . . . . . . . . . . . . . . . 141saescript.idl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Page 18: SAE API Reference Manual - Juniper

12 SAE API File Index

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 19: SAE API Reference Manual - Juniper

Chapter 6

SAE API Page Index

6.1 SAE API Related Pages

Here is a list of all related documentation pages:

Deprecated List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Page 20: SAE API Reference Manual - Juniper

14 SAE API Page Index

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 21: SAE API Reference Manual - Juniper

Chapter 7

SAE API NamespaceDocumentation

7.1 Package event

Classes

• exception UnknownRouter

Raised when a call for a currently not managed router is received.

• exception IllegalArgument

Raised when illegal arguments were passed.

• union AttributeUnion

Value union of an event attribute.

• struct EventAttr

A single event attribute.

• interface RouterListener

A callback interface that can be implemented by a client of the event interface.

• interface EventNotification

The event notification interface of SAE allows integration with external IP addressmanagers for router drivers that do not receive address assignment events directlyfrom the router.

Page 22: SAE API Reference Manual - Juniper

16 SAE API Namespace Documentation

Typedefs

• typedef sequence< EventAttr > EventAttrSeqA sequence of event attributes.

• typedef sequence< EventAttrSeq > EventAttrSeqSeqA sequence of EventAttrSeq, used in EventNofication.ipSynchronize.

• typedef sequence< octet > InetAddressIPv4 address: 4 octet in network order.

• typedef sequence< InetAddress > InetAddressSeqA sequence of InetAddresses.

Enumerations

• enum EventAttribute {

EA_INTERFACE_NAME,

EA_SESSION_ID,

EA_IF_ALIAS,

EA_IF_DESCR,

EA_IF_INDEX,

EA_NAS_PORT_ID,

EA_NAS_PORT,

EA_NAS_IP,

EA_RADIUS_CLASS,

EA_SERVICE_BUNDLE,

EA_LOGIN_NAME,

EA_IP_ADDRESS,

EA_IP_MASK,

EA_MTU,

EA_BROADCAST_ADDR,

EA_INTERFACE_SPEED,

EA_MAC_ADDRESS,

EA_DHCP_PACKET,

EA_LOGIN_TYPE,

EA_USER_IP_ADDRESS,

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 23: SAE API Reference Manual - Juniper

7.1 Package event 17

EA_INTERFACE_TYPE,

EA_TUNNEL_SERVER_IP_ADDRESS,

EA_TUNNEL_SERVER_IP_MASK,

EA_TUNNEL_ID,

EA_TUNNEL_SESSION_ID,

EA_CALLING_STATION_ID,

EA_LOCAL_QOS_PROFILE }

List of possible event attribute types that can be included in an EventNotification.ipUpcall.

• enum EventAttributeType {

EAT_LONG,

EAT_LONG_LONG,

EAT_STRING,

EAT_OPAQUE }

Possible types of event attributes.

7.1.1 Typedef Documentation

7.1.1.1 typedef sequence<EventAttr> event.EventAttrSeq

A sequence of event attributes.

7.1.1.2 typedef sequence<EventAttrSeq> event.EventAttrSeqSeq

A sequence of EventAttrSeq, used in EventNofication.ipSynchronize.

7.1.1.3 typedef sequence<octet> event.InetAddress

IPv4 address: 4 octet in network order.

IPv6 address: 16 octet in network order (not yet supported).

7.1.1.4 typedef sequence<InetAddress> event.InetAddressSeq

A sequence of InetAddresses.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 24: SAE API Reference Manual - Juniper

18 SAE API Namespace Documentation

7.1.2 Enumeration Type Documentation

7.1.2.1 enum event::EventAttribute

List of possible event attribute types that can be included in an EventNotification.ipUpcall.

Enumerator:

EA_INTERFACE_NAME Name of the interface

• Type: EAT_STRING.

EA_SESSION_ID Session Identifier, eg RADIUS accounting session ID

• Type: EAT_STRING.

EA_IF_ALIAS Description of the interface

• Type: EAT_STRING.

EA_IF_DESCR Alternative name of the interface

• Type: EAT_STRING.

EA_IF_INDEX SNMP index of the interface

• Type: EAT_LONG.

EA_NAS_PORT_ID Port identification string

• Type: EAT_STRING.

EA_NAS_PORT Port identification

• Type: EAT_LONG.

EA_NAS_IP Router IP address

• Type: EAT_OPAQUE (4 octet for IPv4 address).

EA_RADIUS_CLASS Interface RADIUS class

• Type: EAT_STRING.

EA_SERVICE_BUNDLE Interface Service Bundle

• Type: EAT_STRING.

EA_LOGIN_NAME Interface login name (for authenticated interface only)

• Type: EAT_STRING.

EA_IP_ADDRESS Interface IP Address

• Type: EAT_OPAQUE (4 octet for IPv4 address).Note:

This is not the IP address of a connected user.

EA_IP_MASK Interface network mask

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 25: SAE API Reference Manual - Juniper

7.1 Package event 19

• Type: EAT_OPAQUE (4 octet for IPv4 address).

EA_MTU Interface maximum transfer unit• Type: EAT_LONG.

EA_BROADCAST_ADDR Interface broadcast address• Type: EAT_OPAQUE (4 octet for IPv4 address).

EA_INTERFACE_SPEED Speed of interface in bit per second• Type: EAT_LONG_LONG.

EA_MAC_ADDRESS MAC address of subscriber• Type: EAT_OPAQUE (6 octet).

EA_DHCP_PACKET DHCP options from discover request• Type: EAT_OPAQUE• First 4 octet: giAddr• remaining octets: octets 236- of DHCP discover request.

EA_LOGIN_TYPE Type of login request.One of: INTF, AUTHINTF, ADDR, AUTHADDR; defaults to ADDR

• Type: EAT_STRING

EA_USER_IP_ADDRESS IP address of the user session associated with theevent

• Type: EAT_OPAQUE (4 octet for IPv4 address).Note:

This attribute should only be sent to EventNotification.ipSynchronizeand is ignored by EventNotification.ipUp.

EA_INTERFACE_TYPE Type of interface, IPV4, IPV6, L2TP (default=IP)• Type: EAT_STRING.

EA_TUNNEL_SERVER_IP_ADDRESS The L2TP tunnel server IP address• Type: EAT_OPAQUE (4 octet for IPv4 address).

EA_TUNNEL_SERVER_IP_MASK The L2TP tunnel server IP mask• Type: EAT_LONG (network prefix length).

EA_TUNNEL_ID The L2TP tunnel ID• Type: EAT_LONG.

EA_TUNNEL_SESSION_ID The L2TP tunnel session ID• Type: EAT_LONG.

EA_CALLING_STATION_ID The Calling-Station-Id associated with the inter-face

• Type: EAT_STRING.

EA_LOCAL_QOS_PROFILE The local qos profiles associated with the inter-face

• Type: EAT_STRING.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 26: SAE API Reference Manual - Juniper

20 SAE API Namespace Documentation

7.1.2.2 enum event::EventAttributeType

Possible types of event attributes.

Enumerator:

EAT_LONG 32 bit signed integer

EAT_LONG_LONG 64 bit signed integer

EAT_STRING character string

EAT_OPAQUE byte array

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 27: SAE API Reference Manual - Juniper

7.2 Package sae 21

7.2 Package sae

7.2.1 Detailed Description

Service Activation Engine API.

This API provides remote access to the SAE core API.

Classes

• exception FeatureNotInstalledAn Exception that indicates that a requested interface module is not installed.

• interface SAEFeatureCommon interface for SAE interface modules.

• interface ServiceActivationEngineThe interface to the interface module manager of SAE.

• struct AttrStructure used for the name and values of an object attribute.

• struct TimeSpecStructure used for the attributes of a time specification.

• struct ScheduledTimeStructure used for two time specifications for a service schedule.

• struct ActionExtStructure used for service schedules that consist of actions that are performed atspecified times.

• struct ActionStructure used for an action to be taken at a specified time.

• struct ScheduleEntryStructure used for a service schedule.

• struct SelectStructure used to identify attributes and to filter information retrieved from servicedefinitions and subscriptions.

• struct IdxPair

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 28: SAE API Reference Manual - Juniper

22 SAE API Namespace Documentation

Structure used to hold a subscription index paired with a service index.

• struct ReadResult

Structure used to hold the result of a subscriber information request.

• exception UnknownUserException

Exception raised if a subscriber is not logged in to the subscriber session.

• exception NonUniqueUserException

Exception raised if there is more than one active subscriber session for the specifiedsubscriber ID.

• exception UnknownServiceException

Exception raised if the requested service is not available.

• exception UnknownServiceSessionException

Exception raised if the requested service session does not exist.

• exception UnknownSubscriptionException

Exception raised if the requested subscription does not exist.

• exception SAEException

Exception raised if there is an unspecified error condition within the SAE.

• exception LoginException

Exception raised if a subscriber login to a subscriber session fails, or if an authenti-cation fails for a registered login, an unregistered login, or a registered login that isbeing obtained.

• exception OverloadException

Exception raised if the SAE was overloaded at the time of the request and did notperform the requested operation.

• exception UnsupportedException

Exception raised if SAE does not support the requested operation.

• exception ServiceAuthenticationException

Exception raised if authentication for service activation failed.

• struct TimedAddress

Structure that encapsulates a subscriber’s IP address and the timestamp of the re-quest.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 29: SAE API Reference Manual - Juniper

7.2 Package sae 23

• struct InterfaceName

Structure used to hold the name of a managed interface and the name of virtual routeron which the interface resides.

• struct InterfaceIndex

Structure used to hold the SNMP interface index (ifindex) of a managed interface andthe virtual router on which the interface resides.

• struct AddrInterfaceName

Structure used to hold the name of a managed interface, the name of the router orvirtual router on which the interface resides, and the IP address of the interface.

• struct TunnelSession• struct GlobalAddress

Globally unique IP address.

• struct GlobalLoginName

Globally unique Login Name.

• union SubscriberId

Structure to identify one or more active subscriber sessions in an SAE.

• struct DhcpAttribute

Structure that encapsulates DHCP profile data that is used to manipulate IP addressesassigned through DHCP.

• interface Subscriber

Interface that is used to manage an active subscriber session.

• struct Registration

Structure used for client device registration information for DHCP connections.

• interface SubscriberIterator

Interface that is used to iteratively retrieve subscriber objects that were not transmit-ted from a single API call to the SAE.

• interface SAEAccess

Interface to access the SAE core API.

• exception ScriptSyntaxError

The script was rejected by the script compiler.

• exception ScriptExecutionError

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 30: SAE API Reference Manual - Juniper

24 SAE API Namespace Documentation

The script could not be executed.

• exception OperationFailed• interface ScriptProcessor

Typedefs

• typedef sequence< string > StringSeq

A sequence of strings.

• typedef sequence< wstring > WStringSeq

Sequence of wide strings (unicode).

• typedef sequence< Attr > AttrSeq

List of attributes.

• typedef sequence< AttrSeq > AttrSeqSeq

List of attribute lists.

• typedef sequence< ActionExt > ActionExtSeq

List of actions to be scheduled.

• typedef sequence< Action > ActionSeq

List of actions.

• typedef sequence< long long > LongLongSeq

64-bit integer value for list of eventDates.

• typedef string ScheduleEntryId

ID for a service schedule (ScheduleEntry).

• typedef sequence< ScheduleEntryId > ScheduleEntryIdSeq

Sequence of IDs for a service schedule.

• typedef sequence< ScheduleEntry > ScheduleEntrySeq

Sequence of entries for a service schedule.

• typedef sequence< IdxPair > IdxPairSeq

Sequence of indexes for subscriptions paired with services.

• typedef sequence< DhcpAttribute > DhcpAttributes

Sequence of DHCP attributes.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 31: SAE API Reference Manual - Juniper

7.2 Package sae 25

• typedef sequence< Subscriber > SubscriberSeq

Sequence of subscriber objects.

• typedef sequence< Registration > RegistrationSeq

Sequence of registration objects.

• typedef sequence< wstring > Arguments

List of script arguments.

Enumerations

• enum SAET {

SAET_PUBLIC_IP_AUTHENTICATION,

SAET_MUTEX_GROUPS,

SAET_SERVICE_AUTHORIZATION,

SAET_ANONYMOUS_USER,

SAET_AUTH_PRECLUDES_ACTIVATE_ON_LOGIN,

SAET_INHERITED_SUBSCRIPTION,

SAET_SERVICE_UNAVAILABLE,

SAET_SUBSCRIPTION_AUTHORIZATION,

SAET_ACTIVATE_ONLY,

SAET_INVISIBLE,

SAET_FILTERED_OUT,

SAET_NO_SESSION_MODIFICATION,

SAET_TRANSIENT_EXCEPTION,

SAET_PERSISTENT_ACTIVATION,

SAET_MODIFY_EXCEPTION }

Types of exceptions for ServiceAuthenticationException.

• enum SubscriberIdType {

SIT_ADDRESS,

SIT_DN,

SIT_LOGIN_NAME,

SIT_IF_NAME,

SIT_IF_INDEX,

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 32: SAE API Reference Manual - Juniper

26 SAE API Namespace Documentation

SIT_PRIMARY_USER_NAME,

SIT_ADDR_IF_NAME,

SIT_TUNNEL_SESSION,

SIT_SESSIONID,

SIT_SESSION_HANDLE,

SIT_GLOBAL_ADDRESS,

SIT_GLOBAL_LOGIN_NAME }

Types of subscriber IDs.

Variables

• const string DEFAULT_SESSION_NAME = "default"

Constructor. Reserved session name.

• const string MANUAL = "MANUAL"

Constructor. Manual service activation trigger.

• const string ACTIVATE_ON_LOGIN = "ACTIVATE_ON_LOGIN"

Constructor. Automatic service activation trigger.

7.2.2 Typedef Documentation

7.2.2.1 typedef sequence<string> sae.StringSeq

A sequence of strings.

7.2.2.2 typedef sequence<wstring> sae.WStringSeq

Sequence of wide strings (unicode).

7.2.2.3 typedef sequence<Attr> sae.AttrSeq

List of attributes.

7.2.2.4 typedef sequence<AttrSeq> sae.AttrSeqSeq

List of attribute lists.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 33: SAE API Reference Manual - Juniper

7.2 Package sae 27

7.2.2.5 typedef sequence<ActionExt> sae.ActionExtSeq

List of actions to be scheduled.

Since:

4.1

7.2.2.6 typedef sequence<Action> sae.ActionSeq

List of actions.

Deprecated

Use ActionExtSeq.

7.2.2.7 typedef sequence<long long> sae.LongLongSeq

64-bit integer value for list of eventDates.

7.2.2.8 typedef string sae.ScheduleEntryId

ID for a service schedule (ScheduleEntry).

7.2.2.9 typedef sequence<ScheduleEntryId> sae.ScheduleEntryIdSeq

Sequence of IDs for a service schedule.

7.2.2.10 typedef sequence<ScheduleEntry> sae.ScheduleEntrySeq

Sequence of entries for a service schedule.

7.2.2.11 typedef sequence<IdxPair> sae.IdxPairSeq

Sequence of indexes for subscriptions paired with services.

7.2.2.12 typedef sequence<DhcpAttribute> sae.DhcpAttributes

Sequence of DHCP attributes.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 34: SAE API Reference Manual - Juniper

28 SAE API Namespace Documentation

7.2.2.13 typedef sequence<Subscriber> sae.SubscriberSeq

Sequence of subscriber objects.

7.2.2.14 typedef sequence<Registration> sae.RegistrationSeq

Sequence of registration objects.

7.2.2.15 typedef sequence<wstring> sae.Arguments

List of script arguments.

7.2.3 Enumeration Type Documentation

7.2.3.1 enum sae::SAET

Types of exceptions for ServiceAuthenticationException.

Enumerator:

SAET_PUBLIC_IP_AUTHENTICATION Authentication of a DHCP addressfailed.

SAET_MUTEX_GROUPS A service mutex group prevented activation of theservice.

SAET_SERVICE_AUTHORIZATION Authorization of the service failed.

SAET_ANONYMOUS_USER Anonymous user profile is not authorized to ac-tivate the service.

SAET_AUTH_PRECLUDES_ACTIVATE_ON_LOGIN Service cannot be setto activate-on-login because it requires authentication.

SAET_INHERITED_SUBSCRIPTION Inherited subscription cannot be mod-ified.

SAET_SERVICE_UNAVAILABLE Service is not available for activation.

SAET_SUBSCRIPTION_AUTHORIZATION Authorization of the subscrip-tion failed.

SAET_ACTIVATE_ONLY Service can only be activated.

SAET_INVISIBLE Service is not visible to clients.

SAET_FILTERED_OUT Service is not available for activation.

SAET_NO_SESSION_MODIFICATION Session modification not permitted.

SAET_TRANSIENT_EXCEPTION Transitory problem while activating, deac-tivating or modifying a service.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 35: SAE API Reference Manual - Juniper

7.2 Package sae 29

SAET_PERSISTENT_ACTIVATION Failed to add persistent activation.SAET_MODIFY_EXCEPTION Problem while modifying a service.

7.2.3.2 enum sae::SubscriberIdType

Types of subscriber IDs.

Enumerator:

SIT_ADDRESS Subscriber’s IP address and timestamp (time of retrieval requestbased on an IP address.

SIT_DN Distinguished name of subscriber profile.SIT_LOGIN_NAME Subscriber’s login name.SIT_IF_NAME Name of interface and the name or virtual router to which the

subscriber connects.SIT_IF_INDEX SNMP index of interface and the name of the virtual router to

which the subscriber connects.SIT_PRIMARY_USER_NAME Primary username.SIT_ADDR_IF_NAME Subscriber’s IP address, name of the managed inter-

face, and name of the virtual router to which the subscriber connects.SIT_TUNNEL_SESSION Subscriber’s L2TP tunnel session identification and

name of the virtual router to which the subscriber connects.SIT_SESSIONID Subscriber’s RADIUS session ID.SIT_SESSION_HANDLE Subscriber’s session handle.SIT_GLOBAL_ADDRESS IP Address + VPN-ID.SIT_GLOBAL_LOGIN_NAME LoginName + VPN-ID.

7.2.4 Variable Documentation

7.2.4.1 const string sae.DEFAULT_SESSION_NAME = "default"

Constructor. Reserved session name.

7.2.4.2 const string sae.MANUAL = "MANUAL"

Constructor. Manual service activation trigger.

7.2.4.3 const string sae.ACTIVATE_ON_LOGIN = "ACTIVATE_ON_LOGIN"

Constructor. Automatic service activation trigger.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 36: SAE API Reference Manual - Juniper

30 SAE API Namespace Documentation

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 37: SAE API Reference Manual - Juniper

Chapter 8

SAE API Class Documentation

8.1 event.AttributeUnion Union Reference

import "event.idl";

8.1.1 Detailed Description

Value union of an event attribute.

Public Attributes

• long longVal

32 bit signed integer value

• long long longLongVal

64 bit signed integer value

• string stringVal

character string value

• sequence< octet > opaqueVal

byte array value

Page 38: SAE API Reference Manual - Juniper

32 SAE API Class Documentation

8.1.2 Member Data Documentation

8.1.2.1 long long event.AttributeUnion.longLongVal

64 bit signed integer value

8.1.2.2 long event.AttributeUnion.longVal

32 bit signed integer value

8.1.2.3 sequence<octet> event.AttributeUnion.opaqueVal

byte array value

8.1.2.4 string event.AttributeUnion.stringVal

character string value

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

• event.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 39: SAE API Reference Manual - Juniper

8.2 event.EventAttr Struct Reference 33

8.2 event.EventAttr Struct Reference

import "event.idl";

8.2.1 Detailed Description

A single event attribute.

Public Attributes

• EventAttribute type• AttributeUnion value

8.2.2 Member Data Documentation

8.2.2.1 EventAttribute event.EventAttr.type

8.2.2.2 AttributeUnion event.EventAttr.value

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

• event.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 40: SAE API Reference Manual - Juniper

34 SAE API Class Documentation

8.3 event.EventNotification Interface Reference

import "event.idl";

Inheritance diagram for event.EventNotification::

event.EventNotification

sae.SAEFeature

8.3.1 Detailed Description

The event notification interface of SAE allows integration with external IP addressmanagers for router drivers that do not receive address assignment events directly fromthe router.

Public Member Functions

• boolean ipUp (in string routerName, in InetAddress ipAddress, in longsessionTimeout, in EventAttrSeq attributes) raises (UnknownRouter, Illegal-Argument)

Notify that an IP address is up.

• boolean ipDown (in string routerName, in InetAddress ipAddress, in EventAttr-Seq attributes) raises (UnknownRouter, IllegalArgument)

Notify that an IP address is down.

• InetAddressSeq ipSynchronize (in string routerName, in EventAttrSeqSeq ses-sions) raises (UnknownRouter, IllegalArgument)

Start synchronization of the SAE for one router.

• sae::StringSeq getManagedRouterNames ()

Return a list of routerNames that are currently managed by this SAE.

• void registerRouterListener (in RouterListener listener)

Register a router listener interface.

• void unregisterRouterListener (in RouterListener listener)

Unregister a router listener interface.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 41: SAE API Reference Manual - Juniper

8.3 event.EventNotification Interface Reference 35

• string getSaeID ()Return SAE identifier of this interface.

8.3.2 Member Function Documentation

8.3.2.1 sae::StringSeq event.EventNotification.getManagedRouterNames ()

Return a list of routerNames that are currently managed by this SAE.

This SAE will accept at this time EventNotification.ipUp and EventNotification.ip-Down calls for the reported routers without throwing UnknownRouter exception.

If SAE does throw an UnknownRouter exception for one the routers returned by aprevious call, it is a signal for the client to refresh the list of managed routers.

Returns:

a list of currently managed routerNames.

8.3.2.2 string event.EventNotification.getSaeID ()

Return SAE identifier of this interface.

SAE will use this identifier when calling a RouterListener.

8.3.2.3 boolean event.EventNotification.ipDown (in string routerName,in InetAddress ipAddress, in EventAttrSeq attributes) raises(UnknownRouter, IllegalArgument)

Notify that an IP address is down.

Parameters:

← routerName The name of the router the IP address belonged to

← ipAddress The IP address that is down.

← attributes only event.EA_INTERFACE_NAME, event.EA_SESSION_ID andevent.EA_IF_INDEX are checked. If these values are used, their values haveto match the current values associated with the IP address. If the values donot match, the call to ipDown is ignored.

Returns:

true if the SAE state is in sync. If the client supports synchronization, it shouldcall EventNotification.ipSynchronize if SAE returns false.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 42: SAE API Reference Manual - Juniper

36 SAE API Class Documentation

Exceptions:

UnknownRouter if this SAE does not accept notifications for the specified router-Name.

IllegalArgument if the ipAddress can not be parsed.

8.3.2.4 InetAddressSeq event.EventNotification.ipSynchronize (in stringrouterName, in EventAttrSeqSeq sessions) raises (UnknownRouter,IllegalArgument)

Start synchronization of the SAE for one router.

The client sends a list of all currently active IP address sessions for the given routername. SAE will return a subset of this list with IP addresses that are not currentlyknown and require synchronization.

If the client uses sessionIDs, interface names of ifIndex to identify sessions, it mustsend the current set of session IDs, interface names or ifIndex together with the IPaddress.

Note:

This interface can not be used to synchronize change events. I.e. if the clientsends EventNotification.ipUp requests, that modify an existing IP address session,it must buffer and resend those event.

Parameters:

← routerName The router that is synchronized

← sessions A sequence of sessions that are currently present on the client. Eachsession is an event.EventAttrSeq that must contain an event.EA_USER_IP_-ADDRESS attribute and may contain event.EA_SESSION_ID, event.EA_-INTERFACE_NAME and event.EA_IF_INDEX attributes. Any other at-tribute will be ignored.

Returns:

a sequence of IP addresses for which EventNotification.ipUp must be repeated

Exceptions:

UnknownRouter if this SAE does not accept notifications for the specified router-Name.

IllegalArgument if the sessions can not be parsed.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 43: SAE API Reference Manual - Juniper

8.3 event.EventNotification Interface Reference 37

8.3.2.5 boolean event.EventNotification.ipUp (in string routerName, inInetAddress ipAddress, in long sessionTimeout, in EventAttrSeqattributes) raises (UnknownRouter, IllegalArgument)

Notify that an IP address is up.

SAE will automatically create a subscriber interface for this IP address with the name"ip#.#.#.#", where "#.#.#.#" is the dotted-decimal encoding of the IP address, unlessthe interface name is specified in the attributes.

This notification can (and may have to be, if a session timeout is defined) repeated forip addresses that have already been reported.

If a session for the interface name already exists and either the session ID or ifIndexhave changed, SAE assumes that the ipDown notification for the previous session waslost and deletes the previous session automatically.

To guarantee proper state management for IP addresses the client must implement oneof the following strategies:

• synchronize the state when the client starts or SAE signals that synchronizationis required

• set a sessionTimout that is less than the re-use time of the IP address (e.g. theDHCP lease time)

• set a sessionTimeout and a unique sessionID or a unique interface name

Parameters:

← routerName The name of the router the IP address belongs to

← ipAddress The IP address that is up.

← sessionTimeout number of seconds before the interface is implicitly deleted.If sessionTimeout <= 0, no timeout is started. The client is responsible forrepeating ipUp before the session timeout expires as long as the session isactive.

← attributes Interface attributes available for interface classification.

Returns:

true if the SAE state is in sync. If the client supports synchronization, it shouldcall EventNotification.ipSynchronize if SAE returns false.

Exceptions:

UnknownRouter if this SAE does not accept notifications for the specified router-Name.

IllegalArgument if the ipAddress or the attributes can not be parsed.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 44: SAE API Reference Manual - Juniper

38 SAE API Class Documentation

8.3.2.6 void event.EventNotification.registerRouterListener (in RouterListenerlistener)

Register a router listener interface.

SAE will notify all registered listeners when a router becomes available or unavailableto receive notifications.

SAE will automatically unregister listeners that are no longer available (i.e. if an in-vocation of the listener interface raises an OBJECT_NOT_EXIST exception or thenumber of retries is exceeded). For other failure cases (e.g. communication errors)events are buffered and resent.

Parameters:

← listener a router listener implementation.

8.3.2.7 void event.EventNotification.unregisterRouterListener (inRouterListener listener)

Unregister a router listener interface.

Parameters:

← listener the router listener implementation that is unregistered. If the listeneris not registered, the call is ignored.

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

• event.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 45: SAE API Reference Manual - Juniper

8.4 event.IllegalArgument Exception Reference 39

8.4 event.IllegalArgument Exception Reference

import "event.idl";

8.4.1 Detailed Description

Raised when illegal arguments were passed.

Public Attributes

• string messageDetails describing the problem.

8.4.2 Member Data Documentation

8.4.2.1 string event.IllegalArgument.message

Details describing the problem.

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

• event.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 46: SAE API Reference Manual - Juniper

40 SAE API Class Documentation

8.5 event.RouterListener Interface Reference

import "event.idl";

8.5.1 Detailed Description

A callback interface that can be implemented by a client of the event interface.

SAE will notify registered listeners when routers become managed and unmanaged.

Public Member Functions

• void routerUp (in string routerName, in string saeId)Tell the listener that this SAE instance is starting to accept notifications for a router.

• void routerDown (in string routerName, in string saeId)Tell the listener that this SAE instance no longer accepts notification for a router.

8.5.2 Member Function Documentation

8.5.2.1 void event.RouterListener.routerDown (in string routerName, in stringsaeId)

Tell the listener that this SAE instance no longer accepts notification for a router.

Parameters:

← routerName The name of the router that went down.

← saeId The ID of the SAE that is no longer accepting notifications. The ID canbe retrieved using EventNotification.getSaeID

8.5.2.2 void event.RouterListener.routerUp (in string routerName, in stringsaeId)

Tell the listener that this SAE instance is starting to accept notifications for a router.

Parameters:

← routerName The name of the router that came up.

← saeId The ID of the SAE that is now accepting notifications. The ID can beretrieved using EventNotification.getSaeID

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 47: SAE API Reference Manual - Juniper

8.5 event.RouterListener Interface Reference 41

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

• event.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 48: SAE API Reference Manual - Juniper

42 SAE API Class Documentation

8.6 event.UnknownRouter Exception Reference

import "event.idl";

8.6.1 Detailed Description

Raised when a call for a currently not managed router is received.

Public Attributes

• string messageDetails describing the problem.

8.6.2 Member Data Documentation

8.6.2.1 string event.UnknownRouter.message

Details describing the problem.

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

• event.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 49: SAE API Reference Manual - Juniper

8.7 sae.Action Struct Reference 43

8.7 sae.Action Struct Reference

import "saeaccess.idl";

8.7.1 Detailed Description

Structure used for an action to be taken at a specified time.

Deprecated

Use ActionExt.

Public Attributes

• unsigned long operationAn action to be taken.

• wstring serviceNameThe name of the service associated with the action.

8.7.2 Member Data Documentation

8.7.2.1 unsigned long sae.Action.operation

An action to be taken.

8.7.2.2 wstring sae.Action.serviceName

The name of the service associated with the action.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 50: SAE API Reference Manual - Juniper

44 SAE API Class Documentation

8.8 sae.ActionExt Struct Reference

import "saeaccess.idl";

8.8.1 Detailed Description

Structure used for service schedules that consist of actions that are performed at speci-fied times.

You can activate or deactivate a service at a specified time or on a recurring schedule,and you can deny service activation during a specified time interval.

You create schedules for subscribers. At the scheduled time, the actions apply only tothe subscriber. Subscribers manipulate the schedule from the application you create.

Since:

4.1

Public Attributes

• unsigned long operation

An action to be taken.

• wstring serviceName

Name of the service to be scheduled.

• AttrSeq attributes

Sequence of attributes.

8.8.2 Member Data Documentation

8.8.2.1 AttrSeq sae.ActionExt.attributes

Sequence of attributes.

8.8.2.2 unsigned long sae.ActionExt.operation

An action to be taken.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 51: SAE API Reference Manual - Juniper

8.8 sae.ActionExt Struct Reference 45

8.8.2.3 wstring sae.ActionExt.serviceName

Name of the service to be scheduled.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 52: SAE API Reference Manual - Juniper

46 SAE API Class Documentation

8.9 sae.AddrInterfaceName Struct Reference

import "saeaccess.idl";

8.9.1 Detailed Description

Structure used to hold the name of a managed interface, the name of the router orvirtual router on which the interface resides, and the IP address of the interface.

You can use this structure to create subscriber sessions that have an assigned IP address.

Public Attributes

• string ipAddressIP address in dotted decimal notation.

• string intfNameName of the managed interface.

• string vrNameName of the router or virtual router on which the interface resides.

8.9.2 Member Data Documentation

8.9.2.1 string sae.AddrInterfaceName.intfName

Name of the managed interface.

8.9.2.2 string sae.AddrInterfaceName.ipAddress

IP address in dotted decimal notation.

8.9.2.3 string sae.AddrInterfaceName.vrName

Name of the router or virtual router on which the interface resides.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 53: SAE API Reference Manual - Juniper

8.10 sae.Attr Struct Reference 47

8.10 sae.Attr Struct Reference

import "saeaccess.idl";

8.10.1 Detailed Description

Structure used for the name and values of an object attribute.

An object attribute corresponds to a Bean property that is defined in the SAE coreAPI. The value of the Bean property is converted into an array of strings based on thefollowing rules:

• If the Bean property is an array or a collection of objects, each element of thearray or collection is converted into a string.

• All other Java objects are converted into a single string.

Public Attributes

• string nameName of the attribute.

• WStringSeq valuesValue of the attribute.

8.10.2 Member Data Documentation

8.10.2.1 string sae.Attr.name

Name of the attribute.

8.10.2.2 WStringSeq sae.Attr.values

Value of the attribute.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 54: SAE API Reference Manual - Juniper

48 SAE API Class Documentation

8.11 sae.DhcpAttribute Struct Reference

import "saeaccess.idl";

8.11.1 Detailed Description

Structure that encapsulates DHCP profile data that is used to manipulate IP addressesassigned through DHCP.

NOTE: For use with JUNOSe routers version 5.3.0 and later.

Public Attributes

• string nameAttribute name. See net.juniper.smgt.sae.portal.DhcpProfile.

• string valueAttribute value.

8.11.2 Member Data Documentation

8.11.2.1 string sae.DhcpAttribute.name

Attribute name. See net.juniper.smgt.sae.portal.DhcpProfile.

8.11.2.2 string sae.DhcpAttribute.value

Attribute value.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 55: SAE API Reference Manual - Juniper

8.12 sae.FeatureNotInstalled Exception Reference 49

8.12 sae.FeatureNotInstalled Exception Reference

import "sae.idl";

8.12.1 Detailed Description

An Exception that indicates that a requested interface module is not installed.

Public Attributes

• wstring messageMessage detailing the problem.

8.12.2 Member Data Documentation

8.12.2.1 wstring sae.FeatureNotInstalled.message

Message detailing the problem.

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

• sae.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 56: SAE API Reference Manual - Juniper

50 SAE API Class Documentation

8.13 sae.GlobalAddress Struct Reference

import "saeaccess.idl";

8.13.1 Detailed Description

Globally unique IP address.

The IP address is made unique by qualifying with a VPN-identifier. Public addressesuse the VPN-Identifier "" (i.e. empty string).

Public Attributes

• string ipAddressIP address in dotted decimal (IPv4) or colon separated hex (IPv6) notation.

• string vpn_idVPN-Identifier. "" identify public addresses.

8.13.2 Member Data Documentation

8.13.2.1 string sae.GlobalAddress.ipAddress

IP address in dotted decimal (IPv4) or colon separated hex (IPv6) notation.

8.13.2.2 string sae.GlobalAddress.vpn_id

VPN-Identifier. "" identify public addresses.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 57: SAE API Reference Manual - Juniper

8.14 sae.GlobalLoginName Struct Reference 51

8.14 sae.GlobalLoginName Struct Reference

import "saeaccess.idl";

8.14.1 Detailed Description

Globally unique Login Name.

The Login Name is qualified with a VPN-identifier. Names in public name space usethe VPN-Identifier "" (i.e. empty string)

Public Attributes

• string login_nameLogin name of subscriber.

• string vpn_idVPN-Identifier.

8.14.2 Member Data Documentation

8.14.2.1 string sae.GlobalLoginName.login_name

Login name of subscriber.

8.14.2.2 string sae.GlobalLoginName.vpn_id

VPN-Identifier.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 58: SAE API Reference Manual - Juniper

52 SAE API Class Documentation

8.15 sae.IdxPair Struct Reference

import "saeaccess.idl";

8.15.1 Detailed Description

Structure used to hold a subscription index paired with a service index.

The ReadResult structure uses this index.

Public Attributes

• unsigned long subIdxA subscription index.

• unsigned long svcIdxA service index.

8.15.2 Member Data Documentation

8.15.2.1 unsigned long sae.IdxPair.subIdx

A subscription index.

8.15.2.2 unsigned long sae.IdxPair.svcIdx

A service index.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 59: SAE API Reference Manual - Juniper

8.16 sae.InterfaceIndex Struct Reference 53

8.16 sae.InterfaceIndex Struct Reference

import "saeaccess.idl";

8.16.1 Detailed Description

Structure used to hold the SNMP interface index (ifindex) of a managed interface andthe virtual router on which the interface resides.

NOTE: ifIndex is not supported on JUNOS routing platforms.

Public Attributes

• unsigned long indexSNMP interface index (ifIndex).

• string vrNameName of the virtual router.

8.16.2 Member Data Documentation

8.16.2.1 unsigned long sae.InterfaceIndex.index

SNMP interface index (ifIndex).

8.16.2.2 string sae.InterfaceIndex.vrName

Name of the virtual router.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 60: SAE API Reference Manual - Juniper

54 SAE API Class Documentation

8.17 sae.InterfaceName Struct Reference

import "saeaccess.idl";

8.17.1 Detailed Description

Structure used to hold the name of a managed interface and the name of virtual routeron which the interface resides.

Public Attributes

• string intfNameName of the managed interface.

• string vrNameName of the virtual router.

8.17.2 Member Data Documentation

8.17.2.1 string sae.InterfaceName.intfName

Name of the managed interface.

8.17.2.2 string sae.InterfaceName.vrName

Name of the virtual router.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 61: SAE API Reference Manual - Juniper

8.18 sae.LoginException Exception Reference 55

8.18 sae.LoginException Exception Reference

import "saeaccess.idl";

8.18.1 Detailed Description

Exception raised if a subscriber login to a subscriber session fails, or if an authentica-tion fails for a registered login, an unregistered login, or a registered login that is beingobtained.

Public Attributes

• string currentIp• string loginName• wstring message

8.18.2 Member Data Documentation

8.18.2.1 string sae.LoginException.currentIp

8.18.2.2 string sae.LoginException.loginName

8.18.2.3 wstring sae.LoginException.message

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 62: SAE API Reference Manual - Juniper

56 SAE API Class Documentation

8.19 sae.NonUniqueUserException Exception Refer-ence

import "saeaccess.idl";

8.19.1 Detailed Description

Exception raised if there is more than one active subscriber session for the specifiedsubscriber ID.

Public Attributes

• wstring userId• wstring message

8.19.2 Member Data Documentation

8.19.2.1 wstring sae.NonUniqueUserException.message

8.19.2.2 wstring sae.NonUniqueUserException.userId

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 63: SAE API Reference Manual - Juniper

8.20 sae.OperationFailed Exception Reference 57

8.20 sae.OperationFailed Exception Reference

import "saescript.idl";

Public Attributes

• wstring message

8.20.1 Member Data Documentation

8.20.1.1 wstring sae.OperationFailed.message

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

• saescript.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 64: SAE API Reference Manual - Juniper

58 SAE API Class Documentation

8.21 sae.OverloadException Exception Reference

import "saeaccess.idl";

8.21.1 Detailed Description

Exception raised if the SAE was overloaded at the time of the request and did notperform the requested operation.

Public Attributes

• wstring message

8.21.2 Member Data Documentation

8.21.2.1 wstring sae.OverloadException.message

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 65: SAE API Reference Manual - Juniper

8.22 sae.ReadResult Struct Reference 59

8.22 sae.ReadResult Struct Reference

import "saeaccess.idl";

8.22.1 Detailed Description

Structure used to hold the result of a subscriber information request.

The result contains an index list that shows a subscription paired with a service. Theformat of the result is:

(subscription[result[0].sub], service[result[0].svcIdx]),(subscription[result[1].subIdx], service[result[1].svcIdx]),(subscription[result[2].subIdx], service[result[2].svcIdx]),

Public Attributes

• IdxPairSeq result

Index of the subscription-subscriber pair.

• AttrSeqSeq subscription

Subscription associated with a paired service.

• AttrSeqSeq service

Service associated with a paired subscription.

• AttrSeq attributes

Requested subscriber attributes.

8.22.2 Member Data Documentation

8.22.2.1 AttrSeq sae.ReadResult.attributes

Requested subscriber attributes.

8.22.2.2 IdxPairSeq sae.ReadResult.result

Index of the subscription-subscriber pair.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 66: SAE API Reference Manual - Juniper

60 SAE API Class Documentation

8.22.2.3 AttrSeqSeq sae.ReadResult.service

Service associated with a paired subscription.

8.22.2.4 AttrSeqSeq sae.ReadResult.subscription

Subscription associated with a paired service.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 67: SAE API Reference Manual - Juniper

8.23 sae.Registration Struct Reference 61

8.23 sae.Registration Struct Reference

import "saeaccess.idl";

8.23.1 Detailed Description

Structure used for client device registration information for DHCP connections.

Public Attributes

• string macAddress

MAC address of the device.

• string loginName

Subscriber’s login name.

• string userDn

Distinguished name of the user profile.

• string intfName

Name of the managed interface to which the client device connects.

• string vrName

Name of the virtual router to which the client device connects.

• wstring description

Description of the registration for the device that connects using DHCP.

8.23.2 Member Data Documentation

8.23.2.1 wstring sae.Registration.description

Description of the registration for the device that connects using DHCP.

8.23.2.2 string sae.Registration.intfName

Name of the managed interface to which the client device connects.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 68: SAE API Reference Manual - Juniper

62 SAE API Class Documentation

8.23.2.3 string sae.Registration.loginName

Subscriber’s login name.

8.23.2.4 string sae.Registration.macAddress

MAC address of the device.

8.23.2.5 string sae.Registration.userDn

Distinguished name of the user profile.

8.23.2.6 string sae.Registration.vrName

Name of the virtual router to which the client device connects.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 69: SAE API Reference Manual - Juniper

8.24 sae.SAEAccess Interface Reference 63

8.24 sae.SAEAccess Interface Reference

import "saeaccess.idl";

Inheritance diagram for sae.SAEAccess::

sae.SAEAccess

sae.SAEFeature

8.24.1 Detailed Description

Interface to access the SAE core API.

Descendant of sae.SAEFeature. Accessible through the ServiceActivationEngine in-terface SAEFeature.getFeature.

Public Member Functions

• Subscriber getSubscriber (in SubscriberId sid) raises (UnknownUserException,NonUniqueUserException)

The getSubscriber() method retrieves a single subscriber object by matching the spec-ified attributes.

• SubscriberSeq getSubscriberSet (in SubscriberId sid, in unsigned long how_-many, out SubscriberIterator iter, out unsigned long total)

The getSubscriberSet() method retrieves 0 or more subscriber objects by using thesubscriber ID.

• SubscriberSeq findSubscriber (in string filter, in unsigned long how_many, outSubscriberIterator iter, out unsigned long total) raises (SAEException)

The findSubscriber() method identifies one or more subscribers by using an LDAPfilter.

• SubscriberSeq getSubscriberFilter (in SubscriberId sid, in string filter, in un-signed long how_many, out SubscriberIterator iter, out unsigned long total) raises(SAEException)

The getSubscriberFilter() method retrieves references to all subscriber sessions thatmatch a specified subscriber ID and the search-filter criteria.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 70: SAE API Reference Manual - Juniper

64 SAE API Class Documentation

• void registerLogin (in string macAddress, in wstring loginDescription, in stringloginName, in string password, in string vrName, in string interfaceName) raises(LoginException, SAEException)

The registerLogin() method creates login registration objects in the directory for sub-scribers who use DHCP.

• void registerLoginCredentials (in string macAddress, in wstring login-Description, in string loginName, in string password, in string vrName, in stringinterfaceName) raises (LoginException, SAEException)

The registerLoginCredentials() method passes the MAC address of the client device,the subscriber’s login name, and the associated password to the SAE to identify theclient device that is connecting to the network using DHCP.

• void registerNextLogin (in string macAddress, in wstring loginDescription, instring loginName, in string password, in string vrName, in string interfaceName)raises (LoginException, SAEException)

The registerNextLogin() method creates temporary login registration objects in mem-ory for subscribers who use DHCP.

• void unregisterLogin (in string macAddress, in string loginName, in string pass-word) raises (LoginException, SAEException)

The unregisterLogin() method deletes registration objects from the directory.

• void registerEquipment (in string macAddress, in wstring equipmentDescription,in string loginName, in string password, in string vrName, in string interface-Name) raises (SAEException)

The registerEquipment() method creates an entry in the directory for permanent IPaddresses assigned to DHCP connections.

• void registerEquipmentAttr (in string macAddress, in wstring equipment-Description, in string loginName, in string password, in string vrName, in stringinterfaceName, in DhcpAttributes attr) raises (SAEException)

The registerEquipmentAttr() method creates an entry in the directory for permanentIP addresses assigned to DHCP connections.

• void unregisterEquipment (in string macAddress, in string loginName, in stringpassword) raises (SAEException)

The unregisterEquipment() method removes entries from the directory for permanentIP addresses that are assigned to DHCP connections.

• boolean loginUser (in string userIp, in string loginName, in string password)raises (LoginException, SAEException)

The loginUser() method creates an interface subscriber session for subscribers wholog in using static IP addresses.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 71: SAE API Reference Manual - Juniper

8.24 sae.SAEAccess Interface Reference 65

• RegistrationSeq getRegisteredLogins (in string login, in string password) raises(LoginException, SAEException)

The getRegisteredLogins() method retrieves from the directory a list of all the regis-tered logins that use the specified login name.

• RegistrationSeq getRegisteredEquipment (in string login, in string password)raises (LoginException, SAEException)

The getRegisteredEquipment() method retrieves a list of a subscriber’s client devicesthat use a DHCP connection and are registered to automatically obtain an authenti-cated IP address.

8.24.2 Member Function Documentation

8.24.2.1 SubscriberSeq sae.SAEAccess.findSubscriber (in string filter, inunsigned long how_many, out SubscriberIterator iter, out unsignedlong total) raises (SAEException)

The findSubscriber() method identifies one or more subscribers by using an LDAPfilter.

It returns the same items as getSubscriberSet().

Although similar to the getSubscriberSet() method, it uses an LDAP filter rather than asubscriber ID and takes as an argument the number of objects that the method shouldreturn.

NOTE: Use this method only when necessary, because it searches all active subscribersessions and takes a significant amount of time to complete.

Parameters:

← filter Simplified LDAP search filter that can access attributes of the subscribersession. For more information about simplified LDAP filters, see the docu-mentation for the Select() method.

← how_many Maximum number of session objects returned.→ iter Iterator to retrieve the remaining sessions, if more sessions than the speci-

fied number are returned. If the total number of sessions is less than or equalto how_many, no iter is returned.

→ total Number of specified subscriber sessions.

Returns:

List of subscriber sessions.

Exceptions:

SAEException Raised if the filter cannot be parsed.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 72: SAE API Reference Manual - Juniper

66 SAE API Class Documentation

8.24.2.2 RegistrationSeq sae.SAEAccess.getRegisteredEquipment (in stringlogin, in string password) raises (LoginException, SAEException)

The getRegisteredEquipment() method retrieves a list of a subscriber’s client devicesthat use a DHCP connection and are registered to automatically obtain an authenticatedIP address.

Parameters:

← login Subscriber’s login name.

← password Subscriber’s password associated with the login name.

Returns:

List of registration objects.

Exceptions:

LoginException Raised if a subscriber login to a subscriber session fails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.24.2.3 RegistrationSeq sae.SAEAccess.getRegisteredLogins (in string login, instring password) raises (LoginException, SAEException)

The getRegisteredLogins() method retrieves from the directory a list of all the regis-tered logins that use the specified login name.

A registered login allows subscribers who use DHCP to have a subscriber session au-tomatically created when their client devices connect to the network using DHCP.

Parameters:

← login Subscriber’s login name.

← password Subscriber’s password associated with the login name.

Returns:

List of objects for registered logins that use the specified login name.

Exceptions:

LoginException Raised if a subscriber login to a subscriber session fails.

SAEException Raised if there is an unspecified error condition within the SAE.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 73: SAE API Reference Manual - Juniper

8.24 sae.SAEAccess Interface Reference 67

8.24.2.4 Subscriber sae.SAEAccess.getSubscriber (in SubscriberId sid) raises(UnknownUserException, NonUniqueUserException)

The getSubscriber() method retrieves a single subscriber object by matching the speci-fied attributes.

Parameters:

← sid ID of the subscriber session.

Returns:

Single subscriber object.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

8.24.2.5 SubscriberSeq sae.SAEAccess.getSubscriberFilter (in SubscriberIdsid, in string filter, in unsigned long how_many, out SubscriberIteratoriter, out unsigned long total) raises (SAEException)

The getSubscriberFilter() method retrieves references to all subscriber sessions thatmatch a specified subscriber ID and the search-filter criteria.

The method first selects the objects that match the subscriber ID, and then filters theseobjects to obtain the result.

The getSubscriberFilter() method is a combination of the getSubscriberSet() and find-Subscriber() methods. The method returns the same items as getSubscriberSet().

Parameters:

← sid ID of the subscriber sessions.

← filter Simplified LDAP search filter that can access attributes of the subscribersession. For more information about simplified LDAP filters, see the docu-mentation for the Select() method.

← how_many Maximum number of session objects returned.

← iter Iterator to retrieve the remaining sessions if more sessions than the speci-fied number are returned. If the total number of sessions is less than or equalhow_many, no iter is returned.

← total Number of selected subscriber sessions.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 74: SAE API Reference Manual - Juniper

68 SAE API Class Documentation

Returns:

List of subscriber sessions.

Exceptions:

SAEException Raised if the filter cannot be parsed.

8.24.2.6 SubscriberSeq sae.SAEAccess.getSubscriberSet (in SubscriberId sid,in unsigned long how_many, out SubscriberIterator iter, out unsignedlong total)

The getSubscriberSet() method retrieves 0 or more subscriber objects by using thesubscriber ID.

The method takes the same arguments as the getSubscriber() method, plus the num-ber of objects that the method should return. If no subscriber is found, the returnedsequence can be empty.

Parameters:

← sid ID of the subscriber session.

← how_many Maximum number of session objects returned.

→ iter Iterator to retrieve the remaining sessions, if more session than the speci-fied number are returned. If the total number of sessions is less than or equalto how_many, no iter is returned.

→ total Number of selected subscriber sessions.

Returns:

List of subscriber sessions.

8.24.2.7 boolean sae.SAEAccess.loginUser (in string userIp, in stringloginName, in string password) raises (LoginException, SAEException)

The loginUser() method creates an interface subscriber session for subscribers who login using static IP addresses.

For subscribers who use a different method to log in, use the login() method of theSubscriber interface.

Parameters:

← userIp Subscriber’s static IP address.

← loginName Subscriber’s login name.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 75: SAE API Reference Manual - Juniper

8.24 sae.SAEAccess Interface Reference 69

← password Subscriber’s password associated with the login name.

Returns:

false

Exceptions:

LoginException Raised if a subscriber login to a subscriber session fails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.24.2.8 void sae.SAEAccess.registerEquipment (in string macAddress, inwstring equipmentDescription, in string loginName, in string password,in string vrName, in string interfaceName) raises (SAEException)

The registerEquipment() method creates an entry in the directory for permanent IPaddresses assigned to DHCP connections.

The information stored in the directory is used to obtain an authenticated IP address.

NOTE: The registerEquipment() method can be used only with JUNOSe routers.

Parameters:

← macAddress MAC address of the client device.

← equipmentDescription Description of the client device.

← loginName Subscriber’s login name.

← password Subscriber’s password associated with the login name.

← vrName Name of the virtual router that manages the subscriber associated withthe client device.

← interfaceName Name of the managed interface that handles the subscriber as-sociated with the client device.

Exceptions:

SAEException Raised if there is an unspecified error condition within the SAE.

8.24.2.9 void sae.SAEAccess.registerEquipmentAttr (in string macAddress, inwstring equipmentDescription, in string loginName, in string password,in string vrName, in string interfaceName, in DhcpAttributes attr)raises (SAEException)

The registerEquipmentAttr() method creates an entry in the directory for permanent IPaddresses assigned to DHCP connections.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 76: SAE API Reference Manual - Juniper

70 SAE API Class Documentation

The information stored in the directory is used to obtain an authenticated IP address.The registerEquipmentAttr() method uses DHCP attributes for device registration inaddition to the attributes used by the registerEquipment() method.

The registerEquipmentAttr() method can be used only with JUNOSe routers.

Parameters:

← macAddress MAC address of the client device.

← equipmentDescription Description of the client device.

← loginName Subscriber’s login name.

← password Subscriber’s password associated with the login name.

← vrName Name of the virtual router that manages the subscriber associated withthe client device.

← interfaceName Name of the managed interface that handles the subscriber as-sociated with the client device.

← attr Value of string name for Attr.

Exceptions:

SAEException Raised if there is an unspecified error condition within the SAE.

8.24.2.10 void sae.SAEAccess.registerLogin (in string macAddress, in wstringloginDescription, in string loginName, in string password, instring vrName, in string interfaceName) raises (LoginException,SAEException)

The registerLogin() method creates login registration objects in the directory for sub-scribers who use DHCP.

The SAE authenticates the specified loginName and password, and loads the associateduser profile. The name of this profile is stored in the directory with the MAC addressas the key. The next time the client device connects to the router, the SAE loads theregistered user profile. Another authentication is not required.

The creation of a subscriber session when the client device is activated takes effect thenext time that the client device requests an IP address.

Parameters:

← macAddress MAC address of the client device.

← loginDescription Description of the subscriber session.

← loginName Subscriber’s login name.

← password Subscriber’s password associated with the login name.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 77: SAE API Reference Manual - Juniper

8.24 sae.SAEAccess Interface Reference 71

← vrName Name of the virtual router that manages the subscriber associated withthe client device.

← interfaceName Name of the managed interface that handles the subscriber as-sociated with the client device.

Exceptions:

LoginException Raised if a subscriber login to a subscriber session fails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.24.2.11 void sae.SAEAccess.registerLoginCredentials (in string macAddress,in wstring loginDescription, in string loginName, in string password,in string vrName, in string interfaceName) raises (LoginException,SAEException)

The registerLoginCredentials() method passes the MAC address of the client device,the subscriber’s login name, and the associated password to the SAE to identify theclient device that is connecting to the network using DHCP.

The SAE stores the specified loginName and password in the directory with the MACaddress as the key. The next time that the client device connects to the router, theSAE uses the loginName and password to log in the subscriber and authenticate a usersession.

The creation of a subscriber session when the client device is activated takes effect thenext time that the client device requests an IP address.

Parameters:

← macAddress MAC address of the client device.

← loginDescription Description of the subscriber session.

← loginName Subscriber’s login name.

← password Subscriber’s password associated with the login name.

← vrName Name of the virtual router that manages the subscriber associated withthe client device.

← interfaceName Name of the managed interface that handles the subscriber as-sociated with the client device.

Exceptions:

LoginException Raised if a subscriber login to a subscriber session. fails

SAEException Raised if there is an unspecified error. condition within the SAE

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 78: SAE API Reference Manual - Juniper

72 SAE API Class Documentation

8.24.2.12 void sae.SAEAccess.registerNextLogin (in string macAddress, inwstring loginDescription, in string loginName, in string password,in string vrName, in string interfaceName) raises (LoginException,SAEException)

The registerNextLogin() method creates temporary login registration objects in mem-ory for subscribers who use DHCP.

The SDX software removes the temporary object either the next time the subscriberlogs in or after a certain time elapses, depending on which event occurs first.

The method passes credentials for subscribers to the SAE. These credentials are usedto obtain an authenticated IP address only for the next subscriber session.

Parameters:

← macAddress MAC address of the client device.

← loginDescription Description of the subscriber session.

← loginName Subscriber’s login name.

← password Subscriber’s password associated with the login name.

← vrName Name of the virtual router that manages the subscriber associated withthe client device.

← interfaceName Managed interface that handles the subscriber associated withthe client device.

Exceptions:

LoginException Raised if a subscriber login to a subscriber session fails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.24.2.13 void sae.SAEAccess.unregisterEquipment (in string macAddress, instring loginName, in string password) raises (SAEException)

The unregisterEquipment() method removes entries from the directory for permanentIP addresses that are assigned to DHCP connections.

The method disables client device registration for subscribers who have registered theirclient device and who use a DHCP connection.

The unregisterEquipment() method can be used only with JUNIOSe routers.

Parameters:

← macAddress MAC address of a client device.

← loginName Subscriber’s login name.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 79: SAE API Reference Manual - Juniper

8.24 sae.SAEAccess Interface Reference 73

← password Subscriber’s password associated with the login name.

Exceptions:

SAEException Raised if there is an unspecified error condition within the SAE.

8.24.2.14 void sae.SAEAccess.unregisterLogin (in string macAddress, instring loginName, in string password) raises (LoginException,SAEException)

The unregisterLogin() method deletes registration objects from the directory.

The method passes to the SAE the MAC address of the client device and the sub-scriber’s login name and password. The SAE removes registration information fromthe directory for subscribers who connect using DHCP and have registered their clientdevice.

Parameters:

← macAddress MAC address of the client device.

← loginName Subscriber’s login name.

← password Subscriber’s password associated with the login name.

Exceptions:

LoginException Raised if a subscriber login to a subscriber session fails.

SAEException Raised if there is an unspecified error condition within the SAE.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 80: SAE API Reference Manual - Juniper

74 SAE API Class Documentation

8.25 sae.SAEException Exception Reference

import "saeaccess.idl";

8.25.1 Detailed Description

Exception raised if there is an unspecified error condition within the SAE.

Public Attributes

• wstring message

8.25.2 Member Data Documentation

8.25.2.1 wstring sae.SAEException.message

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 81: SAE API Reference Manual - Juniper

8.26 sae.SAEFeature Interface Reference 75

8.26 sae.SAEFeature Interface Reference

import "sae.idl";

Inheritance diagram for sae.SAEFeature::

sae.SAEFeature

event.EventNotification sae.SAEAccess sae.ScriptProcessor

8.26.1 Detailed Description

Common interface for SAE interface modules.

Actual interface modules must extend this interface.

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

• sae.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 82: SAE API Reference Manual - Juniper

76 SAE API Class Documentation

8.27 sae.ScheduledTime Struct Reference

import "saeaccess.idl";

8.27.1 Detailed Description

Structure used for two time specifications for a service schedule.

Only one time specification is needed for an action to take place at a single time.

Since:

4.1

Public Attributes

• TimeSpec firstTimeSpecFirst time specification.

• TimeSpec secondTimeSpecSecond time specification.

8.27.2 Member Data Documentation

8.27.2.1 TimeSpec sae.ScheduledTime.firstTimeSpec

First time specification.

You can specify the time to include the year, month, day of the week, day of the month,hour, minute, and time zone for an associated action to occur.

8.27.2.2 TimeSpec sae.ScheduledTime.secondTimeSpec

Second time specification.

You can specify the time to include the year, month, day of the week, day of the month,hour, minute, and time zone for an associated action to occur.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 83: SAE API Reference Manual - Juniper

8.28 sae.ScheduleEntry Struct Reference 77

8.28 sae.ScheduleEntry Struct Reference

import "saeaccess.idl";

8.28.1 Detailed Description

Structure used for a service schedule.

A service schedule specifies actions applied to a service at specified times.

Public Attributes

• string idID of a service schedule entry in the directory.

• ScheduledTime schedTimeTime to schedule a service action.

• ActionExtSeq actionsSequence of actions to be taken for a schedule.

8.28.2 Member Data Documentation

8.28.2.1 ActionExtSeq sae.ScheduleEntry.actions

Sequence of actions to be taken for a schedule.

8.28.2.2 string sae.ScheduleEntry.id

ID of a service schedule entry in the directory.

8.28.2.3 ScheduledTime sae.ScheduleEntry.schedTime

Time to schedule a service action.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 84: SAE API Reference Manual - Juniper

78 SAE API Class Documentation

8.29 sae.ScriptExecutionError Exception Reference

import "saescript.idl";

8.29.1 Detailed Description

The script could not be executed.

Public Attributes

• wstring message

8.29.2 Member Data Documentation

8.29.2.1 wstring sae.ScriptExecutionError.message

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

• saescript.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 85: SAE API Reference Manual - Juniper

8.30 sae.ScriptProcessor Interface Reference 79

8.30 sae.ScriptProcessor Interface Reference

import "saescript.idl";

Inheritance diagram for sae.ScriptProcessor::

sae.ScriptProcessor

sae.SAEFeature

Public Member Functions

• void install (in string scriptName, in wstring script, in boolean force) raises(ScriptSyntaxError, OperationFailed)

Install and compile a script without executing it.

• wstring execute (in string scriptName, in Arguments args) raises (Script-ExecutionError, OperationFailed)

execute a previously installed script.

• wstring execOne (in string script, in Arguments args) raises (ScriptSyntaxError,ScriptExecutionError, OperationFailed)

Execute a script without installing it.

• void uninstall (in string scriptName) raises (OperationFailed)

Remove a previously installed script.

• StringSeq listInstalledScripts ()

list currently installed scripts

8.30.1 Member Function Documentation

8.30.1.1 wstring sae.ScriptProcessor.execOne (in string script, in Argumentsargs) raises (ScriptSyntaxError, ScriptExecutionError,OperationFailed)

Execute a script without installing it.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 86: SAE API Reference Manual - Juniper

80 SAE API Class Documentation

Note:

the operation is optional. If a particular ScriptProcessor does not support singleexecution, an OperationFailed exception will be raised.

Parameters:

← script the source code of the script.

← args a list of arguments passed to the script

Returns:

a string returned from the script

Exceptions:

ScriptExecutionError if the execution of the script failed.

OperationFailed if the script could not be executed.

8.30.1.2 wstring sae.ScriptProcessor.execute (in string scriptName, inArguments args) raises (ScriptExecutionError, OperationFailed)

execute a previously installed script.

Parameters:

← scriptName the name of the script

← args a list of arguments passed to the script

Returns:

a string returned from the script

Exceptions:

ScriptExecutionError if the execution of the script failed.

OperationFailed if the script could not be executed.

8.30.1.3 void sae.ScriptProcessor.install (in string scriptName, in wstring script,in boolean force) raises (ScriptSyntaxError, OperationFailed)

Install and compile a script without executing it.

Parameters:

← scriptName the name under which the script is installed.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 87: SAE API Reference Manual - Juniper

8.30 sae.ScriptProcessor Interface Reference 81

← script the source code of the script.

← force if set to true, overwrite the script if it already exists.

Exceptions:

ScriptSyntaxError if the script could not be compiled

OperationFailed if the script could not be installed

8.30.1.4 StringSeq sae.ScriptProcessor.listInstalledScripts ()

list currently installed scripts

Returns:

list of installed script names.

8.30.1.5 void sae.ScriptProcessor.uninstall (in string scriptName) raises(OperationFailed)

Remove a previously installed script.

Parameters:

← scriptName the name of the script

Exceptions:

OperationFailed if the script could not be removed.

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

• saescript.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 88: SAE API Reference Manual - Juniper

82 SAE API Class Documentation

8.31 sae.ScriptSyntaxError Exception Reference

import "saescript.idl";

8.31.1 Detailed Description

The script was rejected by the script compiler.

Public Attributes

• wstring message

8.31.2 Member Data Documentation

8.31.2.1 wstring sae.ScriptSyntaxError.message

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

• saescript.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 89: SAE API Reference Manual - Juniper

8.32 sae.Select Struct Reference 83

8.32 sae.Select Struct Reference

import "saeaccess.idl";

8.32.1 Detailed Description

Structure used to identify attributes and to filter information retrieved from servicedefinitions and subscriptions.

See Subscriber.read, Subscriber.readSubscription, Subscriber.readService

Public Attributes

• StringSeq attributes

A list of attributes retrieved from the selected object.

• string filter

A string that contains a simplified LDAP query.

8.32.2 Member Data Documentation

8.32.2.1 StringSeq sae.Select.attributes

A list of attributes retrieved from the selected object.

The names of the attributes are Bean properties of the associated object in the SAE coreAPI. See the online documentation for the Subscription.java and Service.java classesin the SAE core API. The online documentation for the SAE core API is on the SDXsoftware CD at the following location: /SDK/doc/sae/index.html.

An empty sequence specifies that no attributes are to be selected. A sequence identifiedby an asterisk (∗) specifies that all attributes be selected.

you can select fields of compound attributes (that is, the Bean property attribute orusage)by using the string "<compoundAttribute>.∗"

8.32.2.2 string sae.Select.filter

A string that contains a simplified LDAP query.

The following lists shows the values that you can use for LDAP filters with methodsthat take filters as arguments.

List of <attribute>= <value> pairs

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 90: SAE API Reference Manual - Juniper

84 SAE API Class Documentation

where

<attribute> - Name of an attribute; for example, serviceName or attribute.sn

<value> - One of the following:

• ∗ (asterisk) - Checks for any value.

• Explicit string - Checks whether any value of the property matches the string.Not case sensitive.

• String contains an asterisk (∗) - Checks whether any value of the property con-tains the string. Not case sensitive.

You can also use the following values in filter strings:

Filter String Description

() Matches no objects

(∗) Matches all objects

(&<filter><filter>...) And: true if all filters match

(|<filter><filter>...) Or: true if at least one filter matches

(!<filter>) Not: true if the filter does not match

NOTE: To define a special character (∗ & , ! | \ )in a string, precede it with thebackslash symbol (\).

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 91: SAE API Reference Manual - Juniper

8.33 sae.ServiceActivationEngine Interface Reference 85

8.33 sae.ServiceActivationEngine Interface Reference

import "sae.idl";

8.33.1 Detailed Description

The interface to the interface module manager of SAE.

Public Member Functions

• SAEFeature getFeature (in string name) raises (FeatureNotInstalled)Retrieve a reference to an installed interface module.

• StringSeq getFeatureNames ()Retrieve list of installed names of installed interface modules.

8.33.2 Member Function Documentation

8.33.2.1 SAEFeature sae.ServiceActivationEngine.getFeature (in string name)raises (FeatureNotInstalled)

Retrieve a reference to an installed interface module.

Parameters:

← name The name of the requested interface module.

Returns:

A reference to the interface module.

Exceptions:

FeatureNotInstalled if the requested interface module is not installed.

8.33.2.2 StringSeq sae.ServiceActivationEngine.getFeatureNames ()

Retrieve list of installed names of installed interface modules.

Returns:

list of interface module names.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 92: SAE API Reference Manual - Juniper

86 SAE API Class Documentation

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

• sae.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 93: SAE API Reference Manual - Juniper

8.34 sae.ServiceAuthenticationException Exception Reference 87

8.34 sae.ServiceAuthenticationException ExceptionReference

import "saeaccess.idl";

8.34.1 Detailed Description

Exception raised if authentication for service activation failed.

Public Attributes

• SAET reason• wstring userIp• wstring serviceName• wstring sessionName• wstring message

8.34.2 Member Data Documentation

8.34.2.1 wstring sae.ServiceAuthenticationException.message

8.34.2.2 SAET sae.ServiceAuthenticationException.reason

8.34.2.3 wstring sae.ServiceAuthenticationException.serviceName

8.34.2.4 wstring sae.ServiceAuthenticationException.sessionName

8.34.2.5 wstring sae.ServiceAuthenticationException.userIp

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 94: SAE API Reference Manual - Juniper

88 SAE API Class Documentation

8.35 sae.Subscriber Interface Reference

import "saeaccess.idl";

8.35.1 Detailed Description

Interface that is used to manage an active subscriber session.

Lets you get information about the session, make service schedules available, add andremove subscriptions, set the session timeout, manage session login, and activate anddeactivate services.

NOTE: All methods raise an UnknownUserException if the subscriber session is nolonger active.

Public Member Functions

• ReadResult read (in Select subscription, in Select service, in StringSeqattributes) raises (SAEException, UnknownUserException, NonUniqueUser-Exception)

The read() method requests information from a subscriber session.

• AttrSeq readSubscriber (in StringSeq attributes) raises (SAEException,UnknownUserException, NonUniqueUserException)

The readSubscriber() method retrieves specified subscriber attributes from the direc-tory.

• AttrSeqSeq readSubscription (in Select selection) raises (SAEException,UnknownUserException, NonUniqueUserException)

The readSubscription() method retrieves specified subscription data from the direc-tory.

• AttrSeqSeq readService (in Select selection) raises (SAEException, Unknown-UserException, NonUniqueUserException)

The readService() method retrieves service data.

• void addScheduleEntry (in ScheduleEntryId id, in ScheduledTime schedTime,in ActionExtSeq actions) raises (UnknownUserException, SAEException)

The addScheduleEntry() method creates a service schedule for activating, deactivat-ing, or denying a service.

• void updateScheduleEntry (in ScheduleEntryId id, in ScheduledTime sched-Time, in ActionExtSeq actions) raises (UnknownUserException, SAEExcep-tion)

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 95: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 89

The updateScheduleEntry() method updates the scheduled times and actions for aservice schedule that has a specified ID.

• void deleteScheduleEntry (in ScheduleEntryId id) raises (UnknownUser-Exception, SAEException)

The deleteScheduleEntry() method deletes a service schedule that has a specified ID.

• ScheduleEntry getScheduleEntryById (in ScheduleEntryId id) raises (Unknown-UserException, SAEException)

The getScheduleEntryById() method retrieves a service schedule that has a specifiedID.

• ScheduleEntrySeq getScheduleEntriesByIds (in ScheduleEntryIdSeq ids) raises(UnknownUserException, SAEException)

The getScheduleEntriesByIds() method retrieves schedule entries (ScheduleEntry) bytheir IDs.

• ScheduleEntryIdSeq getScheduleEntryIds (in long long startDate, in long longendDate) raises (UnknownUserException, SAEException)

The getScheduleEntryIds() method retrieves IDs within a specified range for scheduleentries (ScheduleEntry).

• void addOneTimeScheduleEntry (in long long eventDate, in ActionSeq actions)raises (UnknownUserException, SAEException)

The addOneTimeScheduleEntry() method adds a service action scheduled for a singletime.

• void updateOneTimeScheduleEntryActions (in long long eventDate, in Action-Seq actions) raises (UnknownUserException, SAEException)

The updateOneTimeScheduleEntryActions() method updates a service action sched-uled for a single time.

• void deleteOneTimeScheduleEntries (in long long startDate, in long long end-Date) raises (UnknownUserException, SAEException)

The deleteOneTimeScheduleEntries() method deletes service actions that are sched-uled for a single time and whose scheduling date falls within a specified range.

• ActionSeq getOneTimeScheduleEntryActions (in long long eventDate) raises(UnknownUserException, SAEException)

The getOneTimeScheduleEntryActions() method retrieves a service action scheduledfor a single time.

• LongLongSeq getOneTimeScheduleEntryEventDates (in long long startDate, inlong long endDate) raises (UnknownUserException, SAEException)

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 96: SAE API Reference Manual - Juniper

90 SAE API Class Documentation

The getOneTimeScheduleEntryEventDates() method retrieves schedule informationfor a service action that is scheduled for a single time and whose scheduling datesfall within a specified range.

• WStringSeq addSubscriptionAttributes (in string subscriptionName, in stringuserName, in string password, in AttrSeq subscriptionAttributes) raises(UnknownUserException, NonUniqueUserException, UnknownService-Exception, ServiceAuthenticationException, SAEException)

The addSubscriptionAttributes() method adds a subscription to a service to the direc-tory.

• WStringSeq addSubscription (in string subscriptionName, in string userName,in string password) raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, ServiceAuthenticationException, SAEException)

The addSubscription() method adds a subscription to a service to the directory.

• WStringSeq deleteSubscription (in string subscriptionName, in string user-Name, in string password) raises (UnknownUserException, NonUnique-UserException, UnknownServiceException, UnknownSubscriptionException,ServiceAuthenticationException, SAEException)

The deleteSubscription() method removes a subscription to a service from the direc-tory.

• void setSessionTimeout (in unsigned long timeout) raises (UnknownUser-Exception, NonUniqueUserException, SAEException)

The setSessionTimeout() method specifies the number of seconds after which the sub-scriber session is automatically deactivated.

• void updateSessionTimeout (in unsigned long timeout) raises (UnknownUser-Exception, NonUniqueUserException, SAEException)

The updateSessionTimeout() method updates the session timeout for the current sub-scriber.

• void updateServiceSessionTimeout (in string subscriptionName, in stringsessionName, in unsigned long timeout) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException, UnknownSubscription-Exception, SAEException)

The updateServiceSessionTimeout() method updates the timeout of the service sessionfor the specified session.

• boolean login (in string loginName, in string password) raises (LoginException,SAEException)

The login() method creates a subscriber session.

• void logout () raises (UnknownUserException, SAEException)

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 97: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 91

The logout() method ends the current subscriber session and starts an unauthenti-cated subscriber session.

• void disconnect () raises (UnknownUserException, NonUniqueUserException,UnsupportedException, SAEException)

The disconnect() method triggers subscriber being detached from the network.

• void grantPublicIp (in string loginName, in string password) raises (Unknown-UserException, ServiceAuthenticationException, SAEException)

The grantPublicIp() method switches the IP address of a subscriber using DHCP froman unauthenticated IP address to an authenticated IP address.

• void grantPublicIpAttr (in string loginName, in string password, inDhcpAttributes attr) raises (UnknownUserException, ServiceAuthentication-Exception, SAEException)

The grantPublicIpAttr() method switches the IP address of a subscriber using DHCPfrom an unauthenticated IP address to an authenticated IP address.

• void revokePublicIp () raises (UnknownUserException, SAEException)The revokePublicIp() method switches the IP address of subscriber using a DHCPconnection from an authenticated IP address to an unauthenticated IP address.

• void activateService (in string subscriptionName, in string sessionName,in AttrSeq activationAttributes) raises (UnknownUserException, NonUnique-UserException, UnknownServiceException, UnknownSubscriptionException,ServiceAuthenticationException, OverloadException, SAEException)

The activateService() method activates a service session.

• string activateServiceSession (in string subscriptionName, in string session-Name, in AttrSeq activationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException, UnknownSubscription-Exception, ServiceAuthenticationException, OverloadException, SAEExcep-tion)

The activateServiceSession() method activates a service session and returns its cor-respondent accounting session ID.

• void activateServiceBackground (in string subscriptionName, in stringsessionName, in AttrSeq activationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException, UnknownSubscription-Exception, ServiceAuthenticationException, OverloadException, SAEExcep-tion)

The activateServiceBackground() method activates a service session and, if serviceactivation fails due to a short-lived problem, schedules that activation be attemptedagain in the background.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 98: SAE API Reference Manual - Juniper

92 SAE API Class Documentation

• void modifyServiceSession (in string subscriptionName, in string sessionName,in AttrSeq activationAttributes) raises (UnknownUserException, NonUnique-UserException, UnknownServiceException, UnknownSubscriptionException,UnknownServiceSessionException, ServiceAuthenticationException, Overload-Exception, SAEException)

The modifyServiceSession() method modifies an active service session.

• void startModifyFragmentSession (in string subscriptionName, in stringsessionName, in AttrSeq activationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException, UnknownSubscription-Exception, UnknownServiceSessionException, ServiceAuthentication-Exception, SAEException)

NOTE: The startModifyFragmentSession() method is only for internal use.

• void finishModifyFragmentSession (in string subscriptionName, in stringsessionName, in AttrSeq activationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException, UnknownSubscription-Exception, UnknownServiceSessionException, ServiceAuthentication-Exception, OverloadException, SAEException)

NOTE: The finishModifyFragmentSession() method is only for internal use.

• void undoModifyFragmentSession (in string subscriptionName, in stringsessionName, in AttrSeq activationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException, UnknownSubscription-Exception, UnknownServiceSessionException, ServiceAuthentication-Exception, OverloadException, SAEException)

NOTE: The undoModifyFragmentSession() method is only for internal use.

• void deactivateService (in string subscriptionName, in string sessionName)raises (UnknownUserException, NonUniqueUserException, UnknownService-Exception, UnknownSubscriptionException, ServiceAuthenticationException,SAEException)

The deactivateService() method deactivates a service session for a subscription.

• void deactivateServiceBackground (in string subscriptionName, in stringsessionName) raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, UnknownSubscriptionException, Service-AuthenticationException, SAEException)

The deactivateServiceBackground() method deactivates a service session and, if de-activation fails due to a short-lived problem, schedules that deactivation be attemptedagain in the background.

• void deactivateServiceReason (in string subscriptionName, in string session-Name, in long reason) raises (UnknownUserException, NonUniqueUser-

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 99: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 93

Exception, UnknownServiceException, UnknownSubscriptionException,ServiceAuthenticationException, SAEException)

The deactivateServiceReason() method deactivates a service session for a subscrip-tion and provides a reason for the deactivation.

• void deactivateServiceBackgroundReason (in string subscriptionName, in stringsessionName, in long reason) raises (UnknownUserException, NonUnique-UserException, UnknownServiceException, UnknownSubscriptionException,ServiceAuthenticationException, SAEException)

The deactivateServiceBackgroundReason() method deactivates a service session andif deactivation fails due to a short-lived problem, schedules that deactivation be at-tempted again in the background.

• void fragmentDown (in string aggregateSubscriptionName, in string aggregate-SessionName, in string fragmentSessionId) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException, UnknownSubscription-Exception, UnknownServiceSessionException, SAEException)

NOTE: The fragmentDown() method is only for internal use.

• void fragmentReactivating (in string aggregateSubscriptionName, in stringaggregateSessionName, in string fragmentSessionId) raises (UnknownUser-Exception, NonUniqueUserException, UnknownServiceException, Unknown-SubscriptionException, UnknownServiceSessionException, SAEException)

NOTE: The fragmentReactivating() method is only for internal use.

• void setActivationTrigger (in string subscriptionName, in string activation-Trigger) raises (UnknownUserException, NonUniqueUserException, Unknown-ServiceException, UnknownSubscriptionException, ServiceAuthentication-Exception, SAEException)

The setActivationTrigger() method changes how a subscription for a service becomesactive.

• void setPersistentSession (in string subscriptionName, in string sessionName,in AttrSeq persistentSessionAttributes) raises (UnknownUserException, Non-UniqueUserException, UnknownServiceException, SAEException)

The setPersistentSession() method identifies a service subscription that is to start au-tomatically at subscriber login (which creates a service session).

• void deletePersistentSession (in string subscriptionName, in string session-Name) raises (UnknownUserException, NonUniqueUserException, Unknown-ServiceException, SAEException)

The deletePersistentSession() method deletes a service subscription that automati-cally starts at subscriber login.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 100: SAE API Reference Manual - Juniper

94 SAE API Class Documentation

• void modifyPersistentSession (in string subscriptionName, in string session-Name, in boolean active) raises (UnknownUserException, NonUniqueUser-Exception, UnknownServiceException, SAEException)

The modifyPersistentSession() method modifies a service subscription that automati-cally starts at subscriber login.

• void setInterimTime (in string subscriptionName, in string sessionName, in un-signed long time) raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, SAEException)

The setInterimTime() method sets the interval of the interim update for a service ses-sion.

• void setSessionVolumeQuota (in string subscriptionName, in string session-Name, in string sessionVolumeQuota) raises (UnknownUserException, Non-UniqueUserException, UnknownServiceException, SAEException)

The setSessionVolumeQuota() method sets the volume quota for the session.

• AttrSeqSeq getUsage (in Select selection) raises (SAEException, Unknown-UserException, NonUniqueUserException, OverloadException)

The getUsage() method retrieves usage information for selected service sessions.

8.35.2 Member Function Documentation

8.35.2.1 void sae.Subscriber.activateService (in string subscriptionName,in string sessionName, in AttrSeq activationAttributes)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, UnknownSubscriptionException,ServiceAuthenticationException, OverloadException, SAEException)

The activateService() method activates a service session.

To authorize the activation, the SAE sends a plug-in event to all authorization plug-insthat are configured for the service to be activated. A start message informs trackingplug-ins of the service activation.

Parameters:

← subscriptionName Name of the subscription in the directory.

← sessionName ID for the service session to be started. If sessionName is anempty string, the SAE uses the value sae.DEFAULT_SESSION_NAME in-stead.

← activationAttributes List of attribute values to be used when the session is ac-tivated. Attributes are listed in a sequence of sae.Attr structures as prop-erty=values pairs.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 101: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 95

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.UnknownSubscriptionException Raised if the subscription does not exist.ServiceAuthenticationException Raised if authentication for service activation

fails.OverloadException Raised if the SAE is overloaded at the time of the request and

does not perform the requested operation.SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.2 void sae.Subscriber.activateServiceBackground (in stringsubscriptionName, in string sessionName, in AttrSeqactivationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,UnknownSubscriptionException, ServiceAuthenticationException,OverloadException, SAEException)

The activateServiceBackground() method activates a service session and, if serviceactivation fails due to a short-lived problem, schedules that activation be attemptedagain in the background.

Parameters:

← subscriptionName Name of the subscription.← sessionName Name of the service session. If sessionName is empty, uses the

default service session.← activationAttributes List of attributes to be used during activation.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.UnknownSubscriptionException Raised if the subscription does not exist.SAEException Raised if there is an unspecified error condition within the SAE.

Deprecated

In Io Use activateServiceSession

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 102: SAE API Reference Manual - Juniper

96 SAE API Class Documentation

8.35.2.3 string sae.Subscriber.activateServiceSession (in stringsubscriptionName, in string sessionName, in AttrSeqactivationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,UnknownSubscriptionException, ServiceAuthenticationException,OverloadException, SAEException)

The activateServiceSession() method activates a service session and returns its corre-spondent accounting session ID.

To authorize the activation, the SAE sends a plug-in event to all authorization plug-insthat are configured for the service to be activated. A start message informs trackingplug-ins of the service activation.

Parameters:

← subscriptionName Name of the subscription in the directory.

← sessionName ID for the service session to be started. If sessionName is anempty string, the SAE uses the value sae.DEFAULT_SESSION_NAME in-stead.

← activationAttributes List of attribute values to be used when the session is ac-tivated. Attributes are listed in a sequence of sae.Attr structures as prop-erty=values pairs.

Returns:

The accounting session ID from the service session.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

UnknownSubscriptionException Raised if the subscription does not exist.

ServiceAuthenticationException Raised if authentication for service activationfails.

OverloadException Raised if the SAE is overloaded at the time of the request anddoes not perform the requested operation.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

Io

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 103: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 97

8.35.2.4 void sae.Subscriber.addOneTimeScheduleEntry (in long longeventDate, in ActionSeq actions) raises (UnknownUserException,SAEException)

The addOneTimeScheduleEntry() method adds a service action scheduled for a singletime.

Parameters:

← eventDate Time in msec since 1970-01-01.← actions Service actions to be taken at the scheduled time.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

4.0

Deprecated

In 4.1.

8.35.2.5 void sae.Subscriber.addScheduleEntry (in ScheduleEntryId id,in ScheduledTime schedTime, in ActionExtSeq actions) raises(UnknownUserException, SAEException)

The addScheduleEntry() method creates a service schedule for activating, deactivating,or denying a service.

Parameters:

← id ID of the service schedule entry in the directory.← schedTime Scheduled time for the action(s) to be taken.← actions Service action(s) to be taken at a scheduled time.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

4.1

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 104: SAE API Reference Manual - Juniper

98 SAE API Class Documentation

8.35.2.6 WStringSeq sae.Subscriber.addSubscription (in stringsubscriptionName, in string userName, in string password)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, ServiceAuthenticationException,SAEException)

The addSubscription() method adds a subscription to a service to the directory.

Parameters:

← subscriptionName Name of the service for the subscription in the directory. AsubscriptionName has the form "<serviceName>[%<subscriptionId>]".

← userName (Optional) Username of a subscriber for authorization to use thesubscription.

← password (Optional) Password associated with the username for authorizationto use the subscription.

Returns:

List of reply messages from the authorization plug-in.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

ServiceAuthenticationException Raised if authentication for service activationfails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.7 WStringSeq sae.Subscriber.addSubscriptionAttributes (in stringsubscriptionName, in string userName, in string password, inAttrSeq subscriptionAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,ServiceAuthenticationException, SAEException)

The addSubscriptionAttributes() method adds a subscription to a service to the direc-tory.

Parameters:

← subscriptionName Name of the service for the subscription in the directory. AsubscriptionName has the form "<serviceName>[%<subscriptionId>]".

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 105: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 99

← userName (Optional) Username of a subscriber for authorization to use thesubscription.

← password (Optional) Password associated with the username for authorizationto use the subscription.

← subscriptionAttributes

Returns:

List of reply messages from the authorization plug-in.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

ServiceAuthenticationException Raised if authentication for service activationfails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.8 void sae.Subscriber.deactivateService (in string subscriptionName,in string sessionName) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,UnknownSubscriptionException, ServiceAuthenticationException,SAEException)

The deactivateService() method deactivates a service session for a subscription.

Parameters:

← subscriptionName Name of the subscription in the directory.

← sessionName ID for the service session. An empty string identifies the defaultservice session.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

UnknownSubscriptionException Raised if the subscription does not exist.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 106: SAE API Reference Manual - Juniper

100 SAE API Class Documentation

ServiceAuthenticationException Raised if authentication for service activationfails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.9 void sae.Subscriber.deactivateServiceBackground (instring subscriptionName, in string sessionName) raises(UnknownUserException, NonUniqueUserException,UnknownServiceException, UnknownSubscriptionException,ServiceAuthenticationException, SAEException)

The deactivateServiceBackground() method deactivates a service session and, if de-activation fails due to a short-lived problem, schedules that deactivation be attemptedagain in the background.

Parameters:

← subscriptionName Name of the subscription.

← sessionName Name of the service session. If sessionName is empty, uses thedefault service session.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

UnknownSubscriptionException Raised if the subscription does not exist.

ServiceAuthenticationException Raised if authentication for service activationfails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.10 void sae.Subscriber.deactivateServiceBackgroundReason (instring subscriptionName, in string sessionName, in long reason)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, UnknownSubscriptionException,ServiceAuthenticationException, SAEException)

The deactivateServiceBackgroundReason() method deactivates a service session and ifdeactivation fails due to a short-lived problem, schedules that deactivation be attemptedagain in the background.

The method also provides a reason for the deactivation.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 107: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 101

Parameters:

← subscriptionName Name of the subscription in the directory.

← sessionName ID for the service session. If sessionName is empty, the defaultservice session is used.

← reason Reason for deactivating the session. This value is available for account-ing stop records.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

UnknownSubscriptionException Raised if the subscription does not exist.

ServiceAuthenticationException Raised if trying to deactivate a subscription toan activate-only service, or if the subscription is filtered by a RADIUS au-thentication plug-in.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.11 void sae.Subscriber.deactivateServiceReason (in stringsubscriptionName, in string sessionName, in long reason)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, UnknownSubscriptionException,ServiceAuthenticationException, SAEException)

The deactivateServiceReason() method deactivates a service session for a subscriptionand provides a reason for the deactivation.

Parameters:

← subscriptionName Name of the subscription in the directory.

← sessionName ID for the service session. If sessionName is empty, the defaultservice session is used.

← reason Reason for deactivating the session. This value is available for account-ing stop records.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 108: SAE API Reference Manual - Juniper

102 SAE API Class Documentation

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

UnknownSubscriptionException Raised if the subscription does not exist.

ServiceAuthenticationException Raised if trying to deactivate a subscription toan activate-only service, if the subscription is filtered by a RADIUS authen-tication plug-in, or if a short-lived problem happened while deactivating thesubscription.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.12 void sae.Subscriber.deleteOneTimeScheduleEntries (in long longstartDate, in long long endDate) raises (UnknownUserException,SAEException)

The deleteOneTimeScheduleEntries() method deletes service actions that are sched-uled for a single time and whose scheduling date falls within a specified range.

Parameters:

← startDate Time in msec since 1970-01-01.

← endDate Time in msec since 1970-01-01.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

4.0

Deprecated

In 4.1.

8.35.2.13 void sae.Subscriber.deletePersistentSession (in stringsubscriptionName, in string sessionName) raises(UnknownUserException, NonUniqueUserException,UnknownServiceException, SAEException)

The deletePersistentSession() method deletes a service subscription that automaticallystarts at subscriber login.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 109: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 103

As a result, the subscriber session for the service is not automatically activated at thenext subscriber login.

Parameters:

← subscriptionName Name of the subscription in the directory.

← sessionName ID for the service session. An empty string identifies the defaultservice session.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.14 void sae.Subscriber.deleteScheduleEntry (in ScheduleEntryId id)raises (UnknownUserException, SAEException)

The deleteScheduleEntry() method deletes a service schedule that has a specified ID.

Parameters:

← id ID of the service schedule entry in the directory.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE/

Since:

4.1

8.35.2.15 WStringSeq sae.Subscriber.deleteSubscription (in stringsubscriptionName, in string userName, in string password)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, UnknownSubscriptionException,ServiceAuthenticationException, SAEException)

The deleteSubscription() method removes a subscription to a service from the directory.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 110: SAE API Reference Manual - Juniper

104 SAE API Class Documentation

Parameters:

← subscriptionName Name of the subscription in the directory.

← userName (Optional) Username for authorization to use the subscription.

← password (Optional) Password associated with the user name for authorizationof the subscription.

Returns:

List of reply messages from the authorization plug-in.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

UnknownSubscriptionException Raised if the subscription does not exist.

ServiceAuthenticationException Raised if authentication for service activationfails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.16 void sae.Subscriber.disconnect () raises (UnknownUserException,NonUniqueUserException, UnsupportedException, SAEException)

The disconnect() method triggers subscriber being detached from the network.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnsupportedException Raised if disconnect operation is not supported.

SAEException Raised if there is an unspecified error condition within the SAE.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 111: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 105

8.35.2.17 void sae.Subscriber.finishModifyFragmentSession (instring subscriptionName, in string sessionName, in AttrSeqactivationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,UnknownSubscriptionException, UnknownServiceSessionException,ServiceAuthenticationException, OverloadException, SAEException)

NOTE: The finishModifyFragmentSession() method is only for internal use.

8.35.2.18 void sae.Subscriber.fragmentDown (in string aggregateSubscription-Name, in string aggregateSessionName, in string fragmentSessionId)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, UnknownSubscriptionException,UnknownServiceSessionException, SAEException)

NOTE: The fragmentDown() method is only for internal use.

8.35.2.19 void sae.Subscriber.fragmentReactivating (in stringaggregateSubscriptionName, in string aggregateSessionName,in string fragmentSessionId) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,UnknownSubscriptionException, UnknownServiceSessionException,SAEException)

NOTE: The fragmentReactivating() method is only for internal use.

8.35.2.20 ActionSeq sae.Subscriber.getOneTimeScheduleEntryActions (in longlong eventDate) raises (UnknownUserException, SAEException)

The getOneTimeScheduleEntryActions() method retrieves a service action scheduledfor a single time.

Parameters:

← eventDate Time in msec since 1970-01-01.

Returns:

Sequence of actions specified for the schedule.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 112: SAE API Reference Manual - Juniper

106 SAE API Class Documentation

Since:

4.0

Deprecated

In 4.1.

8.35.2.21 LongLongSeq sae.Subscriber.getOneTimeScheduleEntryEventDates(in long long startDate, in long long endDate) raises(UnknownUserException, SAEException)

The getOneTimeScheduleEntryEventDates() method retrieves schedule informationfor a service action that is scheduled for a single time and whose scheduling datesfall within a specified range.

Parameters:

← startDate Time in msec since 1970-01-01.

← endDate Time in msec since 1970-01-01.

Returns:

List of dates.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

4.0

Deprecated

In 4.1.

8.35.2.22 ScheduleEntrySeq sae.Subscriber.getScheduleEntriesByIds(in ScheduleEntryIdSeq ids) raises (UnknownUserException,SAEException)

The getScheduleEntriesByIds() method retrieves schedule entries (ScheduleEntry) bytheir IDs.

An ID for a ScheduleEntry is the primary key for the specified subscriber.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 113: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 107

Parameters:

← ids Sequence of IDs of the service schedule entries in the directory.

Returns:

List of schedule entries.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

4.1

8.35.2.23 ScheduleEntry sae.Subscriber.getScheduleEntryById (inScheduleEntryId id) raises (UnknownUserException, SAEException)

The getScheduleEntryById() method retrieves a service schedule that has a specifiedID.

An ID for the ScheduleEntry is the primary key for a specified subscriber.

Parameters:

← id ID of the service schedule entry in the directory.

Returns:

A service schedule entry.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

4.1

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 114: SAE API Reference Manual - Juniper

108 SAE API Class Documentation

8.35.2.24 ScheduleEntryIdSeq sae.Subscriber.getScheduleEntryIds (in longlong startDate, in long long endDate) raises (UnknownUserException,SAEException)

The getScheduleEntryIds() method retrieves IDs within a specified range for scheduleentries (ScheduleEntry).

Parameters:

← startDate Time in msec since 1970-01-01.

← endDate Time in msec since 1970-01-01.

Returns:

List of IDs associated with a service schedule entry in the directory.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

4.1

8.35.2.25 AttrSeqSeq sae.Subscriber.getUsage (in Select selection) raises(SAEException, UnknownUserException, NonUniqueUserException,OverloadException)

The getUsage() method retrieves usage information for selected service sessions.

Usage information can include the length of time that a service has been active and thetraffic statistics for a subscriber session. This method lets you develop applications thatcan dynamically retrieve usage information for active service sessions.

You can use the Subscriber.readSubscription() method to retrieve the most recent usageinformation that has been collected. You can also collect usage information by usinginterim accounting.

NOTE: In response to this method, the SAE reads the current usage data from therouter. Because this method causes direct interaction with the router, numerous callscan overload the router and cause service degradation.

Parameters:

← selection Selects usage data to retrieve.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 115: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 109

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

SAEException Raised if there is an unspecified error condition within the SAE.

OverloadException Raised if the SAE is overloaded at the time of the request anddoes not perform the requested operation.

8.35.2.26 void sae.Subscriber.grantPublicIp (in string loginName,in string password) raises (UnknownUserException,ServiceAuthenticationException, SAEException)

The grantPublicIp() method switches the IP address of a subscriber using DHCP froman unauthenticated IP address to an authenticated IP address.

When the operation succeeds, the subscriber object that was in place before the op-eration becomes invalid, that is the client application of the CORBA remote API canno longer call any methods on this object. The client application must call the get-Subscriber() method to request a new subscriber object.

Parameters:

← loginName Subscriber’s login name.

← password Subscriber’s password associated with the login name.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

ServiceAuthenticationException Raised if authentication for service activationfails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.27 void sae.Subscriber.grantPublicIpAttr (in string loginName, in stringpassword, in DhcpAttributes attr) raises (UnknownUserException,ServiceAuthenticationException, SAEException)

The grantPublicIpAttr() method switches the IP address of a subscriber using DHCPfrom an unauthenticated IP address to an authenticated IP address.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 116: SAE API Reference Manual - Juniper

110 SAE API Class Documentation

This method requires DHCP attributes in addition to the options required by the grant-PublicIp() method.

NOTE: If the operation is successful, the current subscriber object becomes invalid.

Parameters:

← loginName Subscriber’s login name.

← password Subscriber’s password associated with the login name.

← attr Value of string name for Attr.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

ServiceAuthenticationException Raised if authentication for service activationfails.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.28 boolean sae.Subscriber.login (in string loginName, in string password)raises (LoginException, SAEException)

The login() method creates a subscriber session.

When the operation succeeds, the subscriber object that was in place before the op-eration becomes invalid, that is the client application of the CORBA remote API canno longer call any methods on this object. The client application must call the get-Subscriber() method to request a new subscriber object.

Parameters:

← loginName Subscriber’s login name.

← password Subscriber’s password associated with the login name.

Returns:

false. NOTE: The return value has not been used since version 4.2.

Exceptions:

LoginException Raised if a subscriber login to a subscriber session fails.

SAEException Raised if there is an unspecified error condition within the SAE.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 117: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 111

8.35.2.29 void sae.Subscriber.logout () raises (UnknownUserException,SAEException)

The logout() method ends the current subscriber session and starts an unauthenticatedsubscriber session.

When the operation succeeds, the subscriber object that was in place before the op-eration becomes invalid, that is the client application of the CORBA remote API canno longer call any methods on this object. The client application must call the get-Subscriber() method to request a new subscriber object.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.30 void sae.Subscriber.modifyPersistentSession (in stringsubscriptionName, in string sessionName, in boolean active)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, SAEException)

The modifyPersistentSession() method modifies a service subscription that automati-cally starts at subscriber login.

Parameters:

← subscriptionName Name of the subscription.

← sessionName ID for the service session. An empty string identifies the defaultservice session.

← active If true, automatically activates the service session.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

SAEException Raised if there is an unspecified error condition within the SAE.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 118: SAE API Reference Manual - Juniper

112 SAE API Class Documentation

8.35.2.31 void sae.Subscriber.modifyServiceSession (in string subscriptionName,in string sessionName, in AttrSeq activationAttributes)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, UnknownSubscriptionException,UnknownServiceSessionException, ServiceAuthenticationException,OverloadException, SAEException)

The modifyServiceSession() method modifies an active service session.

To authorize the modification, the SAE sends a plug-in event to all authorization plug-ins that are configured for the service to be modified. For example, an increase inbandwidth could require authorization by an Admission Control Plug-In application.An interim update message informs tracking plug-ins of modifications.

Parameters:

← subscriptionName Name of the subscription the directory.

← sessionName ID for the service session to be modified. An empty string iden-tifies the default service session.

← activationAttributes List of attributes (in the form property=value pairs) thatare set when the service is modified. The values can include substitutions.If the UpStreamBandwidth or DownStreamBandwidth properties are set, thedelta bandwidth (that is, the difference between the value for the active ses-sion and the new value) is sent to the authorization plug-in. For example, ifthe service session was originally authorized with an upstream bandwidth of64 Kbps, and the session is modified to an upstream bandwidth of 32 Kbps,the method publishes a bandwidth of -32 Kbps to the authorization plug-in. Ifthe controlled bandwidth changes, the interim update contains the new band-width. If substitution values have changed for policies, the existing policiesare removed from the router, and new policies are installed.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

UnknownSubscriptionException Raised if the subscription does not exist.

UnknownServiceSessionException Raised if the requested service session doesnot exist.

ServiceAuthenticationException Raised if authentication for service activationfails.

OverloadException Raised if the SAE is overloaded at the time of the request anddoes not perform the requested operation.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 119: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 113

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.32 ReadResult sae.Subscriber.read (in Select subscription, inSelect service, in StringSeq attributes) raises (SAEException,UnknownUserException, NonUniqueUserException)

The read() method requests information from a subscriber session.

The information collected by this method depends on the attributes you specify for asubscription, for the service associated with the subscription, and for the subscriberwho subscribes to those services. The attributes you provide are Bean properties ofclasses in the SAE core API.

For information about these properties, see the online documentation for the SAE coreAPI on the SDX software CD at the following location: /SDK/doc/sae/index.html.

Parameters:

← subscription Subscription attributes selected. The attribute names are Beanproperties of the Subscription class in the SAE core API.

← service Service attributes selected. The attribute names are Bean properties ofthe Service class in the SAE core API.

← attributes List of subscriber attributes. The attribute names are Bean propertiesof the User class in the SAE core API.

Returns:

A ReadResult structure that contains all of the selected data.

Exceptions:

UnknownUserException Raised if a subscriber is not logged in to the subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.33 AttrSeqSeq sae.Subscriber.readService (in Select selection) raises(SAEException, UnknownUserException, NonUniqueUserException)

The readService() method retrieves service data.

The current subscriber object does not have to be subscribed to the services for thismethod to retrieve data.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 120: SAE API Reference Manual - Juniper

114 SAE API Class Documentation

Parameters:

← selection Selects attributes to return. The attribute names are Bean propertiesof the Service class in the SAE core API.

Returns:

List of selected attribute lists. Each list contains attributes for one service.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.34 AttrSeq sae.Subscriber.readSubscriber (in StringSeq attributes) raises(SAEException, UnknownUserException, NonUniqueUserException)

The readSubscriber() method retrieves specified subscriber attributes from the direc-tory.

Parameters:

← attributes List of subscriber attributes to retrieve. The attribute names are Beanproperties of the User class in the SAE core API. A single asterisk (∗) in alist indicates that all attributes are to be returned.

Returns:

List of selected attributes.

Exceptions:

SAEException Raised if there is an unspecified error condition within the SAE.

UnknownUserException Raised if the subscriber is not logged in to the sub-scriber session.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

8.35.2.35 AttrSeqSeq sae.Subscriber.readSubscription (in Selectselection) raises (SAEException, UnknownUserException,NonUniqueUserException)

The readSubscription() method retrieves specified subscription data from the directory.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 121: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 115

Parameters:

← selection Selects attributes to return. The attribute names are Bean propertiesof the Subscription class in the SAE core API.

Returns:

List of selected attribute lists. Each list contains attributes for one subscription.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.36 void sae.Subscriber.revokePublicIp () raises (UnknownUserException,SAEException)

The revokePublicIp() method switches the IP address of subscriber using a DHCP con-nection from an authenticated IP address to an unauthenticated IP address.

NOTE: If the operation is successful, the current subscriber object becomes invalid.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.37 void sae.Subscriber.setActivationTrigger (in string subscriptionName,in string activationTrigger) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,UnknownSubscriptionException, ServiceAuthenticationException,SAEException)

The setActivationTrigger() method changes how a subscription for a service becomesactive.

You can set activation to one of the following:

• ACTIVATE_ON_LOGIN - Subscriptions identified as ACTIVATE_ON_LOGINare automatically activated when a subscriber session is created. If the set-ActivationTrigger()changes from MANUAL to ACTIVATE_ON_LOGIN, thesubscription becomes active.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 122: SAE API Reference Manual - Juniper

116 SAE API Class Documentation

• MANUAL - Subscriptions identified as MANUAL are not activated whenthe subscriber session is created. If setAactivationTrigger()changes fromACTIVATE_ON_LOGIN to MANUAL, the subscription becomes inactive.

Parameters:

← subscriptionName Name of the subscription to be modified.

← activationTrigger Mechanism to activate subscription. Valid values areACTIVATE_ON_LOGIN or MANUAL.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

UnknownSubscriptionException Raised if the subscription does not exist.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.38 void sae.Subscriber.setInterimTime (in string subscriptionName,in string sessionName, in unsigned long time) raises(UnknownUserException, NonUniqueUserException,UnknownServiceException, SAEException)

The setInterimTime() method sets the interval of the interim update for a service ses-sion.

Parameters:

← subscriptionName Name of the subscription for the service session.

← sessionName ID for the service session. An empty string identifies the defaultservice session.

← time Interval for the interim update in seconds.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

SAEException Raised if there is an unspecified error condition within the SAE.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 123: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 117

8.35.2.39 void sae.Subscriber.setPersistentSession (in string subscriptionName,in string sessionName, in AttrSeq persistentSessionAttributes)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, SAEException)

The setPersistentSession() method identifies a service subscription that is to start auto-matically at subscriber login (which creates a service session).

Parameters:

← subscriptionName Name of the subscription.← sessionName ID of the service session. An empty string identifies the default

service session.← persistentSessionAttributes List of attributes stored from one subscriber ses-

sion to another session for the same subscriber.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.40 void sae.Subscriber.setSessionTimeout (in unsigned long timeout)raises (UnknownUserException, NonUniqueUserException,SAEException)

The setSessionTimeout() method specifies the number of seconds after which the sub-scriber session is automatically deactivated.

The session timeout identifies the maximum length of the session. The time intervalstarts at the beginning of a session.

Parameters:

← timeout Length of the subscriber session in seconds.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

SAEException Raised if there is an unspecified error condition within the SAE.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 124: SAE API Reference Manual - Juniper

118 SAE API Class Documentation

8.35.2.41 void sae.Subscriber.setSessionVolumeQuota (in stringsubscriptionName, in string sessionName, in stringsessionVolumeQuota) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,SAEException)

The setSessionVolumeQuota() method sets the volume quota for the session.

Parameters:

← subscriptionName Name of the subscription.

← sessionName ID for the service session. An empty string indicates the defaultservice session.

← sessionVolumeQuota Volume quota for the session in the format:"<downstreamQuota>;<upstreamQuota>".

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.42 void sae.Subscriber.startModifyFragmentSession (instring subscriptionName, in string sessionName, in AttrSeqactivationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,UnknownSubscriptionException, UnknownServiceSessionException,ServiceAuthenticationException, SAEException)

NOTE: The startModifyFragmentSession() method is only for internal use.

8.35.2.43 void sae.Subscriber.undoModifyFragmentSession (instring subscriptionName, in string sessionName, in AttrSeqactivationAttributes) raises (UnknownUserException,NonUniqueUserException, UnknownServiceException,UnknownSubscriptionException, UnknownServiceSessionException,ServiceAuthenticationException, OverloadException, SAEException)

NOTE: The undoModifyFragmentSession() method is only for internal use.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 125: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 119

8.35.2.44 void sae.Subscriber.updateOneTimeScheduleEntryActions (in longlong eventDate, in ActionSeq actions) raises (UnknownUserException,SAEException)

The updateOneTimeScheduleEntryActions() method updates a service action sched-uled for a single time.

Parameters:

← eventDate Time in msec since 1970-01-01.← actions Service actions to be taken at the scheduled time.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

4.0

Deprecated

In 4.1.

8.35.2.45 void sae.Subscriber.updateScheduleEntry (in ScheduleEntryId id,in ScheduledTime schedTime, in ActionExtSeq actions) raises(UnknownUserException, SAEException)

The updateScheduleEntry() method updates the scheduled times and actions for a ser-vice schedule that has a specified ID.

Parameters:

← id ID of the service schedule entry in the directory.← schedTime Scheduled time for the action(s) to be taken.← actions Service actions to be taken at the scheduled time.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

SAEException Raised if there is an unspecified error condition within the SAE.

Since:

4.1

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 126: SAE API Reference Manual - Juniper

120 SAE API Class Documentation

8.35.2.46 void sae.Subscriber.updateServiceSessionTimeout (in stringsubscriptionName, in string sessionName, in unsigned long timeout)raises (UnknownUserException, NonUniqueUserException,UnknownServiceException, UnknownSubscriptionException,SAEException)

The updateServiceSessionTimeout() method updates the timeout of the service sessionfor the specified session.

The session timeout count begins at the current time, not from the time the sessionstarted. If the session timeout is inactive, it is activated. If the value for timeout isequal to -1, the session timeout is canceled.

Parameters:

← subscriptionName Name of the subscription to be updated.

← sessionName ID of the service session to be updated.

← timeout Length of the service session timeout in seconds.

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

UnknownServiceException Raised if the service is not available.

UnknownSubscriptionException Raised if the subscription does not exist.

SAEException Raised if there is an unspecified error condition within the SAE.

8.35.2.47 void sae.Subscriber.updateSessionTimeout (in unsigned longtimeout) raises (UnknownUserException, NonUniqueUserException,SAEException)

The updateSessionTimeout() method updates the session timeout for the current sub-scriber.

The session timeout count begins at the current time, not from the time of the sessionstarted. If the subscriber session timeout is inactive, it is activated. If the value fortimeout is equal to -1, the session timeout is canceled.

Parameters:

← timeout Maximum length of the session in seconds.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 127: SAE API Reference Manual - Juniper

8.35 sae.Subscriber Interface Reference 121

Exceptions:

UnknownUserException Raised if the subscriber is not logged in to a subscribersession.

NonUniqueUserException Raised if there is more than one active subscriber ses-sion for the specified subscriber ID.

SAEException Raised if there is an unspecified error condition within the SAE.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 128: SAE API Reference Manual - Juniper

122 SAE API Class Documentation

8.36 sae.SubscriberId Union Reference

import "saeaccess.idl";

8.36.1 Detailed Description

Structure to identify one or more active subscriber sessions in an SAE.

Public Attributes

• TimedAddress address

IP address and timestamp.

• string dn

Distinguished name of the user profile.

• string login_name

Login name of the subscriber.

• InterfaceName if_name

Name of managed interface and router name.

• InterfaceIndex if_index

(JUNOSe) Interface index and router name.

• string primary_user_name

PPP or DHCP login name.

• AddrInterfaceName addr_if_name

Name of managed interface and IP address.

• TunnelSession tunnel_session

L2TP session info and router name.

• string sessionId

user RADIUS session ID.

• string sessionHandle

user session Handle.

• GlobalAddress global_address

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 129: SAE API Reference Manual - Juniper

8.36 sae.SubscriberId Union Reference 123

IP address + VPN-ID.

• GlobalLoginName global_login_name

Login Name + VPN-ID.

8.36.2 Member Data Documentation

8.36.2.1 AddrInterfaceName sae.SubscriberId.addr_if_name

Name of managed interface and IP address.

8.36.2.2 TimedAddress sae.SubscriberId.address

IP address and timestamp.

8.36.2.3 string sae.SubscriberId.dn

Distinguished name of the user profile.

8.36.2.4 GlobalAddress sae.SubscriberId.global_address

IP address + VPN-ID.

8.36.2.5 GlobalLoginName sae.SubscriberId.global_login_name

Login Name + VPN-ID.

8.36.2.6 InterfaceIndex sae.SubscriberId.if_index

(JUNOSe) Interface index and router name.

8.36.2.7 InterfaceName sae.SubscriberId.if_name

Name of managed interface and router name.

8.36.2.8 string sae.SubscriberId.login_name

Login name of the subscriber.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 130: SAE API Reference Manual - Juniper

124 SAE API Class Documentation

8.36.2.9 string sae.SubscriberId.primary_user_name

PPP or DHCP login name.

8.36.2.10 string sae.SubscriberId.sessionHandle

user session Handle.

8.36.2.11 string sae.SubscriberId.sessionId

user RADIUS session ID.

8.36.2.12 TunnelSession sae.SubscriberId.tunnel_session

L2TP session info and router name.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 131: SAE API Reference Manual - Juniper

8.37 sae.SubscriberIterator Interface Reference 125

8.37 sae.SubscriberIterator Interface Reference

import "saeaccess.idl";

8.37.1 Detailed Description

Interface that is used to iteratively retrieve subscriber objects that were not transmittedfrom a single API call to the SAE.

NOTE: If the SubscriberIterator is not used for an allotted time, the garbage collectortakes care of it.

Public Member Functions

• SubscriberSeq next_n (in unsigned long how_many, out boolean more)The next_n() method retrieves the next N number of subscriber objects.

• void destroy ()The destroy () method stops the SubscriberIterator() method and frees associatedmemory.

8.37.2 Member Function Documentation

8.37.2.1 void sae.SubscriberIterator.destroy ()

The destroy () method stops the SubscriberIterator() method and frees associated mem-ory.

8.37.2.2 SubscriberSeq sae.SubscriberIterator.next_n (in unsigned longhow_many, out boolean more)

The next_n() method retrieves the next N number of subscriber objects.

Parameters:

← how_many Maximum number of subscriber objects to return.

→ more True when there are more subscriber objects to retrieve. False when allsubscriber objects have been retrieved.

Returns:

Sequence of subscriber objects.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 132: SAE API Reference Manual - Juniper

126 SAE API Class Documentation

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 133: SAE API Reference Manual - Juniper

8.38 sae.TimedAddress Struct Reference 127

8.38 sae.TimedAddress Struct Reference

import "saeaccess.idl";

8.38.1 Detailed Description

Structure that encapsulates a subscriber’s IP address and the timestamp of the request.

The timestamp ensures that the subscriber can be identified by the IP address at aspecified time. If the time is not known, it can be set to zero, in which case the SAEuses the current time.

NOTE: Setting the time to zero carries the risk that the IP address may be assigned toa different subscriber.

Public Attributes

• string ipAddressIP address in dotted decimal notation.

• unsigned long long timestampTime in msec since 1970-01-01T00:00:00 UT.

8.38.2 Member Data Documentation

8.38.2.1 string sae.TimedAddress.ipAddress

IP address in dotted decimal notation.

8.38.2.2 unsigned long long sae.TimedAddress.timestamp

Time in msec since 1970-01-01T00:00:00 UT.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 134: SAE API Reference Manual - Juniper

128 SAE API Class Documentation

8.39 sae.TimeSpec Struct Reference

import "saeaccess.idl";

8.39.1 Detailed Description

Structure used for the attributes of a time specification.

A time specification defines the time(s) to apply specified actions to a service. The timespecification can identify the year, month, day, hour, and minute, as well as the timezone for the action to be taken.

The syntax for the attributes in a time specification must be in a specified syntax. Forinformation about the syntax to use for entering attributes, see the SDX Objects Guide.

Since:

4.16.1 The timeZone field has been renamed ’extension’ to denote the fact it is nowa placeholder for not only timeZone but also effectivePeriod. User will have toenter the timeZone or the timeZone and the effectivePeriod separated by a spacecharacter.

Public Attributes

• string yearFour digits that indicate the year.

• string monthMonth of the year.

• string dayOfMonthDay of the month.

• string dayOfWeekDay of the week.

• string hourHour.

• string minuteMinute.

• string extension

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 135: SAE API Reference Manual - Juniper

8.39 sae.TimeSpec Struct Reference 129

Time zone only or TimeZone and effectivePeriod (space separated).

8.39.2 Member Data Documentation

8.39.2.1 string sae.TimeSpec.dayOfMonth

Day of the month.

8.39.2.2 string sae.TimeSpec.dayOfWeek

Day of the week.

8.39.2.3 string sae.TimeSpec.extension

Time zone only or TimeZone and effectivePeriod (space separated).

8.39.2.4 string sae.TimeSpec.hour

Hour.

8.39.2.5 string sae.TimeSpec.minute

Minute.

8.39.2.6 string sae.TimeSpec.month

Month of the year.

8.39.2.7 string sae.TimeSpec.year

Four digits that indicate the year.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 136: SAE API Reference Manual - Juniper

130 SAE API Class Documentation

8.40 sae.TunnelSession Struct Reference

import "saeaccess.idl";

Public Attributes

• long tunnelIdThe L2TP tunnel ID.

• long tunnelSessionIdThe L2TP session ID in the specified tunnel.

• string vrNameName of the router or virtual router on which the L2TP session resides.

8.40.1 Member Data Documentation

8.40.1.1 long sae.TunnelSession.tunnelId

The L2TP tunnel ID.

8.40.1.2 long sae.TunnelSession.tunnelSessionId

The L2TP session ID in the specified tunnel.

8.40.1.3 string sae.TunnelSession.vrName

Name of the router or virtual router on which the L2TP session resides.

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 137: SAE API Reference Manual - Juniper

8.41 sae.UnknownServiceException Exception Reference 131

8.41 sae.UnknownServiceException Exception Refer-ence

import "saeaccess.idl";

8.41.1 Detailed Description

Exception raised if the requested service is not available.

Public Attributes

• wstring serviceName• wstring message

8.41.2 Member Data Documentation

8.41.2.1 wstring sae.UnknownServiceException.message

8.41.2.2 wstring sae.UnknownServiceException.serviceName

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 138: SAE API Reference Manual - Juniper

132 SAE API Class Documentation

8.42 sae.UnknownServiceSessionException ExceptionReference

import "saeaccess.idl";

8.42.1 Detailed Description

Exception raised if the requested service session does not exist.

Public Attributes

• wstring serviceName• wstring sessionName• wstring message

8.42.2 Member Data Documentation

8.42.2.1 wstring sae.UnknownServiceSessionException.message

8.42.2.2 wstring sae.UnknownServiceSessionException.serviceName

8.42.2.3 wstring sae.UnknownServiceSessionException.sessionName

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 139: SAE API Reference Manual - Juniper

8.43 sae.UnknownSubscriptionException Exception Reference 133

8.43 sae.UnknownSubscriptionException ExceptionReference

import "saeaccess.idl";

8.43.1 Detailed Description

Exception raised if the requested subscription does not exist.

Public Attributes

• wstring subscriptionName• wstring message

8.43.2 Member Data Documentation

8.43.2.1 wstring sae.UnknownSubscriptionException.message

8.43.2.2 wstring sae.UnknownSubscriptionException.subscriptionName

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 140: SAE API Reference Manual - Juniper

134 SAE API Class Documentation

8.44 sae.UnknownUserException Exception Reference

import "saeaccess.idl";

8.44.1 Detailed Description

Exception raised if a subscriber is not logged in to the subscriber session.

Public Attributes

• wstring userId• wstring message

8.44.2 Member Data Documentation

8.44.2.1 wstring sae.UnknownUserException.message

8.44.2.2 wstring sae.UnknownUserException.userId

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 141: SAE API Reference Manual - Juniper

8.45 sae.UnsupportedException Exception Reference 135

8.45 sae.UnsupportedException Exception Reference

import "saeaccess.idl";

8.45.1 Detailed Description

Exception raised if SAE does not support the requested operation.

Public Attributes

• wstring message

8.45.2 Member Data Documentation

8.45.2.1 wstring sae.UnsupportedException.message

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

• saeaccess.idl

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 142: SAE API Reference Manual - Juniper

136 SAE API Class Documentation

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 143: SAE API Reference Manual - Juniper

Chapter 9

SAE API File Documentation

9.1 event.idl File Reference

import "sae.idl";

Namespaces

• namespace event

Classes

• exception event.UnknownRouter

Raised when a call for a currently not managed router is received.

• exception event.IllegalArgument

Raised when illegal arguments were passed.

• union event.AttributeUnion

Value union of an event attribute.

• struct event.EventAttr

A single event attribute.

• interface event.RouterListener

A callback interface that can be implemented by a client of the event interface.

• interface event.EventNotification

Page 144: SAE API Reference Manual - Juniper

138 SAE API File Documentation

The event notification interface of SAE allows integration with external IP addressmanagers for router drivers that do not receive address assignment events directlyfrom the router.

Typedefs

• typedef sequence< EventAttr > event.EventAttrSeq

A sequence of event attributes.

• typedef sequence< EventAttrSeq > event.EventAttrSeqSeq

A sequence of EventAttrSeq, used in EventNofication.ipSynchronize.

• typedef sequence< octet > event.InetAddress

IPv4 address: 4 octet in network order.

• typedef sequence< InetAddress > event.InetAddressSeq

A sequence of InetAddresses.

Enumerations

• enum event.EventAttribute {

event.EA_INTERFACE_NAME,

event.EA_SESSION_ID,

event.EA_IF_ALIAS,

event.EA_IF_DESCR,

event.EA_IF_INDEX,

event.EA_NAS_PORT_ID,

event.EA_NAS_PORT,

event.EA_NAS_IP,

event.EA_RADIUS_CLASS,

event.EA_SERVICE_BUNDLE,

event.EA_LOGIN_NAME,

event.EA_IP_ADDRESS,

event.EA_IP_MASK,

event.EA_MTU,

event.EA_BROADCAST_ADDR,

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 145: SAE API Reference Manual - Juniper

9.1 event.idl File Reference 139

event.EA_INTERFACE_SPEED,

event.EA_MAC_ADDRESS,

event.EA_DHCP_PACKET,

event.EA_LOGIN_TYPE,

event.EA_USER_IP_ADDRESS,

event.EA_INTERFACE_TYPE,

event.EA_TUNNEL_SERVER_IP_ADDRESS,

event.EA_TUNNEL_SERVER_IP_MASK,

event.EA_TUNNEL_ID,

event.EA_TUNNEL_SESSION_ID,

event.EA_CALLING_STATION_ID,

event.EA_LOCAL_QOS_PROFILE }List of possible event attribute types that can be included in an EventNotification.ipUpcall.

• enum event.EventAttributeType {

event.EAT_LONG,

event.EAT_LONG_LONG,

event.EAT_STRING,

event.EAT_OPAQUE }Possible types of event attributes.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 146: SAE API Reference Manual - Juniper

140 SAE API File Documentation

9.2 sae.idl File Reference

Namespaces

• namespace sae

Classes

• exception sae.FeatureNotInstalledAn Exception that indicates that a requested interface module is not installed.

• interface sae.SAEFeatureCommon interface for SAE interface modules.

• interface sae.ServiceActivationEngineThe interface to the interface module manager of SAE.

Typedefs

• typedef sequence< string > sae.StringSeqA sequence of strings.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 147: SAE API Reference Manual - Juniper

9.3 saeaccess.idl File Reference 141

9.3 saeaccess.idl File Reference

9.3.1 Detailed Description

SAE access interface module.

This module defines a remote interface to the SAE core API. You can use this moduleto access the SAE from external applications.

import "sae.idl";

Namespaces

• namespace sae

Classes

• struct sae.Attr

Structure used for the name and values of an object attribute.

• struct sae.TimeSpec

Structure used for the attributes of a time specification.

• struct sae.ScheduledTime

Structure used for two time specifications for a service schedule.

• struct sae.ActionExt

Structure used for service schedules that consist of actions that are performed atspecified times.

• struct sae.Action

Structure used for an action to be taken at a specified time.

• struct sae.ScheduleEntry

Structure used for a service schedule.

• struct sae.Select

Structure used to identify attributes and to filter information retrieved from servicedefinitions and subscriptions.

• struct sae.IdxPair

Structure used to hold a subscription index paired with a service index.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 148: SAE API Reference Manual - Juniper

142 SAE API File Documentation

• struct sae.ReadResult

Structure used to hold the result of a subscriber information request.

• exception sae.UnknownUserException

Exception raised if a subscriber is not logged in to the subscriber session.

• exception sae.NonUniqueUserException

Exception raised if there is more than one active subscriber session for the specifiedsubscriber ID.

• exception sae.UnknownServiceException

Exception raised if the requested service is not available.

• exception sae.UnknownServiceSessionException

Exception raised if the requested service session does not exist.

• exception sae.UnknownSubscriptionException

Exception raised if the requested subscription does not exist.

• exception sae.SAEException

Exception raised if there is an unspecified error condition within the SAE.

• exception sae.LoginException

Exception raised if a subscriber login to a subscriber session fails, or if an authenti-cation fails for a registered login, an unregistered login, or a registered login that isbeing obtained.

• exception sae.OverloadException

Exception raised if the SAE was overloaded at the time of the request and did notperform the requested operation.

• exception sae.UnsupportedException

Exception raised if SAE does not support the requested operation.

• exception sae.ServiceAuthenticationException

Exception raised if authentication for service activation failed.

• struct sae.TimedAddress

Structure that encapsulates a subscriber’s IP address and the timestamp of the re-quest.

• struct sae.InterfaceName

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 149: SAE API Reference Manual - Juniper

9.3 saeaccess.idl File Reference 143

Structure used to hold the name of a managed interface and the name of virtual routeron which the interface resides.

• struct sae.InterfaceIndexStructure used to hold the SNMP interface index (ifindex) of a managed interface andthe virtual router on which the interface resides.

• struct sae.AddrInterfaceNameStructure used to hold the name of a managed interface, the name of the router orvirtual router on which the interface resides, and the IP address of the interface.

• struct sae.TunnelSession• struct sae.GlobalAddress

Globally unique IP address.

• struct sae.GlobalLoginNameGlobally unique Login Name.

• union sae.SubscriberIdStructure to identify one or more active subscriber sessions in an SAE.

• struct sae.DhcpAttributeStructure that encapsulates DHCP profile data that is used to manipulate IP addressesassigned through DHCP.

• interface sae.SubscriberInterface that is used to manage an active subscriber session.

• struct sae.RegistrationStructure used for client device registration information for DHCP connections.

• interface sae.SubscriberIteratorInterface that is used to iteratively retrieve subscriber objects that were not transmit-ted from a single API call to the SAE.

• interface sae.SAEAccessInterface to access the SAE core API.

Typedefs

• typedef sequence< wstring > sae.WStringSeqSequence of wide strings (unicode).

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 150: SAE API Reference Manual - Juniper

144 SAE API File Documentation

• typedef sequence< Attr > sae.AttrSeqList of attributes.

• typedef sequence< AttrSeq > sae.AttrSeqSeqList of attribute lists.

• typedef sequence< ActionExt > sae.ActionExtSeqList of actions to be scheduled.

• typedef sequence< Action > sae.ActionSeqList of actions.

• typedef sequence< long long > sae.LongLongSeq64-bit integer value for list of eventDates.

• typedef string sae.ScheduleEntryIdID for a service schedule (ScheduleEntry).

• typedef sequence< ScheduleEntryId > sae.ScheduleEntryIdSeqSequence of IDs for a service schedule.

• typedef sequence< ScheduleEntry > sae.ScheduleEntrySeqSequence of entries for a service schedule.

• typedef sequence< IdxPair > sae.IdxPairSeqSequence of indexes for subscriptions paired with services.

• typedef sequence< DhcpAttribute > sae.DhcpAttributesSequence of DHCP attributes.

• typedef sequence< Subscriber > sae.SubscriberSeqSequence of subscriber objects.

• typedef sequence< Registration > sae.RegistrationSeqSequence of registration objects.

Enumerations

• enum sae.SAET {

sae.SAET_PUBLIC_IP_AUTHENTICATION,

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 151: SAE API Reference Manual - Juniper

9.3 saeaccess.idl File Reference 145

sae.SAET_MUTEX_GROUPS,

sae.SAET_SERVICE_AUTHORIZATION,

sae.SAET_ANONYMOUS_USER,

sae.SAET_AUTH_PRECLUDES_ACTIVATE_ON_LOGIN,

sae.SAET_INHERITED_SUBSCRIPTION,

sae.SAET_SERVICE_UNAVAILABLE,

sae.SAET_SUBSCRIPTION_AUTHORIZATION,

sae.SAET_ACTIVATE_ONLY,

sae.SAET_INVISIBLE,

sae.SAET_FILTERED_OUT,

sae.SAET_NO_SESSION_MODIFICATION,

sae.SAET_TRANSIENT_EXCEPTION,

sae.SAET_PERSISTENT_ACTIVATION,

sae.SAET_MODIFY_EXCEPTION }

Types of exceptions for ServiceAuthenticationException.

• enum sae.SubscriberIdType {

sae.SIT_ADDRESS,

sae.SIT_DN,

sae.SIT_LOGIN_NAME,

sae.SIT_IF_NAME,

sae.SIT_IF_INDEX,

sae.SIT_PRIMARY_USER_NAME,

sae.SIT_ADDR_IF_NAME,

sae.SIT_TUNNEL_SESSION,

sae.SIT_SESSIONID,

sae.SIT_SESSION_HANDLE,

sae.SIT_GLOBAL_ADDRESS,

sae.SIT_GLOBAL_LOGIN_NAME }

Types of subscriber IDs.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 152: SAE API Reference Manual - Juniper

146 SAE API File Documentation

Variables

• const string sae.DEFAULT_SESSION_NAME = "default"Constructor. Reserved session name.

• const string sae.MANUAL = "MANUAL"Constructor. Manual service activation trigger.

• const string sae.ACTIVATE_ON_LOGIN = "ACTIVATE_ON_LOGIN"Constructor. Automatic service activation trigger.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 153: SAE API Reference Manual - Juniper

9.4 saescript.idl File Reference 147

9.4 saescript.idl File Reference

import "sae.idl";

Namespaces

• namespace sae

Classes

• exception sae.ScriptSyntaxErrorThe script was rejected by the script compiler.

• exception sae.ScriptExecutionErrorThe script could not be executed.

• exception sae.OperationFailed• interface sae.ScriptProcessor

Typedefs

• typedef sequence< wstring > sae.ArgumentsList of script arguments.

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 154: SAE API Reference Manual - Juniper

148 SAE API File Documentation

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 155: SAE API Reference Manual - Juniper

Chapter 10

SAE API Page Documentation

10.1 Deprecated List

Class sae.Action Use ActionExt.

Member sae::Subscriber.activateServiceBackground(in string subscriptionName, in string sessionName, in AttrSeq activationAttributes)In Io Use activateServiceSession

Member sae::Subscriber.addOneTimeScheduleEntry(in long long eventDate, in ActionSeq actions)In 4.1.

Member sae::Subscriber.deleteOneTimeScheduleEntries(in long long startDate, in long long endDate)In 4.1.

Member sae::Subscriber.getOneTimeScheduleEntryActions(in long long eventDate)In 4.1.

Member sae::Subscriber.getOneTimeScheduleEntryEventDates(in long long startDate, in long long endDate)In 4.1.

Member sae::Subscriber.updateOneTimeScheduleEntryActions(in long long eventDate, in ActionSeq actions)In 4.1.

Member sae.ActionSeq Use ActionExtSeq.

Page 156: SAE API Reference Manual - Juniper

Index

ActionExtSeqsae, 26

actionssae::ScheduleEntry, 77

ActionSeqsae, 27

ACTIVATE_ON_LOGINsae, 29

activateServicesae::Subscriber, 94

activateServiceBackgroundsae::Subscriber, 95

activateServiceSessionsae::Subscriber, 95

addOneTimeScheduleEntrysae::Subscriber, 96

addr_if_namesae::SubscriberId, 123

addresssae::SubscriberId, 123

addScheduleEntrysae::Subscriber, 97

addSubscriptionsae::Subscriber, 97

addSubscriptionAttributessae::Subscriber, 98

Argumentssae, 28

attributessae::ActionExt, 44sae::ReadResult, 59sae::Select, 83

AttrSeqsae, 26

AttrSeqSeqsae, 26

currentIpsae::LoginException, 55

dayOfMonthsae::TimeSpec, 129

dayOfWeeksae::TimeSpec, 129

deactivateServicesae::Subscriber, 99

deactivateServiceBackgroundsae::Subscriber, 100

deactivateServiceBackgroundReasonsae::Subscriber, 100

deactivateServiceReasonsae::Subscriber, 101

DEFAULT_SESSION_NAMEsae, 29

deleteOneTimeScheduleEntriessae::Subscriber, 102

deletePersistentSessionsae::Subscriber, 102

deleteScheduleEntrysae::Subscriber, 103

deleteSubscriptionsae::Subscriber, 103

descriptionsae::Registration, 61

destroysae::SubscriberIterator, 125

DhcpAttributessae, 27

disconnectsae::Subscriber, 104

dnsae::SubscriberId, 123

EA_BROADCAST_ADDR

Page 157: SAE API Reference Manual - Juniper

INDEX 151

event, 19EA_CALLING_STATION_ID

event, 19EA_DHCP_PACKET

event, 19EA_IF_ALIAS

event, 18EA_IF_DESCR

event, 18EA_IF_INDEX

event, 18EA_INTERFACE_NAME

event, 18EA_INTERFACE_SPEED

event, 19EA_INTERFACE_TYPE

event, 19EA_IP_ADDRESS

event, 18EA_IP_MASK

event, 18EA_LOCAL_QOS_PROFILE

event, 19EA_LOGIN_NAME

event, 18EA_LOGIN_TYPE

event, 19EA_MAC_ADDRESS

event, 19EA_MTU

event, 19EA_NAS_IP

event, 18EA_NAS_PORT

event, 18EA_NAS_PORT_ID

event, 18EA_RADIUS_CLASS

event, 18EA_SERVICE_BUNDLE

event, 18EA_SESSION_ID

event, 18EA_TUNNEL_ID

event, 19EA_TUNNEL_SERVER_IP_ADDRESS

event, 19EA_TUNNEL_SERVER_IP_MASK

event, 19EA_TUNNEL_SESSION_ID

event, 19EA_USER_IP_ADDRESS

event, 19EAT_LONG

event, 20EAT_LONG_LONG

event, 20EAT_OPAQUE

event, 20EAT_STRING

event, 20event, 15

EA_BROADCAST_ADDR, 19EA_CALLING_STATION_ID, 19EA_DHCP_PACKET, 19EA_IF_ALIAS, 18EA_IF_DESCR, 18EA_IF_INDEX, 18EA_INTERFACE_NAME, 18EA_INTERFACE_SPEED, 19EA_INTERFACE_TYPE, 19EA_IP_ADDRESS, 18EA_IP_MASK, 18EA_LOCAL_QOS_PROFILE, 19EA_LOGIN_NAME, 18EA_LOGIN_TYPE, 19EA_MAC_ADDRESS, 19EA_MTU, 19EA_NAS_IP, 18EA_NAS_PORT, 18EA_NAS_PORT_ID, 18EA_RADIUS_CLASS, 18EA_SERVICE_BUNDLE, 18EA_SESSION_ID, 18EA_TUNNEL_ID, 19EA_TUNNEL_SERVER_IP_-

ADDRESS, 19EA_TUNNEL_SERVER_IP_-

MASK, 19EA_TUNNEL_SESSION_ID, 19EA_USER_IP_ADDRESS, 19EAT_LONG, 20

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 158: SAE API Reference Manual - Juniper

152 INDEX

EAT_LONG_LONG, 20EAT_OPAQUE, 20EAT_STRING, 20EventAttribute, 18EventAttributeType, 19EventAttrSeq, 17EventAttrSeqSeq, 17InetAddress, 17InetAddressSeq, 17

event.idl, 137event::AttributeUnion, 31event::AttributeUnion

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

event::EventAttr, 33event::EventAttr

type, 33value, 33

event::EventNotification, 34event::EventNotification

getManagedRouterNames, 35getSaeID, 35ipDown, 35ipSynchronize, 36ipUp, 36registerRouterListener, 37unregisterRouterListener, 38

event::IllegalArgument, 39event::IllegalArgument

message, 39event::RouterListener, 40event::RouterListener

routerDown, 40routerUp, 40

event::UnknownRouter, 42event::UnknownRouter

message, 42EventAttribute

event, 18EventAttributeType

event, 19EventAttrSeq

event, 17EventAttrSeqSeq

event, 17execOne

sae::ScriptProcessor, 79execute

sae::ScriptProcessor, 80extension

sae::TimeSpec, 129

filtersae::Select, 83

findSubscribersae::SAEAccess, 65

finishModifyFragmentSessionsae::Subscriber, 104

firstTimeSpecsae::ScheduledTime, 76

fragmentDownsae::Subscriber, 105

fragmentReactivatingsae::Subscriber, 105

getFeaturesae::ServiceActivationEngine, 85

getFeatureNamessae::ServiceActivationEngine, 85

getManagedRouterNamesevent::EventNotification, 35

getOneTimeScheduleEntryActionssae::Subscriber, 105

getOneTimeScheduleEntryEventDatessae::Subscriber, 106

getRegisteredEquipmentsae::SAEAccess, 65

getRegisteredLoginssae::SAEAccess, 66

getSaeIDevent::EventNotification, 35

getScheduleEntriesByIdssae::Subscriber, 106

getScheduleEntryByIdsae::Subscriber, 107

getScheduleEntryIdssae::Subscriber, 107

getSubscribersae::SAEAccess, 66

getSubscriberFilter

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 159: SAE API Reference Manual - Juniper

INDEX 153

sae::SAEAccess, 67getSubscriberSet

sae::SAEAccess, 68getUsage

sae::Subscriber, 108global_address

sae::SubscriberId, 123global_login_name

sae::SubscriberId, 123grantPublicIp

sae::Subscriber, 109grantPublicIpAttr

sae::Subscriber, 109

hoursae::TimeSpec, 129

idsae::ScheduleEntry, 77

IdxPairSeqsae, 27

if_indexsae::SubscriberId, 123

if_namesae::SubscriberId, 123

indexsae::InterfaceIndex, 53

InetAddressevent, 17

InetAddressSeqevent, 17

installsae::ScriptProcessor, 80

intfNamesae::AddrInterfaceName, 46sae::InterfaceName, 54sae::Registration, 61

ipAddresssae::AddrInterfaceName, 46sae::GlobalAddress, 50sae::TimedAddress, 127

ipDownevent::EventNotification, 35

ipSynchronizeevent::EventNotification, 36

ipUp

event::EventNotification, 36

listInstalledScriptssae::ScriptProcessor, 81

loginsae::Subscriber, 110

login_namesae::GlobalLoginName, 51sae::SubscriberId, 123

loginNamesae::LoginException, 55sae::Registration, 61

loginUsersae::SAEAccess, 68

logoutsae::Subscriber, 110

LongLongSeqsae, 27

longLongValevent::AttributeUnion, 32

longValevent::AttributeUnion, 32

macAddresssae::Registration, 62

MANUALsae, 29

messageevent::IllegalArgument, 39event::UnknownRouter, 42sae::FeatureNotInstalled, 49sae::LoginException, 55sae::NonUniqueUserException, 56sae::OperationFailed, 57sae::OverloadException, 58sae::SAEException, 74sae::ScriptExecutionError, 78sae::ScriptSyntaxError, 82sae::ServiceAuthentication-

Exception, 87sae::UnknownServiceException,

131sae::UnknownServiceSession-

Exception, 132sae::UnknownSubscription-

Exception, 133

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 160: SAE API Reference Manual - Juniper

154 INDEX

sae::UnknownUserException, 134sae::UnsupportedException, 135

minutesae::TimeSpec, 129

modifyPersistentSessionsae::Subscriber, 111

modifyServiceSessionsae::Subscriber, 111

monthsae::TimeSpec, 129

namesae::Attr, 47sae::DhcpAttribute, 48

next_nsae::SubscriberIterator, 125

opaqueValevent::AttributeUnion, 32

operationsae::Action, 43sae::ActionExt, 44

primary_user_namesae::SubscriberId, 123

readsae::Subscriber, 113

readServicesae::Subscriber, 113

readSubscribersae::Subscriber, 114

readSubscriptionsae::Subscriber, 114

reasonsae::ServiceAuthentication-

Exception, 87registerEquipment

sae::SAEAccess, 69registerEquipmentAttr

sae::SAEAccess, 69registerLogin

sae::SAEAccess, 70registerLoginCredentials

sae::SAEAccess, 71registerNextLogin

sae::SAEAccess, 71registerRouterListener

event::EventNotification, 37RegistrationSeq

sae, 28result

sae::ReadResult, 59revokePublicIp

sae::Subscriber, 115routerDown

event::RouterListener, 40routerUp

event::RouterListener, 40

sae, 21ActionExtSeq, 26ActionSeq, 27ACTIVATE_ON_LOGIN, 29Arguments, 28AttrSeq, 26AttrSeqSeq, 26DEFAULT_SESSION_NAME, 29DhcpAttributes, 27IdxPairSeq, 27LongLongSeq, 27MANUAL, 29RegistrationSeq, 28SAET, 28SAET_ACTIVATE_ONLY, 28SAET_ANONYMOUS_USER, 28SAET_AUTH_PRECLUDES_-

ACTIVATE_ON_LOGIN,28

SAET_FILTERED_OUT, 28SAET_INHERITED_-

SUBSCRIPTION, 28SAET_INVISIBLE, 28SAET_MODIFY_EXCEPTION, 29SAET_MUTEX_GROUPS, 28SAET_NO_SESSION_-

MODIFICATION, 28SAET_PERSISTENT_-

ACTIVATION, 28SAET_PUBLIC_IP_-

AUTHENTICATION, 28

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 161: SAE API Reference Manual - Juniper

INDEX 155

SAET_SERVICE_-AUTHORIZATION, 28

SAET_SERVICE_UNAVAILABLE,28

SAET_SUBSCRIPTION_-AUTHORIZATION, 28

SAET_TRANSIENT_-EXCEPTION, 28

ScheduleEntryId, 27ScheduleEntryIdSeq, 27ScheduleEntrySeq, 27SIT_ADDR_IF_NAME, 29SIT_ADDRESS, 29SIT_DN, 29SIT_GLOBAL_ADDRESS, 29SIT_GLOBAL_LOGIN_NAME, 29SIT_IF_INDEX, 29SIT_IF_NAME, 29SIT_LOGIN_NAME, 29SIT_PRIMARY_USER_NAME, 29SIT_SESSION_HANDLE, 29SIT_SESSIONID, 29SIT_TUNNEL_SESSION, 29StringSeq, 26SubscriberIdType, 29SubscriberSeq, 27WStringSeq, 26

sae.idl, 140sae::Action, 43

operation, 43serviceName, 43

sae::ActionExt, 44sae::ActionExt

attributes, 44operation, 44serviceName, 44

sae::AddrInterfaceName, 46sae::AddrInterfaceName

intfName, 46ipAddress, 46vrName, 46

sae::Attr, 47name, 47values, 47

sae::DhcpAttribute, 48sae::DhcpAttribute

name, 48value, 48

sae::FeatureNotInstalled, 49sae::FeatureNotInstalled

message, 49sae::GlobalAddress, 50sae::GlobalAddress

ipAddress, 50vpn_id, 50

sae::GlobalLoginName, 51sae::GlobalLoginName

login_name, 51vpn_id, 51

sae::IdxPair, 52sae::IdxPair

subIdx, 52svcIdx, 52

sae::InterfaceIndex, 53sae::InterfaceIndex

index, 53vrName, 53

sae::InterfaceName, 54sae::InterfaceName

intfName, 54vrName, 54

sae::LoginException, 55sae::LoginException

currentIp, 55loginName, 55message, 55

sae::NonUniqueUserException, 56sae::NonUniqueUserException

message, 56userId, 56

sae::OperationFailed, 57sae::OperationFailed

message, 57sae::OverloadException, 58sae::OverloadException

message, 58sae::ReadResult, 59sae::ReadResult

attributes, 59result, 59service, 59subscription, 60

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 162: SAE API Reference Manual - Juniper

156 INDEX

sae::Registration, 61description, 61intfName, 61loginName, 61macAddress, 62userDn, 62vrName, 62

sae::SAEAccess, 63findSubscriber, 65getRegisteredEquipment, 65getRegisteredLogins, 66getSubscriber, 66getSubscriberFilter, 67getSubscriberSet, 68loginUser, 68registerEquipment, 69registerEquipmentAttr, 69registerLogin, 70registerLoginCredentials, 71registerNextLogin, 71unregisterEquipment, 72unregisterLogin, 73

sae::SAEException, 74message, 74

sae::SAEFeature, 75sae::ScheduledTime, 76sae::ScheduledTime

firstTimeSpec, 76secondTimeSpec, 76

sae::ScheduleEntry, 77sae::ScheduleEntry

actions, 77id, 77schedTime, 77

sae::ScriptExecutionError, 78sae::ScriptExecutionError

message, 78sae::ScriptProcessor, 79sae::ScriptProcessor

execOne, 79execute, 80install, 80listInstalledScripts, 81uninstall, 81

sae::ScriptSyntaxError, 82sae::ScriptSyntaxError

message, 82sae::Select, 83

attributes, 83filter, 83

sae::ServiceActivationEngine, 85sae::ServiceActivationEngine

getFeature, 85getFeatureNames, 85

sae::ServiceAuthenticationException, 87sae::ServiceAuthenticationException

message, 87reason, 87serviceName, 87sessionName, 87userIp, 87

sae::Subscriber, 88activateService, 94activateServiceBackground, 95activateServiceSession, 95addOneTimeScheduleEntry, 96addScheduleEntry, 97addSubscription, 97addSubscriptionAttributes, 98deactivateService, 99deactivateServiceBackground, 100deactivateServiceBackgroundRea-

son, 100deactivateServiceReason, 101deleteOneTimeScheduleEntries, 102deletePersistentSession, 102deleteScheduleEntry, 103deleteSubscription, 103disconnect, 104finishModifyFragmentSession, 104fragmentDown, 105fragmentReactivating, 105getOneTimeScheduleEntryActions,

105getOneTimeScheduleEntryEvent-

Dates, 106getScheduleEntriesByIds, 106getScheduleEntryById, 107getScheduleEntryIds, 107getUsage, 108grantPublicIp, 109grantPublicIpAttr, 109

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 163: SAE API Reference Manual - Juniper

INDEX 157

login, 110logout, 110modifyPersistentSession, 111modifyServiceSession, 111read, 113readService, 113readSubscriber, 114readSubscription, 114revokePublicIp, 115setActivationTrigger, 115setInterimTime, 116setPersistentSession, 116setSessionTimeout, 117setSessionVolumeQuota, 117startModifyFragmentSession, 118undoModifyFragmentSession, 118updateOneTimeScheduleEntryAc-

tions, 118updateScheduleEntry, 119updateServiceSessionTimeout, 119updateSessionTimeout, 120

sae::SubscriberId, 122sae::SubscriberId

addr_if_name, 123address, 123dn, 123global_address, 123global_login_name, 123if_index, 123if_name, 123login_name, 123primary_user_name, 123sessionHandle, 124sessionId, 124tunnel_session, 124

sae::SubscriberIterator, 125sae::SubscriberIterator

destroy, 125next_n, 125

sae::TimedAddress, 127sae::TimedAddress

ipAddress, 127timestamp, 127

sae::TimeSpec, 128sae::TimeSpec

dayOfMonth, 129

dayOfWeek, 129extension, 129hour, 129minute, 129month, 129year, 129

sae::TunnelSession, 130sae::TunnelSession

tunnelId, 130tunnelSessionId, 130vrName, 130

sae::UnknownServiceException, 131sae::UnknownServiceException

message, 131serviceName, 131

sae::UnknownServiceSessionException,132

sae::UnknownServiceSessionExceptionmessage, 132serviceName, 132sessionName, 132

sae::UnknownSubscriptionException,133

sae::UnknownSubscriptionExceptionmessage, 133subscriptionName, 133

sae::UnknownUserException, 134sae::UnknownUserException

message, 134userId, 134

sae::UnsupportedException, 135sae::UnsupportedException

message, 135saeaccess.idl, 141saescript.idl, 147SAET

sae, 28SAET_ACTIVATE_ONLY

sae, 28SAET_ANONYMOUS_USER

sae, 28SAET_AUTH_PRECLUDES_-

ACTIVATE_ON_LOGINsae, 28

SAET_FILTERED_OUTsae, 28

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 164: SAE API Reference Manual - Juniper

158 INDEX

SAET_INHERITED_SUBSCRIPTIONsae, 28

SAET_INVISIBLEsae, 28

SAET_MODIFY_EXCEPTIONsae, 29

SAET_MUTEX_GROUPSsae, 28

SAET_NO_SESSION_MODIFICATIONsae, 28

SAET_PERSISTENT_ACTIVATIONsae, 28

SAET_PUBLIC_IP_-AUTHENTICATION

sae, 28SAET_SERVICE_AUTHORIZATION

sae, 28SAET_SERVICE_UNAVAILABLE

sae, 28SAET_SUBSCRIPTION_-

AUTHORIZATIONsae, 28

SAET_TRANSIENT_EXCEPTIONsae, 28

schedTimesae::ScheduleEntry, 77

ScheduleEntryIdsae, 27

ScheduleEntryIdSeqsae, 27

ScheduleEntrySeqsae, 27

secondTimeSpecsae::ScheduledTime, 76

servicesae::ReadResult, 59

serviceNamesae::Action, 43sae::ActionExt, 44sae::ServiceAuthentication-

Exception, 87sae::UnknownServiceException,

131sae::UnknownServiceSession-

Exception, 132sessionHandle

sae::SubscriberId, 124sessionId

sae::SubscriberId, 124sessionName

sae::ServiceAuthentication-Exception, 87

sae::UnknownServiceSession-Exception, 132

setActivationTriggersae::Subscriber, 115

setInterimTimesae::Subscriber, 116

setPersistentSessionsae::Subscriber, 116

setSessionTimeoutsae::Subscriber, 117

setSessionVolumeQuotasae::Subscriber, 117

SIT_ADDR_IF_NAMEsae, 29

SIT_ADDRESSsae, 29

SIT_DNsae, 29

SIT_GLOBAL_ADDRESSsae, 29

SIT_GLOBAL_LOGIN_NAMEsae, 29

SIT_IF_INDEXsae, 29

SIT_IF_NAMEsae, 29

SIT_LOGIN_NAMEsae, 29

SIT_PRIMARY_USER_NAMEsae, 29

SIT_SESSION_HANDLEsae, 29

SIT_SESSIONIDsae, 29

SIT_TUNNEL_SESSIONsae, 29

startModifyFragmentSessionsae::Subscriber, 118

StringSeqsae, 26

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen

Page 165: SAE API Reference Manual - Juniper

INDEX 159

stringValevent::AttributeUnion, 32

subIdxsae::IdxPair, 52

SubscriberIdTypesae, 29

SubscriberSeqsae, 27

subscriptionsae::ReadResult, 60

subscriptionNamesae::UnknownSubscription-

Exception, 133svcIdx

sae::IdxPair, 52

timestampsae::TimedAddress, 127

tunnel_sessionsae::SubscriberId, 124

tunnelIdsae::TunnelSession, 130

tunnelSessionIdsae::TunnelSession, 130

typeevent::EventAttr, 33

undoModifyFragmentSessionsae::Subscriber, 118

uninstallsae::ScriptProcessor, 81

unregisterEquipmentsae::SAEAccess, 72

unregisterLoginsae::SAEAccess, 73

unregisterRouterListenerevent::EventNotification, 38

updateOneTimeScheduleEntryActionssae::Subscriber, 118

updateScheduleEntrysae::Subscriber, 119

updateServiceSessionTimeoutsae::Subscriber, 119

updateSessionTimeoutsae::Subscriber, 120

userDn

sae::Registration, 62userId

sae::NonUniqueUserException, 56sae::UnknownUserException, 134

userIpsae::ServiceAuthentication-

Exception, 87

valueevent::EventAttr, 33sae::DhcpAttribute, 48

valuessae::Attr, 47

vpn_idsae::GlobalAddress, 50sae::GlobalLoginName, 51

vrNamesae::AddrInterfaceName, 46sae::InterfaceIndex, 53sae::InterfaceName, 54sae::Registration, 62sae::TunnelSession, 130

WStringSeqsae, 26

yearsae::TimeSpec, 129

Generated on Tue May 24 14:55:27 2011 for SAE API by Doxygen