Network Working Group                                          I. Goyret
Request for Comments: 3573                           Lucent Technologies
Category: Standards Track                                      July 2003


                   Signaling of Modem-On-Hold status
                  in Layer 2 Tunneling Protocol (L2TP)

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 (2003).  All Rights Reserved.

Abstract

   The Layer 2 Tunneling Protocol (L2TP) defines a mechanism for
   tunneling Point-to-Point Protocol (PPP) sessions.  It is common for
   these PPP sessions to be established using modems connected over the
   public switched telephone network.

   One of the standards governing modem operation defines procedures
   that enable a client modem to put the call on hold and later, re-
   establish the modem link with minimal delay and without having to
   redial.  While the modem call is on hold, the client phone line can
   be used to place or receive other calls.

   The L2TP base protocol does not provide any means to signal these
   events from the L2TP Access Controller (LAC), where the modem is
   physically connected, to the L2TP Network Server (LNS), where the PPP
   session is handled.

   This document describes a method to let the LNS know when a client
   modem connected to a LAC has placed the call on hold.











Goyret                      Standards Track                     [Page 1]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
       1.1.  Specification of Requirements. . . . . . . . . . . . . .  3
       1.2.  Terminology. . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Protocol Operation . . . . . . . . . . . . . . . . . . . . . .  3
       2.1.  Typical Modem on Hold Usage Scenario . . . . . . . . . .  4
       2.2.  Capability Negotiation . . . . . . . . . . . . . . . . .  4
       2.3.  Modem On-Hold. . . . . . . . . . . . . . . . . . . . . .  5
       2.4.  Modem Online . . . . . . . . . . . . . . . . . . . . . .  5
   3.  New Control Messages . . . . . . . . . . . . . . . . . . . . .  5
       3.1.  Modem-Status (MDMST) . . . . . . . . . . . . . . . . . .  5
   4.  New Attribute Value Pairs. . . . . . . . . . . . . . . . . . .  6
       4.1.  Modem On-Hold Capable AVP. . . . . . . . . . . . . . . .  6
       4.2.  Modem On-Hold Status AVP . . . . . . . . . . . . . . . .  6
   5.  Sample LNS Actions . . . . . . . . . . . . . . . . . . . . . .  7
   6.  IANA Considerations. . . . . . . . . . . . . . . . . . . . . .  8
   7.  Security Considerations. . . . . . . . . . . . . . . . . . . .  9
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
       8.1.  Normative References . . . . . . . . . . . . . . . . . .  9
       8.2.  Informative References . . . . . . . . . . . . . . . . .  9
   9.  Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 10
   Appendix A: Vendor Specific Assignments. . . . . . . . . . . . . . 11
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12
   Full Copyright Statement . . . . . . . . . . . . . . . . . . . . . 13

1.  Introduction

   The Layer 2 Tunneling Protocol (L2TP) [RFC2661] defines a general
   purpose mechanism for tunneling Point-to-Point Protocol (PPP) [STD51]
   sessions over various media.  By design, the operation of L2TP is
   insulated from the details of the media from which the PPP session
   originated.

   It is common for PPP sessions to be established using modems
   connected over the public switched telephone network.  The ITU-T
   Recommendation V.92 [V92] is one of the standards governing modem
   operation and it defines procedures that enable a client modem to put
   the call on hold and later, re-establish the modem link without
   having to redial.  While the modem call is on hold, the client phone
   line can be used for another phone call.

   The L2TP base protocol does not provide any means to signal these
   events from the L2TP Access Controller (LAC), where the modem is
   physically connected, to the L2TP Network Server (LNS), where the PPP
   session is handled.  It may be desirable for this information (which
   is available only on the LAC) to be provided to the LNS.




Goyret                      Standards Track                     [Page 2]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


   This document provides additional L2TP AVPs and control messages that
   may be used to communicate some modem information from the LAC to the
   LNS.  However, it does not define what, if anything, the LNS should
   do with this information.  A sample of the possible actions that an
   LNS may consider are listed in section 5.

1.1.  Specification of Requirements

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14, RFC 2119
   [BCP14].

1.2.  Terminology

   Definition of terms used in this document may be found in the L2TP
   Protocol document [L2TP].

