The Session Refresh feature periodically instructs all INVITE dialog legs to refresh.
-
On an incoming initial
ACKor when thecallEstablishedsession state field istrue, a timer is set to the duration specified by theTimerIntervalin the feature’s configuration. -
On the expiry of the timer, it is reset and
Leg.refreshSessionis instructed on each leg using theRefreshPeriodfrom the feature’s configuration. -
The
RefreshPeriodrepresents 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 |
SAS Support |
No |
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.
