The Session Refresh feature periodically instructs all INVITE
dialog legs to refresh.
-
On an incoming initial
ACK
or when thecallEstablished
session state field istrue
, a timer is set to the duration specified by theTimerInterval
in the feature’s configuration. -
On the expiry of the timer, it is reset and
Leg.refreshSession
is instructed on each leg using theRefreshPeriod
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 theRefreshPeriod
, 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.
RFC 6141 describes this process in SIP INVITE dialogs. The feature is also triggered on receiving a RAR . This will cause all legs to be refreshed immediately.
|
Details
Feature script name |
SessionRefresh |
---|---|
Applicable contexts |
SIP service |
Prerequisite features |
N/A |
Feature execution points |
|
Timer usage |
Feature-targeted timer triggers feature directly on expiry. Does not need to be registered against SipAccess_ServiceTimer execution point. |
Session state inputs and outputs
Inputs
Name | Type | Format | Description | Behaviour if null/invalid |
---|---|---|---|---|
SentinelSelectionKey |
com.opencloud.sentinel.common.SentinelSelectionKey |
selection key |
For selecting configuration data |
Increment InputParameterErrors common cleanup actions |
CallEstablished |
Boolean |
|
|
Initially set to |
Configuration
These parameters configure the Session Refresh feature:
Parameter | Type | Description |
---|---|---|
TimerInterval |
long |
Interval of periodic timer (seconds) |
RefreshPeriod |
long |
Period of no activity for leg to refresh (seconds) |
RefreshWithUpdateIfAllowed |
boolean |
Whether the session should be refreshed using UPDATE requests so long as the endpoint allows UPDATE requests. |
Provisioning interfaces
The feature is provisioned using the Sentinel Features REST API or web interface.