The Session Refresh feature periodically instructs all INVITE dialog legs to refresh, and ends the call once the max duration is reached.

Details

Feature script name

SessionRefresh

Applicable contexts

SIP service

Call-Type

All

Session Plan

All

Execution points

Pre

SipAccess_SipRequest SipAccess_ChargingReauth SipMidSession_ChargingReauth SipEndSession

Post

SipAccess_SipResponse SipAccess_ServiceTimer

Feature Extension Events

None

Network Operator Config

Yes

Subscriber Config

None

POJO or SBB

POJO

Feature FSMs

None

Feature Parameters

None

SAS Support

No

Prerequisite features

None

Session state inputs and outputs

Inputs

Name Type Format Description Behaviour if null/invalid

SentinelSelectionKey

com.opencloud.sentinel.common.SentinelSelectionKey

selection key + for example, <platform>::::

For selecting configuration data

Increment InputParameterErrors common cleanup actions

CallEstablished

Boolean

true or false

true if the session has been established

Initially set to false

Feature responses

Response Reason
featureHasFinished

Feature has completed execution for the current invocation.

featureIssuedWarning

Feature has encountered a non-fatal issue during execution.

Feature Statistics

SessionRefresh statistics are tracked by the sentinel.sip SBB and can be found under the following parameter set:
SLEE-Usage → sentinel.sip service ID → sentinel.sip SBB ID → feature.SessionRefresh

Name Type Description
Started

Counter

Incremented when the feature is triggered.

FailedToStart

Counter

Incremented when the feature fails to start.

FailedDuringExecution

Counter

Incremented when the feature fails while executing.

IssuedWarning

Counter

Incremented when the feature issues a warning.

TimedOut

Counter

Incremented when the feature times out during execution.

SessionRefreshTimerStarted

Counter

Incremented when the feature starts the periodic timer.

SessionRefreshTimerStopped

Counter

Incremented when the feature stops the periodic timer.

InstructRefreshOnTimerFire

Counter

Incremented when the feature instructs legs to refresh due to the timer firing.

InstructRefreshOnChargingReauth

Counter

Incremented when the feature instructs legs to refresh due to a charging reauth.

MaxCallDurationReached

Counter

Incremented when the feature ends a call due to the max duration being exceeded.

Configuration

This feature reads configuration from the SessionRefreshProfileTable profile table. Profiles in this table are named based on the Sentinel selection key that they should be applied to. The profile specification for this table is sentinel-sip-session-refresh-feature-profile.

Parameter Type Default Value Description
TimerInterval
long
290

Interval of periodic timer (seconds)

RefreshPeriod
long
570

Period of no activity for leg to refresh (seconds)

MaxCallDuration
int
86400

Maximum time the call may be active for (seconds)

RefreshWithUpdateIfAllowed
boolean
false

Whether the session should be refreshed using UPDATE requests so long as the endpoint allows UPDATE requests.

Session Input Data

Name Type Description

SentinelSelectionKey

SentinelSelectionKey

Used to select configuration data. Issue a feature warning and use default configuration values.

CallEstablished

boolean

Used to determine whether the session should be considered established before receiving an ACK.

MaxCallDuration

Long

If this field is given a value greater than 0, it will be used in place of the configured max call duration for the session. The value is in milliseconds.

Session Output Data

Name Type Description

SessionEstablishedTime

long

Unix timestamp representing the time the session was established.

MaxCallDurationExpireTime

long

Unix timestamp representing the time at which the maximum call duration will be reached.

Provisioning interfaces

The feature is provisioned using the Sentinel Features REST API or web interface.

Behaviour

On an incoming initial ACK or when the callEstablished session state field is true, a repeating timer is set. The timer’s period is specified by the TimerInterval value in the feature’s configuration. This timer is armed redundantly if the session is replicated. The number of repetitions will be so such that the timer will stop firing soon after the maximum call duration is reached.

Each time the timer fires, the feature first checks if the maximum call duration has been exceeded. If the max call duration has been exceeded, the feature will end the session. If not, Leg.refreshSession is instructed on each leg using the RefreshPeriod from the feature’s configuration. The RefreshPeriod represents the period of no activity before a refresh request should occur. If no messages have been sent or received on a leg within the RefreshPeriod, a refresh request transaction will be initiated.

Refresh requests are by default re-INVITE requests. The Session Refresh feature can be configured using the RefreshWithUpdateIfAllowed configuration to use UPDATE requests instead. If an endpoint did not include the UPDATE method in it’s Allows header then the RefreshWithUpdateIfAllowed configuration is ignored.

Note RFC 6141 describes this process in SIP INVITE dialogs. This will cause all legs to be refreshed immediately.

Receipt of a Re-Auth-Request on the Ro interface

A Diameter server may initiate a re-authentication and/or re- authorization service for a particular session by issuing a Re-Auth- Request (RAR) message [BASE].

For example, for pre-paid services, the Diameter server that originally authorized a session may need some confirmation that the user is still using the services.

If a NAS receives an RAR message with Session-Id equal to a currently active session and a Re-Auth-Type that includes authentication, it MUST initiate a re-authentication toward the user, if the service supports this particular feature.

Therefore when receiving a RAR, Sentinel responds with an RAA, initiates a Credit Control Update Request (CCR-U) and triggers this feature. This means that one or more SIP dialog refreshes run in parallel to the CCR-U. If the session refresh is successful then no further action is necessary. However if SIP dialog refreshes are not successful then Sentinel will move to the End Session point-in-session, thereby sending a CCR-T.

Additionally when the Validity-Time timer expires, Sentinel acts as though a RAR was received.

Previous page Next page
Sentinel Express Version 2.9.0