datatracker.ietf.org
Sign in
Version 5.7.1.p2, 2014-10-29
Report a bug

Session Timers in the Session Initiation Protocol (SIP)
RFC 4028

Document type: RFC - Proposed Standard (May 2005; Errata)
Document stream: IETF
Last updated: 2013-03-02
Other versions: plain text, pdf, html

IETF State: (None)
Consensus: Unknown
Document shepherd: No shepherd assigned

IESG State: RFC 4028 (Proposed Standard)
Responsible AD: Allison Mankin
Send notices to: <dean.willis@softarmor.com>, <rohan@cisco.com>

Network Working Group                                         S. Donovan
Request for Comments: 4028                                  J. Rosenberg
Category: Standards Track                                  Cisco Systems
                                                              April 2005

        Session Timers in the Session Initiation Protocol (SIP)

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document defines an extension to the Session Initiation Protocol
   (SIP).  This extension allows for a periodic refresh of SIP sessions
   through a re-INVITE or UPDATE request.  The refresh allows both user
   agents and proxies to determine whether the SIP session is still
   active.  The extension defines two new header fields:
   Session-Expires, which conveys the lifetime of the session, and
   Min-SE, which conveys the minimum allowed value for the session
   timer.

Donovan & Rosenberg         Standards Track                     [Page 1]
RFC 4028                     Session Timer                    April 2005

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Overview of Operation  . . . . . . . . . . . . . . . . . . .   4
   4.  Session-Expires Header Field Definition  . . . . . . . . . .   6
   5.  Min-SE Header Field Definition . . . . . . . . . . . . . . .   8
   6.  422 Response Code Definition . . . . . . . . . . . . . . . .   8
   7.  UAC Behavior . . . . . . . . . . . . . . . . . . . . . . . .   9
       7.1.  Generating an Initial Session Refresh Request  . . . .   9
       7.2.  Processing a 2xx Response  . . . . . . . . . . . . . .   9
       7.3.  Processing a 422 Response  . . . . . . . . . . . . . .  11
       7.4.  Generating Subsequent Session Refresh Requests . . . .  11
   8.  Proxy Behavior . . . . . . . . . . . . . . . . . . . . . . .  12
       8.1.  Processing of Requests . . . . . . . . . . . . . . . .  13
       8.2.  Processing of Responses  . . . . . . . . . . . . . . .  14
       8.3.  Session Expiration . . . . . . . . . . . . . . . . . .  15
   9.  UAS Behavior . . . . . . . . . . . . . . . . . . . . . . . .  15
   10. Performing Refreshes . . . . . . . . . . . . . . . . . . . .  17
   11. Security Considerations  . . . . . . . . . . . . . . . . . .  18
       11.1. Inside Attacks . . . . . . . . . . . . . . . . . . . .  18
       11.2. Outside Attacks  . . . . . . . . . . . . . . . . . . .  19
   12. IANA Considerations  . . . . . . . . . . . . . . . . . . . .  19
       12.1. IANA Registration of Min-SE and Session-Expires
             Header Fields  . . . . . . . . . . . . . . . . . . . .  19
       12.2. IANA Registration of the 422 (Session Interval Too
             Small) Response Code . . . . . . . . . . . . . . . . .  20
       12.3. IANA Registration of the 'timer' Option Tag  . . . . .  20
   13. Example Call Flow  . . . . . . . . . . . . . . . . . . . . .  20
   14. Acknowledgements . . . . . . . . . . . . . . . . . . . . . .  25
   15. References . . . . . . . . . . . . . . . . . . . . . . . . .  25
       15.1. Normative References . . . . . . . . . . . . . . . . .  25
       15.2. Informative References . . . . . . . . . . . . . . . .  26
   Authors' Addresses. . . . . . . . . . . . . . . . . . . . . . . . 26
   Full Copyright Statement. . . . . . . . . . . . . . . . . . . . . 27

1.  Introduction

   The Session Initiation Protocol (SIP) [2] does not define a keepalive
   mechanism for the sessions it establishes.  Although the user agents
   may be able to determine whether the session has timed out by using
   session specific mechanisms, proxies will not be able to do so.  The
   result is that call stateful proxies will not always be able to
   determine whether a session is still active.  For instance, when a
   user agent fails to send a BYE message at the end of a session, or
   when the BYE message gets lost due to network problems, a call
   stateful proxy will not know when the session has ended.  In this
   situation, the call stateful proxy will retain state for the call and

Donovan & Rosenberg         Standards Track                     [Page 2]
RFC 4028                     Session Timer                    April 2005

   has no method to determine when the call state information no longer

[include full document text]