# Managing Accounts and SLAs

# Managing Sessions

This section describes how to configure the behavior of and manage ongoing sessions:

- About Sessions
- Reference: ApplicationSessions

See Reference: ApplicationSessions, for information on where to find the operations in the Administration Console and the name of the MBean.

## About Sessions

You can configure whether or not to use sessions between applications and Oracle Communications Services Gatekeeper. Sessions can be used for establishing site affinity when using geographical redundant sites.

The setting of Attribute: sessionRequired specifies if sessions are used or not.

When using sessions, the application must get a session from the Session Web Service prior to using the other application-facing interfaces. The application must also provide the session ID in all requests to the application-facing interfaces, except for requests to the Session Web Service.

A session has a unique ID. A session, once established, can have two states:

- ACTIVE
- INVALID

When a session is established it is always in state ACTIVE.

When a session is in state... | It transitions into state... | When...
--- | --- | ---
ACTIVE | INVALID | The age of the state ACTIVE of a session is older than a configurable time-interval, see Attribute: validityTime.
ACTIVE | n/a (This is not a state but rather that the session is not current, or not existing.) | Either one of these scenarios are applied: An application request to destroy the session using, depending on which session establishment mechanism being used, either: Operation: destroySession on the Session Manager Web Service. Operation: applicationLogout on the Access Web Service. A management user performs one of the following management operations: Operation: destroySession Operation: destroyApplicationInstanceSession Operation: destroyApplicationSessions Operation: destroyServiceProviderSessions
INVALID | ACTIVE | An application request to refresh the session using, depending on which session establishment mechanism being used, either: Operation: refreshSession on the Session Manager Web Service. Operation: refreshLoginTicket on the Access Web Service.
INVALID | n/a (This is not a state but rather that the session is not current, or not existing.) | The age of the state INVALID of a session is older than a configurable time-interval, see Attribute: expiryTime.
A management user performs one of the following management operations: Operation: destroyApplicationInstanceSession Operation: destroyApplicationSessions Operation: destroySession Operation: destroyServiceProviderSessions

## Reference: ApplicationSessions

All operations are reachable from:

- Oracle Communications Services Gatekeeper Management Console Managed Object: Container Services AccountServiceApplicationSessions
- MBean: com.bea.wlcp.wlng.account.management.ApplicationSessionMBean

Below is a list of attributes and operations for ApplicationSessions:

- Attribute: expiryTime
- Attribute: sessionRequired
- Attribute: validityTime
- Operation: countApplicationSessions
- Operation: destroyServiceProviderSessions
- Operation: getApplicationInstanceSession
- Operation: destroySession
- Operation: destroyApplicationInstanceSession
- Operation: destroyApplicationSessions
- Operation: getCurrentSession
- Operation: listApplicationSessions

#### Attribute: expiryTime

Scope: Domain

Unit: minutes

Format: int

Specifies the expiry time of sessions.

See About Sessions.

#### Attribute: sessionRequired

Scope: Domain

Unit: n/a

Format: Boolean

Specifies if sessions must be established prior to use the application-facing interfaces in Oracle Communications Services Gatekeeper. See About Sessions.

#### Attribute: validityTime

Scope: Domain

Unit: minutes

Format: int

Specifies the validity time of sessions.

See About Sessions.

#### Operation: countApplicationSessions

Scope: Domain

Displays the number of established sessions filtered on:

- service provider account
- application account

Signature:

    countApplicationSessions(ApplicationIdentifier: String, ServiceProviderIdentifier: String)

Table 7-1 countApplicationSessions
countApplicationSessions
Parameter | Description
--- | ---
ApplicationIdentifier | ID of the application account. Optional. Leave empty to match all.
Service ProviderIdentifier | ID of the service provider account. Optional. Leave empty to match all.

#### Operation: destroySession

Scope: Domain

Destroys an ongoing session using the ID of the session.

Signature:

    destroySession(SessionIdentifier: String)

Table 7-2 destroySession
destroySession
Parameter | Description
--- | ---
SessionIdentifier | ID of the session to destroy.

#### Operation: destroyApplicationInstanceSession

Scope: Domain

Destroys the ongoing session using the ID of the application instance that established the session.

Signature:

    destroyApplicationInstanceSession(ApplicationInstanceIdentifier: String)

Table 7-3 destroyApplicationInstanceSession
destroyApplicationInstanceSession
Parameter | Description
--- | ---
ApplicationInstanceIdentifier | ID of the application instance that established the session.

#### Operation: destroyApplicationSessions

Scope: Domain

Destroys all ongoing session established by applications associated with a specific service provider /application account combination.

Signature:

    destroyApplicationSessions(ApplicationIdentifier: String, ServiceProviderIdentifier: String)

Table 7-4 destroyApplicationSessions
destroyApplicationSessions
Parameter | Description
--- | ---
ApplicationIdentifier | ID of the application account.
ServiceProviderIdentifier | ID of the service provider account.

#### Operation: destroyServiceProviderSessions

Scope: Domain

Destroys all ongoing session established by applications associated with a specific service provider account.

Signature:

    destroyServiceProviderSessions(ServiceProviderIdentifier: String)

Table 7-5 destroyServiceProviderSessions
destroyServiceProviderSessions
Parameter | Description
--- | ---
ServiceProviderIdentifier | ID of the service provider account.

#### Operation: getApplicationInstanceSession

Scope: Domain

Gets information about a session, active or invalid, using the ID of the application instance that established the session.

The information includes:

- Session ID.
- ID of the application instance that established the session.
- Age, the time since the session was established. Given in minutes.
- Validity indicator for the session:

- true if ACTIVE
- false if INVALID

Signature:

    getApplicationInstanceSession(ApplicationInstanceIdentifier: String)

Table 7-6 getApplicationInstanceSession
getApplicationInstanceSession
Parameter | Description
--- | ---
ApplicationInstanceIdentifier | ID of the application instance.

#### Operation: getCurrentSession

Scope: Domain

Gets information about a session, ongoing or invalid, using the ID of the session.

The information includes:

- Session ID.
- ID of the application instance that established the session.
- Age, the time since the session was established. Given in minutes.
- Validity indicator for the session:

- true if valid
- false if invalid

Signature:

    getCurrentSession(SessionIdentifier: String)

Table 7-7 getCurrentSession
getCurrentSession
Parameter | Description
--- | ---
SessionIdentifier | ID of the session to get information about.

#### Operation: listApplicationSessions

Scope: Domain

Displays a list of IDs for all sessions, ongoing or invalid, established by applications. Filters on:

- service provider account
- application account

Signature:

    listApplicationSessions(ApplicationIdentifier: String, ServiceProviderIdentifier: String, Offset: int, Size: int)

Table 7-8 listApplicationSessions
listApplicationSessions
Parameter | Description
--- | ---
applicationIdentifier | ID of the application account. Optional. Leave empty to match all.
serviceProviderIdentifier | ID of the service provider account. Optional. Leave empty to match all.
Offset | Offset in the list. Starts with 0 (zero)
Size | Size of the list. For no restrictions on the size of the list, use 0 (zero).