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
.