MMUSIC Working Group W. Marshall Internet Draft K. Ramakrishnan Document: AT&T Category: Informational E. Miller G. Russell CableLabs B. Beser M. Mannette K. Steinbrenner 3Com D. Oran Cisco J. Pickens Com21 P. Lalwaney J. Fellows General Instrument D. Evans Lucent Cable K. Kelly NetSpeak F. Andreasen Telcordia June, 1999 Integration of Call Authorization and Call Signaling for IP Telephony Status of this Memo This document is an Internet-Draft and is NOT offered in accordance with Section 10 of RFC2026, and the author does not provide the IETF with any rights other than to publish as an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." DCS Group Category Informational - Expiration 12/31/99 1 Integration of Call Authorization and Signaling June 1999 The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. The distribution of this memo is unlimited. It is filed as , and expires December 31, 1999. Please send comments to the authors. 1. Abstract This document describes the need for call authorization and offers a mechanism for call authorization that can be used for admission control and against denial of service attacks. 2. Conventions used in this document 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 RFC-2119 [1]. 3. Background and Motivation The current IP Telephony systems consider a perfect world in which there is unlimited amount of bandwidth and network layer QoS comes free. The reality is that bandwidth is neither unlimited nor free. As a consequence, it is possible that a single berserk IP telephony device can cause denial of service to a significant number of others. In some networks, charges for QoS might be paid by one end only, instead of sharing the connection costs. In such cases it is important to synchronize allocation and release of network resources to prevent fraud. 4. Overview Call authorization functionality is achieved through utilization of two network elements discussed in the Distributed Call Signalling Architecture submission [2]: An Edge Router implementing a Gate, and a DCS-Proxy implementing a Gate Controller. A Gate is located in an edge device (ER) that controls the packets coming from the Client The Gate might be in a router or any other network element that can control the IP flows selectively and can be considered to be an IP level classifier and filter. The unauthorized flows may either be dropped or sent to it's the destination using DCS Group Category Informational - Expiration 12/31/99 2 Integration of Call Authorization and Signaling June 1999 best effort service. The authorized flows go through the Gate, which is actually an IP level classifier. It is expected that the handling of unauthorized flows would depend on policies of the service provider. Control of the Gate is done by a DCS-Proxy (DP) that performs the call authorization function. During call signaling, DP authorizes the call and then sends a Gate-Setup message to ER, and receives a token (GateID) in the response from the ER. The DCS-Proxy uses this GateID in the call signaling messages. The Gate-Setup message includes the bandwidth and QoS characteristics for which the Client is authorized, along with other end-point information. When the Client is ready to send the media stream to the other end- point, it first sends a Commit message, which includes the GateID it received from its DCS-Proxy. When the ER receives the Commit, it retrieves the Gate-Setup that was previously received for the call, and checks the authorization. If successful, then it opens the Gate for the IP flow, which is defined by the end-point information and QoS characteristics, and returns a Success message. From that moment on, the Client owns the resources until it releases them. Upon opening the Gate, the media flow can reach its destination with the requested QoS. If both Edge Routers support call authorization, then Gate- Coordination enables synchronization of Commit and Release operations using Commit-sync and Release-sync messages, respectively. The synchronization is very useful when only one side is paying for the call. It makes sure that the Commit operation does not succeed until the other end Commits, and a Release ensures that the other end also Releases the Gate. Throughout this document the term Multimedia Terminal Adapter (MTA) will be used interchangeably with Client to represent the end-points of the communication. 5. Basic Call Flow Figure 1 presents a high-level overview of a basic MTA-to-MTA call flow with Call Authorization. Although it is possible to have partial call authorization control, it is assumed that both endpoints need to be authorized. It is assumed that the DCS-Proxy has a previously established authentication relationship with the MTA. When a user goes off-hook and dials a telephone number, the originating Client (MTA-o) collects the dialed digits and sends the initial INVITE message to its DP. DCS Group Category Informational - Expiration 12/31/99 3 Integration of Call Authorization and Signaling June 1999 MTA-o MTA-t | DP-o DP-t | | INVITE | INVITE | | |------------------->|-------------->| INVITE+ | | | | Gate-Location | | | |---------------------->| | | | | | | | ER-t | | | | | | | ER-o | | | | | | | |Gate-Setup | | | |Gate-Setup | |-------------->| | | |<--------------| | | | | | | | | | | | | | | | | | | | | | | 200 OK + | | | | | Gate-Location | 200 OK | 200 OK / | |<-------------------|<--------------|<----------------------| | | ACK / | |----------------------------------------------------------->| | | / | | \ / | | \ ER-t | | \ | | | ER-o | Commit | | | |<--------------| | Commit | | | |----------->| Admission| | | |Admission Check| | | |Check | | | | | | | | Commit-Sync | | | |------------------------------>| Success | | | |-------------->| | | {Gate} | | | Commit-Sync {Gate} | | Success |<---------------------------{Gate} | |<-----------| {Gate} | | {Gate} {Gate} | | {Gate} Media Stream {Gate} | |<========{Gate}=========================={Gate}============>| | {Gate} {Gate} | | Release {Gate} {Gate} | |----------->| Release-Sync {Gate} | | |------------------------------>| | | | BYE | | |----------------------------------------------------------->| | | | Release | | | |<--------------| | | Release-Sync | | | |<------------------------------| | Figure 1 DCS Group Category Informational - Expiration 12/31/99 4 Integration of Call Authorization and Signaling June 1999 The originating DCS-Proxy (DP-o) authenticates MTA-o and f o r wards the INVITE message to the proper destination proxy, including the local Gate-Location information that will be needed for synchronization. When the INVITE message is received at the destination DCS-Proxy (DP-t), DP-t strips off and stores the Originating Gate-Location information, then includes terminating gate information in the INVITE message and sends the INVITE message to MTA-t. Assuming that the call is not forwarded, MTA-t sends a 200 OK response to the initial INVITE, forwarded back to MTA-o through DP- t. Included in this response is the final negotiated bandwidth requirement for the connection. DP-t, upon receiving the 200 OK message from MTA-t, adds the local Gate-Location information (which is necessary for synchronization) and forwards the 200 OK message to DP-o. DP-t, now having sufficient information regarding the end-points, bandwidth and characteristics of the media exchange, sends a Gate-Setup message to ER-t. When DP-o receives the 200 OK, it has sufficient information regarding the end-points, bandwidth and characteristics of the media exchange. It initiates a Gate-Setup message to ER-o. Before sending the Media stream, MTA-o and MTA-t each commit the call by sending a Commit message to their respective Edge Routers. ER-o, upon reception of the Commit message checks the admissibility for the call and if successful, it returns a Success message and sends the Commit-Sync message to ER-t. ER-o starts a Sync-Timer. If ER-o does not receive Commit-Sync message from ER-t before the timer expires, it releases the Gate. Once MTA-o receives the Success message it starts to send the Media stream. Either party can terminate the call. A Client that detects an on- hook sends a Release message to its ER, and sends a SIP BYE message to the remote Client. On receipt of a Release message, the ER deletes the Gate and sends a Release-Sync message to the corresponding ER. When ER receives the Release-Sync message it releases the Gate. 6. Changes to SIP to Support Authorization This document extends SIP in support of an authorization scheme in which network resources must be authorized and admitted before they can be used. The extension defined allows network resources to be controlled by the DCS-Proxy. DCS Group Category Informational - Expiration 12/31/99 5 Integration of Call Authorization and Signaling June 1999 The following syntax specification uses the augmented Backus-Naur Form (BNF) as described in RFC-2234 [3]. 6.1 SIP Header Extension: GATE-LOCATION The Gate-location general header conveys the location and identifier of the local ER to a SIP Client. This information is used for authorizing the Media Stream. GATE-LOCATION = "GateLocation" ":" hostport "/" Gate-ID Gate-ID = 1*alphanum 6.2 SIP Profile This section defines a SIP [RFC 2543] profile for usage in DCS compatible systems from the point of view of Authorizing Calls. 6.2.1. Originating Client The INVITE messages that involve destination changes and resource increases must be authorized and these messages must be sent through the DCS-Proxy. The Client must send a Commit message to the Gate before it starts to utilize the network QoS. The Client MUST send the Commit message to the ER defined by the hostport, and MUST include in the message the value of GateID. The GateLocation header, containing Hostport and GateID information, is included in the 200 OK message sent by the DCS-Proxy. The Client MUST Release resources whenever the Media Stream is concluded. 6.2.2. Destination Client The destination Client receives the GateLocation, Hostport and GateID information included in the INVITE message, and it must store the information. The Client MUST send a Commit message to the Gate before it starts to send the Media Stream. The Client MUST send the Commit message to the ER defined by the GateLocation:Hostport and MUST also include GateID in the message. The Client MUST send a Release message whenever the Media Stream is concluded. 6.2.3. Originating DP When an INVITE is received, the DP MUST insert its local Gate- Location header and then MUST forward the INVITE to the proper destination. DCS Group Category Informational - Expiration 12/31/99 6 Integration of Call Authorization and Signaling June 1999 When 200 OK is received with remote Gate-Location information the DP MUST strip and store the information in persistent storage. DP MUST construct and send a Gate-Setup message containing information regarding bandwidth and end-points. DP MUST include the GateID information in the 200 OK message and then MUST send it to the originating MTA. 6.2.4. Destination DP When an INVITE is received with remote Gate-Location information, the DP MUST save the Gate-Location information and not include this information in the message forwarded on to MTA-t. When the 200 OK response to this INVITE is received, the DP MUST insert its local Gate-Location information using the Gate-Location header and then MUST forward the 200 OK to the proper destination. The DP MUST then construct and send a Gate-Setup message containing information regarding bandwidth and end-points to ER-t. 7. Edge Router Functionality Upon reception of a Commit Message the ER MUST check the authorization status. If successful the ER MUST return Success, else it MUST return Failure. At the same time, the ER MUST send the Commit-Sync message to the remote ER and start a timer. If it does not receive the respective Commit-Sync from the remote ER before the timer expires, it MUST delete the Gate just opened. When a Release message is received, the ER must delete the Gate and send Release-Sync message to the remote ER. When a Release-Sync is received the ER MUST delete the Gate. 8. Advantages of the Proposed Approach The use of call authorization makes it possible to control the utilization of network resources. This in turn makes IP Telephony more robust against denial of service attacks and various kinds of service frauds. Using the Gate concept the service provider can control the number of flows, the amount of bandwidth and even the end-point reached making the IP Telephony system dependable even in the existence of scarce resources. 9. Security Considerations Gate coordination messages sent between Edge Routers might easily be forged, and therefore must be sent encrypted using a shared key. 10. References DCS Group Category Informational - Expiration 12/31/99 7 Integration of Call Authorization and Signaling June 1999 1 Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997 2 DCS Group, "Architectural Considerations for Providing Carrier Class Telephony Services Utilizing SIP-based Distributed Call Control Mechanisms", draft-dcsgroup-mmusic-arch-00.txt, June 1999. 3 Crocker, D. and Overell, P.(Editors), "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, Internet Mail Consortium and Demon Internet Ltd., November 1997 11. Acknowledgments The Distributed Call Signaling work in the PacketCable project is the work of a large number of people, representing many different companies. The authors would like to recognize and thank the following for their assistance: John Wheeler, Motorola; David Boardman, Daniel Paul, Arris Interactive; Bill Blum, Jon Fellows, Jay Strater, Jeff Ollis, Clive Holborow, General Instruments; Doug Newlin, Guido Schuster, Ikhlaq Sidhu, 3Com; Jiri Matousek, Bay Networks; Farzi Khazai, Nortel; John Chapman, Bill Guckle, Cisco; and Chuck Kalmanek, Doug Nortz, John Lawser, James Cheng, and Partho Mishra, AT&T. 12. Author's Addresses Bill Marshall AT&T Florham Park, NJ 07932 Email: wtm@research.att.com K. K. Ramakrishnan AT&T Florham Park, NJ 07932 Email: kkrama@research.att.com Ed Miller CableLabs Louisville, CO 80027 Email: E.Miller@Cablelabs.com Glenn Russell CableLabs Louisville, CO 80027 DCS Group Category Informational - Expiration 12/31/99 8 Integration of Call Authorization and Signaling June 1999 Email: G.Russell@Cablelabs.com Burcak Beser 3Com Rolling Meadows, IL 60008 Email: Burcak_Beser@3com.com Mike Mannette 3Com Rolling Meadows, IL 60008 Email: Michael_Mannette@3com.com Kurt Steinbrenner 3Com Rolling Meadows, IL 60008 Email: Kurt_Steinbrenner@3com.com Dave Oran Cisco Acton, MA 01720 Email: oran@cisco.com John Pickens Com21 San Jose, CA Email: jpickens@com21.com Poornima Lalwaney General Instrument San Diego, CA 92121 Email: plalwaney@gi.com Jon Fellows General Instrument San Diego, CA 92121 Email: jfellows@gi.com Doc Evans Lucent Cable Communications Westminster, CO 30120 Email: n7dr@lucent.com Keith Kelly NetSpeak Boca Raton, FL 33587 Email: keith@netspeak.com Flemming Andreasen Telcordia Piscataway, NJ Email: fandreas@telcordia.com DCS Group Category Informational - Expiration 12/31/99 9 Integration of Call Authorization and Signaling June 1999 Full Copyright Statement "Copyright (C) The Internet Society (date). 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 implmentation 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." Expiration Date This memo is filed as , and expires December 31, 1999. DCS Group Category Informational - Expiration 12/31/99 10