Source record · tier 1 standards and regulators
RFC 4028: Session Timers in the Session Initiation Protocol (SIP)
- Publisher
- IETF / RFC Editor
- URL
- https://www.rfc-editor.org/rfc/rfc4028.html
- Published
- 2005-04-01
- Updated
- unknown
- Accessed
- 2026-09-25
- HTTP status
- 200
- License
- IETF Trust Legal Provisions (BCP 78); no-redistribution; short excerpts and locators only
Source notes citing this source
- When a Session-Expires value is below an element's minimum, the element responds 422 (Session Interval Too Small) with a Min-SE header giving its minimum. in context
- Under RFC 4028 the absolute minimum session interval is 90 seconds, and Min-SE defaults to 90 seconds when the header is absent. in context
- If the side that does not refresh receives no refresh, RFC 4028 says it SHOULD send a BYE slightly before the session expires. The recommended margin is the smaller of 32 seconds and one third of the session interval. in context
- RFC 4028 session timers, negotiated with the 'timer' option tag, still work when only one party to the call supports the extension. in context
- Under RFC 4028 the refresher sends its session refresh once half the session interval has elapsed. in context
- The Session-Expires header's refresher parameter, 'uac' or 'uas', names the side responsible for sending session refreshes. in context
- RFC 4028 recommends a Session-Expires value of 1800 seconds (30 minutes). in context
- Even at the RFC 4028 minimum interval of 90 seconds, a missed refresh ends the call at about 60 seconds (90 minus the smaller of 32 and 30 seconds). A standards-conformant session-timer failure therefore cannot, on its own, explain a drop at about 30 seconds. Session-timer drops usually appear at 15 or 30 minutes. inferred in context
- A 422 response must contain a Min-SE header. in context
- RFC 4028 defines 422 Session Interval Too Small, sent by a UAS or proxy when Session-Expires is below its minimum. in context
- After a 422, the UAC retries with a Min-SE equal to the largest Min-SE value returned in all 422 responses for that request. in context
- If no refresh arrives, the non-refresher should send BYE slightly before expiry, recommended at the lesser of 32 seconds and one third of the interval before it. in context
- The letter x is reserved as the compact form of the Session-Expires header. in context
- With Session-Expires 1800 and no refreshes, an RFC 4028 non-refresher following the recommended BYE margin would end the call about 32 seconds before 30 minutes, so drops clustered just under 30 minutes point to session timers. inferred in context
- When the Min-SE header is absent its value is taken as 90 seconds. in context
- The Min-SE header value must not be less than 90 seconds when present in a request or response. in context
- A proxy may insert a Session-Expires header into a request that lacks one before forwarding it. in context
- A proxy may reduce Session-Expires but not below Min-SE, and should raise but must not lower Min-SE. in context
- RFC 4028 recommends the refresher send the session refresh once half the session interval has elapsed. in context
- A session refresh request in a dialog with an active session timer should include the Session-Expires header. in context
- If a session refresh transaction times out or gets a 408 or 481 response, the UAC sends BYE. in context
- The Session-Expires refresher parameter takes the value uac or uas to name which side performs refreshes. in context
- A re-INVITE refresh should carry an SDP offer even if nothing changed, and the offer must indicate no change by reusing the prior origin field values. in context
- RFC 4028 says a UAC using Require: timer or Proxy-Require: timer in its request is NOT RECOMMENDED. in context
- If the 2xx response sets refresher=uac, the UAS must include Require: timer in that response. in context
- RFC 4028 sets an absolute minimum session interval of 90 seconds, reasoned as a bit more than twice the time a SIP transaction can take on timeout. in context
- RFC 4028 recommends 1800 seconds (30 minutes) as the Session-Expires value. in context
- Listing the option tag timer in Supported indicates a UA can perform refreshes according to RFC 4028. in context
- If only the UAC asked for a session timer and the 2xx lacks Session-Expires, the UAC performs refreshes as if the response carried its requested value with refresher=uac. in context
- If the UAC does not indicate Supported: timer, the UAS must set the refresher to uas. in context
- When the UAC supports session timers but expresses no refresher preference, the UAS decides whether it or the UAC performs refreshes. in context
- A UAS may reduce the Session-Expires value in its response but not below the Min-SE value in the request. in context
- RFC 4028 recommends UPDATE rather than re-INVITE for refreshes when the UAC knows its peer supports UPDATE. in context
- RFC 4028's preference for UPDATE refreshes and RFC 3311's preference for re-INVITE on confirmed dialogs address different cases (content-free refresh versus user-visible session change) rather than contradicting each other. inferred in context
- The session timer extension works even when only one user agent in the dialog supports it. in context
Cite this source record
APA
WarmTransfer. (2005, April 1). RFC 4028: Session Timers in the Session Initiation Protocol (SIP). WarmTransfer. https://warmtransfer.net/knowledge/sources/rfc-4028-session-timers
BibTeX
@misc{warmtransfer-rfc-4028-session-timers,
title = {RFC 4028: Session Timers in the Session Initiation Protocol (SIP)},
author = {{WarmTransfer}},
year = {2005},
url = {https://warmtransfer.net/knowledge/sources/rfc-4028-session-timers},
note = {IETF / RFC Editor, accessed 2026-09-25}
}