2.  Protocol Operation

   The typical dial in topology looks like this:

   +-----+         {      }     +----------+     [   IP    ]
   |     |-[M]-----{ PSTN }-----[SM]       |.....[ network ]
   +-----+         {      }     +----------+     [         ]
   Remote                           NAS
   System

   M is the client modem and may be an integral part of the Remote
   System.  If this modem implements V.92, it can ask the server modem
   SM (a part of the NAS) whether the call can be placed on-hold for
   some period of time.

   If the server modem agrees, the client modem can signal the PSTN to
   place the call on-hold (usually, a flash hook).  The user at the
   remote system can then use the same POTS line where the client modem
   is connected to make or receive another call.

   In the above scenario, the server modem module can notify the rest of
   the NAS of these events via its usual signaling mechanism.  The NAS
   layers can then act on this information as desired.  See section 5.
   for a sample list of possible actions.









Goyret                      Standards Track                     [Page 3]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


   In the case of L2TP, this document looks at this particular topology:

  +-----+       {      }   +-----+   [ packet  ]   +-----+   [  home   ]
  |     |-[M]---{ PSTN }---[SM]  |...[ network ]...|     |...[ network ]
  +-----+       {      }   +-----+   [         ]   +-----+   [         ]
  Remote                     LAC                     LNS
  System

   If the LAC implements the functionality described here, it can signal
   to the LNS when the client modem has gone on-hold and when it comes
   back online.

   This document does not define what, if anything, the LNS should do
   with this information.  A sample of the possible actions that an LNS
   MAY consider are listed in section 5.  However, the LNS MUST NOT stop
   processing otherwise valid data packets arriving from the LAC,
   regardless of the current state of the modem on-hold indications.

2.1.  Typical Modem on Hold Usage Scenario

   A user connects to his Internet service provider with a V.92-capable
   modem.  He then starts downloading a big file which will take several
   minutes to complete.

   While the file is being downloaded, a friend calls him.  If the user
   has call waiting enabled, his modem can let him know of the incoming
   call and he can choose to either pick up the incoming call or reject
   it.  Let's say he chooses to pick up the phone to talk to his friend,
   for example because he recognized the caller's phone number.

   Before the user picks up his phone, he tells his modem to go on hold
   and switch to the incoming call (usually signaled with a "flash-
   hook").  His modem will then notify the server modem (attached to the
   LAC) that it is about to go on hold.  If the server modem agrees, the
   client performs a flash hook so the user can talk to his friend.

   After talking to his friend, the user let's his modem know that it
   can return to the original call (where the server modem has been
   patiently waiting).  After another flash hook, the modems are
   connected again and the download can continue.

2.2.  Capability Negotiation

   A LAC MUST NOT send a Modem Status (MDMST) control message to an LNS
   that has not indicated the capability of processing such control
   messages.  This capability is indicated by adding a "Modem On-Hold
   Capable" AVP on the SCCRQ or SCCRP sent to the LAC when the tunnel is
   brought up.



Goyret                      Standards Track                     [Page 4]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


2.3.  Modem On-Hold

   When the client modem requests the LAC to go on-hold, the LAC SHOULD
   send a MDMST control message to the LNS with the H (Hold) field set
   to 1 and the negotiated maximum on-hold time.

2.4.  Modem Online

   When the client modem returns back online after having gone on-hold,
   the LAC SHOULD send a MDMST control message to the LNS with the H
   (Hold) field set to 0.  The LAC MUST send this message if it has
   previously sent a MDMST message with the H (Hold) field set to 1.

3.  New Control Messages

   The following control messages MUST be sent with the M-bit in the
   Message Type AVP set to 0 to prevent interoperability issues.

   Messages with unknown values in the Message Type AVP with the M-bit
   set to 0 should be ignored by compliant L2TP peers [RFC2661].

3.1.  Modem-Status (MDMST)

   The Modem-Status (MDMST) control message is used by the LAC to notify
   the LNS when the client modem on-hold status changes.

   The MDMST control message MUST NOT be sent to peers that have not
   included the "Modem On-Hold Capable" AVP in their Start-Control-
   Connection-Request (SCCRQ) or Start-Control-Connection-Reply (SCCRP)
   control messages.

   Furthermore, the MDMST control message can only be sent after session
   establishment is successful (i.e., after the LAC has sent either an
   Incoming-Call-Connected (ICCN) or an Outgoing-Call-Connected (OCCN)
   control message), and before the session ends from the LAC's point of
   view (i.e., before the LAC has sent or received a Call-Disconnect-
   Notify (CDN) control message).

   Note that due to protocol race conditions, it is possible for a LAC
   to send a MDMST control message about the same time that the LNS is
   sending a CDN.  An LNS MUST ignore MDMST control messages received
   after sending a CDN.

   An LNS MUST ignore redundant modem status reports.







