This feature determines the transferable set for access transfer .
The transferable set is a phrase from 3GPP 24.237, and includes sessions that will be transferred during an access transfer, and those that are considered superfluous.
Feature cheat sheet
| B2BUA Instance | Originating / Terminating | Point(s) in Session Plan | Network Operator Data | Subscriber Data | Stateful or Stateless | POJO or SBB Feature | Other notes |
|---|---|---|---|---|---|---|---|
SCC |
Both Originating and Terminating |
SCCAccessTransfer_SipAccess_SessionStart |
None |
None |
Stateless |
POJO |
Session input and output variables
Session input variables
| Variable | Type | Description |
|---|---|---|
AccessTransferType |
AccessTransferType (Enum) |
This feature will only run when this field is set to |
ASURI |
String |
The SIP URI of the current node |
Session output variables
| Variable | Type | Description |
|---|---|---|
MostRecentlyActive |
TrackedSession (POJO) |
Contains all the information in TrackedDialogKeys about the most recently active session |
SuperfluousSessions |
Set<TrackedSession> |
A set of all of the other sessions found from querying the TrackedDialogKeys table |
AccessTransferIsLocal |
boolean |
True if the MostRecentlyActive’s ASURI field is the same as the current nodes ASURI |
Statistics
SCCDetermineTransferableSet statistics are tracked by the volte.sentinel.sip SBB
and can be found under the following parameter set in REM:
SLEE-Usage → volte.sentinel.sip service → volte.sentinel.sip SBB → feature → SCCDetermineTransferableSet
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=volte.sentinel.sip,vendor=OpenCloud,version=2.7.0].SbbID[name=volte.sentinel.sip,vendor=OpenCloud,version=2.7.0].feature.SCCDetermineTransferableSet"
| Name | Description |
|---|---|
Started |
Incremented each time the feature runs |
FailedToStart |
Incremented when a fatal error occurs before feature execution |
IssuedWarning |
Incremented when a non-fatal error occurs during feature execution |
FailedDuringExecution |
Incremented when a fatal error occurs during feature execution |
TimedOut |
Incremented when feature execution does not complete within a reasonable time frame |
CassandraQueried |
Incremented when the feature sends a query to Cassandra |
CassandraError |
Incremented when a TrackedDialogKeys lookup fails with a Cassandra error |
CassandraSuccess |
Incremented when a TrackedDialogKeys lookup returns successfully from Cassandra |
CassandraTimeout |
Incremented when a TrackedDialogKeys lookup fails with a Cassandra timeout |
CassandraNoDataFound |
Incremented when no matching tracked dialog keys entries were found in Cassandra |
FoundTrackedSession |
Incremented when the feature successfully passes a row of the Cassandra result as a TrackedSession |
SavedSessionToTransfer |
Incremented when the feature saves the most recently active TrackedSession to session state |
SavedSuperfluousSessions |
Incremented when the feature saves all of the remaining TrackedSession’s to session state |
CassandraAsyncQueryTimeSuccess |
Samples the elapsed time between starting a query and a success response arriving from Cassandra |
CassandraAsyncQueryTimeFailure |
Samples the elapsed time between starting a query and a failure response arriving from Cassandra |
Behaviour
This feature uses the P-Asserted-Identity header from the handover INVITE as a CMSISDN to lookup the TrackedDialogKeys table in Cassandra saved by the
External Session Tracking Features.
The resulting data is then parsed into TrackedSession objects, one per result row.
The TrackedSession with the most recent LastActiveTime is stored in Session State as the MostRecentlyActiveSession.
All other TrackedSessions are stored in the SuperfluousSessions set.
The feature sets the AccessTransferIsLocal flag in Session State if the MostRecentlyActiveSession has an ASURI value the same as the current node’s ASURI.
