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

376 HP-UX C SIP Stack Programmers Guide
SIP Session Timer
SIP SESSION TIMER The Session Timer extension enables determining the duration time of a call. A
Session-Expires header included in the 2xx response of an initial INVITE
determines the session duration. Periodic refresh enables extending the duration
of the call and allows both User Agents (UAs) and proxies to determine if the
SIP session is still active. The refresh of a SIP session is done through a re-
INVITE or UPDATE.
The Session-Expires header in the 2xx response also indicates which side will
be the refresher, in other words, which side will be responsible for generating
the refresh request. The refresher can be the UAC or UAS. The refresher should
generate a refresh request (using re-INVITE or UPDATE) before the session
expires. If no refresh request is sent or received before the session expires, or if
the refresh request is rejected, both parties should send BYE.
The Session Timer feature defines two new headers—Session-Expires and Min-
SE—and a new response code of 422. The Session-Expires header conveys the
lifetime of the session, the Min-SE header conveys the minimum value for the
Session Timer, and the 422 response code indicates that the Session Timer
duration is too small. A 422 response leads to the termination of the response
receiving call-leg. Consequently, to recover a 422 response, a new outgoing
call-leg has to be created according to section 7.3 of RFC 4028. This new call-
leg must be created only after the original 422-rejected call-leg is terminated. If
the Min-SE header is missing, the minimum value for the Session Timer is 90
seconds by default, according to the Session Timer RFC.
CONFIGURATION
PARAMETERS
The configuration parameters of the Session Timer feature are as follows:
supportedExtensionList
List of supported option-tags, separated by commas, which are supported by the
SIP Stack. The list will be added to a Supported header for outgoing messages.
In order to support the session timer feature, the application needs to add the
“timer” option tag to the list.
sessionExpires
The time at which an element will consider the call timed out, if no successful
INVITE transaction or UPDATE transaction occurs beforehand. This value is
inserted into every INVITE and UPDATE transaction in the Session-Expires
header unless it was configured to zero. A zero sessionExpires means that the
sessionTimer feature is turned off. If the “timer” option tag is not part of the
supported list, the sessionExpires value will be ignored.
Default: 1800 seconds