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: [email protected]











































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]