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
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.
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].
+-----+ { } +----------+ [ 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:
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.
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.
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
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.
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.
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.
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.
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:
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:
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.
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].
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.
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.