Goyret                      Standards Track                     [Page 5]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


   This control message is encoded as follows:

      Vendor ID = 0 (IETF)
      Attribute Type = 17

   The following AVPs MUST be present in the MDMST control message:

      Message Type
      Modem On-Hold Status

   The M-bit on the Message Type AVP for this control message MUST be
   set to 0.

4.  New Attribute Value Pairs

   The following sections contain a list of the new L2TP AVPs defined in
   this document.

4.1.  Modem On-Hold Capable AVP

   The Modem On-Hold Capable AVP, Attribute Type 53, indicates that the
   sender (an LNS) is capable of receiving MDMST control messages. This
   AVP MUST be included on the SCCRQ or SCCRP control messages to
   indicate that the sender implements this specification.

   This AVP has no Attribute Value field.

   This AVP MAY be hidden (the H-bit on the AVP header MAY be 0 or 1).
   The M-bit for this AVP MUST be set to 0.  The Length is 6.

4.2.  Modem On-Hold Status AVP

   The Modem On-Hold Status AVP, Attribute Type 54, indicates the
   current on-hold status of the client modem.  This AVP MUST be present
   on the MDMST control message.

   The Attribute Value field for this AVP has the following format:

       0                   1
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |H|      reserved       |Timeout|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The Modem On-Hold Status AVP is a 16-bit quantity, containing two
   fields that indicate whether the client modem has placed the call
   on-hold and the maximum amount of time that the call is allowed to
   remain on-hold.



Goyret                      Standards Track                     [Page 6]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


   The H (Hold) field is a single bit that indicates whether the client
   modem has placed the call on-hold.  If the H (Hold) field is 1, the
   client modem is on-hold.  If the H (Hold) field is 0, the client
   modem is back online.

   The Timeout field is a 4 bits quantity that indicates the negotiated
   maximum amount of time that the call can remain on-hold.  It is valid
   only if the H (Hold) field is 1 and MUST be ignored if the H (Hold)
   field is 0.  The values for the Timeout field are defined in [V92]
   and they are reproduced here for easy reference:

      Bits   Decimal     Meaning
      ----   -------     -------
      0000      0        Reserved
      0001      1        10 seconds
      0010      2        20 seconds
      0011      3        30 seconds
      0100      4        40 seconds
      0101      5        1 minute
      0110      6        2 minutes
      0111      7        3 minutes
      1000      8        4 minutes
      1001      9        6 minutes
      1010     10        8 minutes
      1011     11        12 minutes
      1100     12        16 minutes
      1101     13        No limit
      1110     14        Reserved
      1111     15        Reserved

   Bits 1 through 11 are reserved.  These bits MUST be set to 0 when
   sending this AVP and MUST be ignored on reception.

   This AVP MAY be hidden (the H-bit on the AVP header MAY be 0 or 1).
   The M-bit for this AVP MUST be set to 0.  The Length is 8.

5.  Sample LNS Actions

   The specific actions taken by an LNS upon receipt of a Modem On-Hold
   Status AVP are implementation dependent.  This document does not
   mandate what, if anything, the LNS should do with this information.

   The choice of actions taken by the LNS may have an impact on higher
   layer protocols.  For example, TCP connections and other connection-
   oriented applications may timeout or disconnect during the on-hold
   time.  The impact that those choices may have on these or other
   protocols is not addressed by this document.




