Enabling Session Timers

From reSIProcate
Jump to navigation Jump to search

Enabling Session Timers[edit]

The following steps are required in order to enable RFC4028 Session Timer support in DUM.

  • Add session timer support to the (Master)Profile used for the calls. mMasterProfile->addSupportedOptionTag(Token(Symbols::Timer));
  • Customize the default session time (if desired) using Profile::setDefaultSessionTime (default is 1800 seconds = 30 mins)
  • Customize the default session timer mode (if desired) using Profile::setDefaultSessionTimerMode

Session Timer Mode Settings are:

  • PreferLocalRefreshes - prefer that the local UA performs the refreshes.
  • PreferRemoteRefreshes - prefer that the remote UA peforms the refreshes.
  • PreferCallerRefreshes - prefer that the Caller performs the refreshes.
  • PreferCalleeRefreshes - prefer that the Callee (called party) performs the refreshes.
Note: determining the refresher is a negotiation, so despite this setting the remote 
end may end up enforcing their preference.  Also if the remote end doesn't support 
SessionTimers then the refresher will always be local.
This implementation follows the RECOMMENDED practices from section 7.1 of the RFC 
and does not specify a refresher parameter in UAC requests.