HP-UX C SIP Stack Programmer's Guide (Novembery 2007)

Advanced Features 377
SIP Session Timer
minSE
The minimum value for the session interval that the application is willing to
accept. If the application does not set this parameter, the minSE value is set to
the default value of 90 seconds according to the Session Timer RFC. Also, the
Min-SE header will not be present in the sent requests (except for a request,
following a 422 response). However, if the application set this parameter to 90
or any other value, the Min-SE header will appear in any sent request.
Default: –1
The sessionExpires and minSE parameters can also be determined for a specific
call-leg or call-leg transaction using the
RvSipCallLegSessionTimerSetPreferenceParams() and
RvSipCallLegTranscSessionTimerSetPreferenceParams() functions defined
below.
TIMERS When the SIP Stack is configured to support the timer extension, the Initial
INVITE request and every refresh will automatically include the Session-
Expires header with the configured sessionExpires value, unless the
sessionExpires is configured to zero. If you configured a minSE value, a Min-
SE header will also be included. After a 2xx response is received with the final
Session-Expires value and the call is connected, the SIP Stack sets a timer for
the session. A timer is set for each party of the call. On the refresher side, an
alert timer is set to a default of the final sessionExpires/2. This timer alerts the
call-leg to send a refresh request. You can change the alert time default value
using the RvSipCallLegSessionTimerSetAlertTime() function. The SIP Stack
sets another timer to the end of the session in both sides (the refresher side and
the non-refresher side). This timer is set to:
sessionExpires–min(32,sessionExpires/3)
according to the SessionTimer RFC. When this timer expires, a BYE is sent.
MODE OF OPERATION The SIP Session Timer feature can be operated in manual mode only. When the
Session Timer Alert timer is expired, the application on the refresher side will
be notified about it using the CallLegSessionTimerRefreshAlertEv() callback.
As mentioned in the above Timers section the SIP Stack sets another timer to the
end of the session on both sides (the refresher side and its remote side). When
this timer is expired, the application will be notified about it using the
CallLegSessionTimerNotificationEv() callback.
CALL-LEG SESSION
TIMER PARAMETERS
The following set of call-leg parameters relates to the session-timer feature.