Goyret                      Standards Track                     [Page 7]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


   The following list is a sample of possible actions that an LNS
   implementation might consider.  Note that some of these actions are
   not really alternatives, as some of the possibilities preclude
   others.

   *  Temporarily stop polling protocols such as LCP Echo Requests, Link
      Quality Monitoring (LQM), Multilink PPP (MP), etc.
   *  Drop data packets directed to the now on-hold remote client.
   *  Start a new accounting session, to account for the on-hold time.
   *  Stop or hold accounting until the modem returns online again.
   *  Start a separate time accounting for the time that the modem is on
      hold.

   Here are a few things that an LNS should probably NOT do:

   *  Buffer data packets directed to the now on-hold remote client.
      Reason: How many data packets should be buffered? What would be
              the impact on higher layer protocols such as TCP?  What
              would be the impact caused by the delay introduced when
              the client returns online again?

   *  Answer TCP keepalives in lieu of the client.
      Reason: It may interfere with TCP's recovery once the client
              returns online.

   *  Stop processing otherwise valid data packets from the client.
      Reason: There is a race condition between the notification of
              the modem returning online and the first packet from the
              client because they are delivered on independent channels.
              Dropping valid client packets may lead to a slower
              recovery after returning online due to the forced retries.

6.  IANA Considerations

   This document requires one new L2TP "Message Type" number to be
   assigned by IANA:

      17, Section 3.1., Modem Status

   It also requires two new "AVP Attributes" to be assigned by IANA:

      53, Section 4.1., Modem On-Hold Capable AVP
      54, Section 4.2., Modem On-Hold Status AVP

   The Modem On-Hold Status AVP contains a set of reserved bits (bits 1
   through 11) that are assigned by IANA through IETF Consensus [BCP26].





Goyret                      Standards Track                     [Page 8]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


7.  Security Considerations

   The integrity and confidentiality of the method described in this
   document relies on the underlying L2TP security mechanisms.  The new
   control message and AVPs are intended to indicate when a client modem
   has gone on-hold and cannot receive data.  It does not define what,
   if anything, the LNS should do with this information.  A sample of
   possible actions that an LNS may consider are listed in section 5.

   It is believed that the defined extension does not provide
   information that would be useful to an attacker, and as such, it
   should not pose a threat to system security.

   If desired, the new AVPs MAY be hidden as described in section 4.3 of
   [RFC2661].

8.  References

8.1.  Normative References

   [RFC2661] Townsley, W., Valencia, A., Rubens, A., Pall, G., Zorn, G.
             and B. Peter, "Layer Two Tunneling Protocol (L2TP)", RFC
             2661, August 1999.

   [BCP14]   Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [BCP26]   Narten, T. and H. Alvestrand, "Guidelines for Writing an
             IANA Considerations Section in RFCs", BCP 26, RFC 2434,
             October 1998.

   [V92]     ITU-T Recommendation V.92, "Enhancements to Recommendation
             V.90", November 2000

8.2.  Informative References

   [BCP9]    Bradner, S., "The Internet Standards Process -- Revision
             3", BCP 9, RFC 2026, October 1996.

   [STD51]   Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51,
             RFC 1661, July 1994.










Goyret                      Standards Track                     [Page 9]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


9.  Acknowledgments

   Josh Bailey, Emmanuel Hislen and Marc Bongartz of Lucent Technologies
   provided invaluable help in reviewing this document and its
   implementation.

   Mark Townsley of Cisco Systems provided helpful guidance.

   Thomas Narten of IBM Corporation provided invaluable insights and
   suggestions.









































Goyret                      Standards Track                    [Page 10]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


Appendix A:  Vendor Specific Assignments

   THIS SECTION IS NOT NORMATIVE

   Early implementations of this specification used vendor-specific
   values for the new control message and AVPs.  This appendix describes
   those initial vendor-specific assignments for historical reference
   only.

   The following table shows the vendor-specific assignments:

                               Vendor  Attr  Attr
                                 ID    Type  Value     Equivalent to
                               ------  ----  -----     -------------
   Control message:
      Modem-Status              529      0     2       Section 3.1.

   AVP:
      Modem On-Hold Capable     529      2    none     Section 4.1.
      Modem On-Hold Status      529      3    [..]     Section 4.2.































Goyret                      Standards Track                    [Page 11]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


Author's Address

   Ignacio Goyret
   Lucent Technologies
   1801 Harbor Bay Parkway
   Alameda, CA 94502

   EMail: igoyret@lucent.com











































Goyret                      Standards Track                    [Page 12]


RFC 3573       Signaling of Modem-On-Hold status in L2TP       July 2003


Full Copyright Statement

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.



















Goyret                      Standards Track                    [Page 13]