IPTEL Working Group D. Hampton Internet Draft D. Oran draft-ietf-iptel-glp-tbgp-01.txt H. Salama June 1999 D. Shah Expires December 1999 Cisco Systems The IP Telephony Border Gateway Protocol (TBGP) Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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." 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. NOTE Cisco has a patent pending that may relate to this proposed standard. If this proposed standard is adopted by IETF and any patents issue to Cisco or its subsidiaries with claims that are necessary for practicing this standard, any party will be able to obtain a license from Cisco to use any such patent claims under openly specified, reasonable, non-discriminatory terms to implement and fully comply with the standard. 1. Abstract This document presents the IP Telephony Border Gateway Protocol (TBGP). TBGP is an inter-domain protocol, for routing voice calls through the IP network towards their destinations, which may be inside the IP network, IP destinations, or outside it, PSTN destinations. TBGP's operation is independent of any VoIP call signaling protocols (H.323, SIP, ...), but it can serve as the call routing protocol for any of these signaling protocols. TBGP is based on the Border Gateway Protocol 4 (BGP-4). 2. Introduction The IP Telephony Border Gateway Protocol (TBGP) is an inter-domain call routing protocol. The primary function of a TBGP speaker in Hampton, Oran, Salama, Shah 1 Internet Draft TBGP June 1999 administrative domain A is to advertise to TBGP speakers in other administrative domains reachability information of: - PSTN destinations (black phones) via gateways in domain A, - IP destinations (e.g., H.323 terminals or SIP terminals) in domain A. TBGP also permits advertising egress gateway attributes (e.g. gateway capacity and cost) and IP path attributes. Advertising the reachability of PSTN destinations and locating gateways which can reach these destinations is the primary requirement of the Gateway Location Protocol (GLP) Framework [1]. On the other hand, advertising the reachability of IP destinations is a useful byproduct of TBGP. TBGP is based on the Border Gateway Protocol 4 (BGP-4) [2]. Both protocols use TCP as their transport protocol. TBGP uses the same set of messages as BGP for inter-peer communication. TBGP uses the Multiprotocol Extensions to BGP-4 [3], which permits carrying non- IPv4 address format, to advertise the reachability of E.164 addresses. However, further extensions are necessary to permit associating attributes with the advertised addresses. A TBGP advertisement is forwarded hop-by-hop from a TBGP speaker in one administrative domain to its peer TBGP speakers in neighboring administrative domains. A TBGP advertisement may be modified at each hop to: - reflect the characteristics of the path towards the advertised destinations, - enforce policies on the path being advertised. If a TBGP speaker receives multiple advertisements, each via a different path, for the same set of destinations, it applies a route selection algorithm to select only one advertisement to use for all calls towards these destinations. The TBGP speaker only forwards the selected advertisement to its peers in neighboring administrative domains. TBGP permits the aggregation of advertisements as they are propagated hop-by-hop through the IP network. For each TBGP attribute, an aggregation rule MUST be defined. A TBGP speaker maintains a call routing database for all reachable destinations in the network. When queried for a specific destination, a TBGP speaker looks up its call routing database and returns the next hop address on the call's route towards that destination. The next hop address may be either a proxy server or a gateway. Therefore, the originator of a call does not directly select the egress gateway for that call. Gateway selection, similar to route selection, is controlled by the administrative policies enforced in the different domains of the IP network. TBGP should be useful as the call routing protocol for any IP telephony signaling protocol, H.323 [4], SIP [5], ... etc. Therefore, TBGP's operation must be independent of any of these protocols. 3. Terminology Hampton, Oran, Salama, Shah 2 Internet Draft TBGP June 1999 User Agent: An entity with IP connectivity which interacts with the TBGP speaker to obtain call routing information. For example an H.323 terminal or a SIP terminal. The IP side of a gateway is a user agent. A proxy server can be represented as two user agents back to back. An H.323 gatekeeper may be a user agent, if it interacts with the TBGP speaker on behalf of the other H.323 components in its zones. TBGP Speaker or Call Route Server: An entity with IP connectivity which exchanges TBGP advertisements with its peers, in the same domain as well as in other domains, and constructs a database of all reachable destinations, both IP destinations and PSTN destinations, and the next hop for each destination/group of destinations. A TBGP Speaker may be coresident with a gateway, a proxy server, or some other IP telephony component, such as an H.323 gatekeeper. Internet Telephony Administrative Domain (ITAD): A set of networks or network components which are served by the same set of call route servers, and which are subject to the same call routing policy. The set of network components may, or may not, include any of the following: gateways, proxy servers, or user agents. An ITAD may contain one or more TBGP speakers. 4. Address Formats TBGP considers two addressing formats for Internet telephony destinations: E.164 numbers and IP addresses. Other addressing formats, such as domain names, may be considered in the future. E.164 numbers are usually used to address destinations in the PSTN, while IP addresses are used to address Internet telephony destinations in the IP network. However, TBGP does not make any assumptions regarding the location of the destination based on the address type assigned to it. For example, a destination with an E.164 address may reside inside the IP network, and vice versa. The IP addresses used for Internet telephony call routing have the same format as those used for layer 3 routing. However, we call them Layer 7 IP (L7IP) addresses to distinguish from the Layer 3 IP addresses. Since the GLP framework [1] discusses only reachability of telephone numbers, this draft will only consider E.164 numbers. TBGP's handling of L7IP addresses will be specified in a future draft. We assume that an address given to TBGP is a routable address, meaning it does not require any mappings or directory lookups. 5. Injecting Call Routing Information into TBGP There are multiple ways for injecting information about reachable destinations into TBGP: - A TBGP speaker may be manually configured with information about the reachability of a specific set of destinations. If Hampton, Oran, Salama, Shah 3 Internet Draft TBGP June 1999 these destinations reside in the PSTN, then part of the information MUST be the address(es) of the gateway(s) which can reach these destinations and optionally the gateway's attributes: capacity, cost, ... etc. - An Internet telephony component may dynamically inject/withdraw reachability information into/out of the TBGP speaker. The protocol for communicating such information depends on the type of the Internet telephony component and is outside the scope of this document. For example, a gateway may provide its TBGP speaker with a list of all E.164 prefixes it can reach and the attributes associated with each prefix. In another example, a gatekeeper may take responsibility for dynamically communicating reachability information about all H.323 terminals and gateways in its zones to its TBGP speaker. - TBGP is an inter-domain call routing protocol. A protocol may be needed for intra-domain call routing. In such a case, call routing information may be redistributed between the two call routing protocols at the TBGP speaker. 6. Interaction between User Agents and TBGP Speakers A user agent could be an Internet Telephony terminal, a gateway, or a proxy server. When given a routable address to call, the user agent queries the TBGP speaker for the best route to reach this destination. The TBGP speaker responds with the address of the next hop for routing the call towards its destination. The next hop may be a gateway, a proxy server, or the destination itself. Figure 1 illustrates how a call is routed hop-by-hop inter-domain towards its destination. ITAD1 ITAD2 ------------------ ------------------ | | | | | ---- ---- | | ---- ---- | | | UA | | TS1| | | | TS2| | PX | | | ---- ---- | | ---- ---- | | |-------|------------------------|--------| | | | / | | | /| | | | / | | | | / | | ------------------ / ------------------ / / --------- /---------- | | | TS: TBGP Speaker | | | UA: User Agent | | | PX: Proxy Server | | | GW: Gateway -------- | ---- | ---- | +1408* /_____| GW |--|--| TS3| | Hampton, Oran, Salama, Shah 4 Internet Draft TBGP June 1999 | ---- ---- | | | | | | | --------------------- ITAD3 Figure 1 When the user agent, UA, in administrative domain ITAD1 attempts to call destination +14081234567, which resides in the PSTN, it queries its TBGP speaker, TS1, for the best route. TS1 responds with the address of the proxy server, PX, in ITAD2 as the next hop. UA signals the call to PX which in turn queries its TBGP speaker, TS2, for the best route. TS2 responds with the address of the gateway, GW, in ITAD3. PX signals the call to GW which has a local entry for the E.164 prefix +1408*, and forwards the call to its PSTN destination. This document does not specify the user agent-to-TBGP speaker protocol. The remainder of this document is dedicated to the specifics of TBGP. 7. From BGP to TBGP TBGP utilizes a set of extensions for BGP-4 [2]. It uses the multiprotocol extensions which permit BGP to advertise reachability of address families other than IPv4, e.g., E.164 prefixes. A TBGP speaker is a BGP speaker configured to support the advertisement of E.164 prefixes. There is no auto-discovery in TBGP. The peers of a TBGP speaker are manually configured. Two peer TBGP speakers create a TCP connection for exchanging messages. All rules defined in [2] to govern the peer session, its state machine, and the communication between BGP peers apply as well to TBGP peers. Same as with a BGP-4 autonomous system (AS), a TBGP ITAD may include more than one TBGP speakers. TBGP peers residing in the same domain are internal peers, and communicate using intra-domain TBGP. On the other hand, TBGP peers residing in different ITADs are external peers, and communicate using inter-domain TBGP. TBGP is an inter- domain call routing protocol. The objective of intra-domain TBGP is to synchronize the call routing databases of internal TBGP peers. BGP-4 requires external peers to be physically adjacent. TBGP removes this restriction. Two peer TBGP speakers may be multiple layer 3 hops away from each other. When configuring a peer session between two BGP/TBGP speakers, the capability negotiation procedures specified in [6] are used to determine which address families each speaker supports. It is possible that two BGP/TBGP speakers support multiple address families over the same peer session. However, this will force each speaker to Hampton, Oran, Salama, Shah 5 Internet Draft TBGP June 1999 use a BGP AS number equal to TBGP's ITAD number. This may be a limitation for networks where the layer 3 AS topology and the ITAD topology are not identical. It is therefore recommended that two BGP/TBGP speakers use two separate peer sessions, the first for BGP, i.e. for exchanging IPv4 addresses, and the second for TBGP, i.e. for exchanging E.164 numbers. During capability negotiation for the first peer session the two speakers advertise support for IPv4 addresses only, and during capability negotiation for the second peer session the two speakers advertise support for E.164 numbers address family only. In order for the same two BGP/TBGP speakers to have two peer sessions between them. Each speaker shall use a different BGP identifier for each peer session (BGP identifier is specified in the OPEN message). Note: This is not connection collision (Section 6.8 of the BGP-4 [2], because the BGP/TBGP speaker is using two different identifiers. The ITAD topology (the inter-domain call routing topology) and the AS topology (the inter-domain layer 3 routing topology) should be completely independent from each other. The ITAD numbers and AS numbers should be independent of each other as well. The ITAD boundaries and AS boundaries are not required to coincide. In some scenarios, a single ITAD may contain multiple Ass. In other scenarios, a single AS may contain multiple ITADs. In yet other scenarios, and AS and an ITAD may completely overlap and have identical boundaries. Note: ITAD numbers will be assigned by IANA similar to AS numbers 8. Protocol Reliability TBGP runs on top of TCP [7]. TCP provides transport level reliability for TBGP. TCP's acknowledgment and flow control mechanisms are considered sufficient to meet TBGP's reliability requirements. In addition to running on top of TCP, when a TBGP speaker detects an error, either due to a state machine problem or due to reception of a corrupt message, it sends an error notification to its peer and closes the TCP connection with that peer immediately. 9. Protocol Messages TBGP defines the same set of messages defined by BGP-4. These messages are: - OPEN - UPDATE - NOTIFICATION - KEEPALIVE A complete specification of each message and the format of the common header can be found in Section 4 of BGP-4 [2]. Because TBGP is based on extensions to BGP-4, it uses the same finite state machine of BGP- Hampton, Oran, Salama, Shah 6 Internet Draft TBGP June 1999 4. Appendix A of [2] describes the BGP-4 state machine and the actions taken upon receipt of the various events. Below is a brief description of each message and its main functions. The OPEN message is sent immediately after the TCP connection has been established between the peer TBGP speakers. The OPEN message consists of the same fields defined for BGP-4. Its purpose is mutual authentication of the TBGP peers, exchanging information about each peer's ITAD, and capability negotiation between the peers. TBGP's KEEPALIVE message structure and usage is identical to BGP-4's KEEPALIVE message, and its purpose is to check the reachability of a TBGP peer. KEEPALIVE messages are exchanged periodically. TBGP defines a Hold Timer and negotiates its value when opening a connection between. If a peer's Hold Timer expires without receiving a KEEPALIVE message, or any other message, from its peer, it closes the connection. The NOTIFICATION message is sent when an error condition is detected. TBGP defines the same notification error codes defined in Section 4 of BGP-4 [2]. However, TBGP may define new error subcodes for the UPDATE message, in order to account for any new attributes which TBGP may define in the future. The UPDATE message is used to transfer call routing information between TBGP peers. The information in the UPDATE messages can be used to construct a graph describing the relationships of the various ITADs and the reachability of the different Internet telephony destination prefixes. The attributes TBGP uses to advertise/withdraw reachability information of E.164 destination prefixes are the same attributes proposed in the Multiprotocol Extensions for BGP-4 [3]. In addition, new attributes may be defined to advertise information that is specific to Internet telephony. The focus of this document is on transport and database synchronization issues. The basic attributes used by TBGP will be described in Appendix 1, A more complete discussion of TBGP Internet telephony attributes will be added to a future version of this draft. 10. Call Routing Information Bases (CRIB) Similar to BGP-4, a TBGP speaker's CRIB consists of three parts: a) Adj-CRIBs-In: The Adj-CRIBs-In store call routing information that have been learned from inbound UPDATE messages. Their contents represent routes that are available as an input to the Decision Process. b) Loc-CRIB: The Loc-CRIB contains the local call routing information that the TBGP speaker has selected by applying its local policies to the routing information contained in its Adj- CRIBs-In. Hampton, Oran, Salama, Shah 7 Internet Draft TBGP June 1999 c) Adj-CRIBs-Out: The Adj-CRIBs-Out store the information that the local TBGP speaker has selected for advertisement to its peers. The call routing information stored in the Adj-CRIBs-Out will be carried in the local TBGP speaker's UPDATE messages and advertised to its peers. 11. Synchronization of Peer CRIBs When a new peer session is configured between two TBGP speakers, each speaker creates a new Adj-CRIB-Out for its new peer and populates it with entries from the Loc-CRIB which it selects to advertise to that peer. The TBGP speaker then sends UPDATE messages corresponding to all entries in its Adj-CRIB-Out. This is the CRIB alignment phase. At its conclusion the CRIBs of both TBGP speakers will be aligned. After completion of the CRIB alignment, if a TBGP speaker's Adj-CRIB- Out corresponding to a peer speaker changes, the TBGP speaker sends UPDATE message(s) for these changes to its peer speaker. A single UPDATE message can contain multiple prefixes of call routes being withdrawn from service. However, an UPDATE message can advertise at most one new call route and its attributes. Multiple prefixes may share the same call route, and can therefore be advertised using a single UPDATE message. TBGP does not periodically send refresh messages for advertised call routes. A call routing entry remains in a TBGP speaker's CRIBs until it is explicitly withdrawn by the peer that advertised it. When a TBGP speaker closes its session with a peer, either gracefully or due to some error, all call routes learned from that peer are immediately deleted from the TBGP speakers CRIBs. BGP/TBGP defines two parameters which limit the rate of UPDATE messages a TBGP speaker sends. The MinRouteAdvertisementInterval determines the minimum amount of time that must elapse between two successive advertisements for the same destination prefix(es) from a TBGP speaker to its external peers. However, to achieve fast convergence, the MinRouteAdvertisementInterval does not apply for call routes received from internal peers, and also does not apply to withdrawn call routes. The second parameter, MINASOrginationInterval, determines the minimum amount of time that must elapse between successive advertisements of UPDATE messages that report changes within the advertising TBGP speaker's own ITADs. Note: TBGP initially uses the same values used by BGP-4 for MinRouteAdvertisementInterval and MINASOrginationInterval. However, in the future, separate values may need to be defined for BGP and TBGP. TBGP identifies a call routing entry by the destination prefix. The destination prefix is always the common element to search for when a Hampton, Oran, Salama, Shah 8 Internet Draft TBGP June 1999 TBGP speaker walks through its CRIBs to perform route selection or aggregation. 12. Intra-domain TBGP When a TBGP speaker receives an UPDATE from an internal peer, it is not permitted to forward it to other internal peers. The purpose of this restriction is to prevent intra-domain call routing loop. However, as a result, all internal peers must be configured in a full mesh topology to guarantee full synchronization of their CRIBs. This full mesh requirement does not scale when there is a large number of internal TBGP peers in an ITAD. Several alternate solutions have been proposed for this scaling problems. Example solutions are the use of route reflectors [8] or confederations [9]. The operation of route reflectors and confederations for TBGP is identical to their operation for BGP-4. Detailed descriptions of both methods are provided in [8] and [9]. 13. Security Considerations The same security considerations and mechanisms proposed for BGP-4 apply for TBGP. An MD5-based mechanism for mutual authentication of peer BGP/TBGP speakers is presented in [10]. Additional security provisions for peer authentication, end-to-end authentication or aggregation point-to-aggregation point authentication, message integrity, and message encryption are for further study. Appendix 1. TBGP Attributes This appendix discusses how TBGP utilizes the attributes already defined by BGP-4 [2] and its multiprotocol extensions [3]. There is clearly a need for defining new attributes to serve the specific requirements of Internet telephony call routing. A separate effort aimed at defining these new attributes [11] is taking place in parallel to this draft which focuses on the transport mechanism for Internet telephony call routing. The various BGP-4 attributes are listed below with a description of their usage in a TBGP context. A1.1 Multiprotocol Reachable NLRI Attribute, MP_REACH_NLRI: TBGP's uses the MP_REACH_NLRI attribute [3] to advertise the reachability of Internet telephony prefixes. It is defined as follows: +---------------------------------------------------------+ | Address Family Identifier (2 octets) | +---------------------------------------------------------+ | Subsequent Address Family Identifier (1 octet) | Hampton, Oran, Salama, Shah 9 Internet Draft TBGP June 1999 +---------------------------------------------------------+ | Length of Next Hop Network Address (1 octet) | +---------------------------------------------------------+ | Network Address of Next Hop (variable) | +---------------------------------------------------------+ | Number of SNPAs (1 octet) | +---------------------------------------------------------+ | Length of first SNPA(1 octet) | +---------------------------------------------------------+ | First SNPA (variable) | +---------------------------------------------------------+ | Length of second SNPA (1 octet) | +---------------------------------------------------------+ | Second SNPA (variable) | +---------------------------------------------------------+ | ... | +---------------------------------------------------------+ | Length of Last SNPA (1 octet) | +---------------------------------------------------------+ | Last SNPA (variable) | +---------------------------------------------------------+ | Network Layer Reachability Information (variable) | +---------------------------------------------------------+ Address Family Identifier: carries the address family of the prefixes in Network Layer Reachability Information field. For TBGP, the address family is E.164. Length of Next Hop Network Address: measured in octets. Network Address of Next Hop: the multiprotocol extensions [3] assumes that the next hop and the network layer reachability information are of the same address family. This is not true for TBGP. The next hop is either an IPv4 address or an IPv6 address. Since TBGP uses E.164 address family, we define two special E.164 prefixes and reserve them. The first prefix indicates that the remainder of the next hop field is an IPv4 address, and the second prefix indicates that the remainder of the next hop field is an IPv6 address. Note: How do we define such special E.164 prefixes? Who assigns E.164 prefixes? Network Layer Reachability Information: The E.164 destination prefixes being advertised. It is encoded as one or more 2-tuples of the form as defined in [3]. Subsequent Address Family Identifier, Number of SNPAs, Length of Nth SNPA, Nth SNPA: Irrelevant to TBGP. A1.2 Multiprotocol Unreachable NLRI Attribute, MP_UNREACH_NLRI: Hampton, Oran, Salama, Shah 10 Internet Draft TBGP June 1999 TBGP uses the MP_UNREACH_NLRI attribute [3] to advertise that certain prefix(es) are no longer reachable. The MP_UNREACH_NLRI attribute is defined in [3] as follows: +---------------------------------------------------------+ | Address Family Identifier (2 octets) | +---------------------------------------------------------+ | Withdrawn Routes (variable) | +---------------------------------------------------------+ Address Family Identifier: TBGP uses E.164. Withdrawn Routes: The E.164 destination prefixes being withdrawn. A1.3 Use of Existing BGP-4 Attributes and other UPDATE Message Fields The UPDATE message consists of the following fields: +-----------------------------------------------------+ | Unfeasible Routes Length (2 octets) | +-----------------------------------------------------+ | Withdrawn Routes (variable) | +-----------------------------------------------------+ | Total Path Attribute Length (2 octets) | +-----------------------------------------------------+ | Path Attributes (variable) | +-----------------------------------------------------+ | Network Layer Reachability Information (variable) | +-----------------------------------------------------+ BGP-4 [2] describes the usage of each field. All fields except the Path Attributes are irrelevant to TBGP. They are only used if the same peer session is running both BGP and TBGP as has been discussed earlier in the draft. The NEXT_HOP attribute is also irrelevant to TBGP, and is only used if the same peer session runs both BGP and TBGP. All other attributes defined by BGP-4 (ORIGIN, AS_PATH, MULTI_EXIT_DESC, LOCAL_PREF, ATOMIC_AGGREGATE, and AGGREGATOR) have the same usage for both BGP and TBGP. BGP-4 [2] provides detailed discussion of these attributes. A1.4 New Attributes for TBGP Attributes to fulfill the specific requirements of call routing will be specified in a separate draft [11]. A1.5 Decision Process and Route Selection The Decision Process selects routes for subsequent advertisement by applying the local policies of a TBGP speaker to the routes stored in Hampton, Oran, Salama, Shah 11 Internet Draft TBGP June 1999 its Adj-CRIBs-In. The output of the Decision Process is the set of call routes that will be used for routing calls through this TBGP speaker's ITAD, and advertised to all peers. The selected routes will be stored in the local speaker's Loc-CRIB and Adj-CRIBs-Out. The Decision Process operates on routes contained in each Adj-CRIB- In, and is responsible for: - selection of routes to be advertised to internal peers - selection of routes to be advertised to external peers - route aggregation and route information reduction The Decision Process takes place in three distinct phases, each triggered by a different event: a) Phase 1, Calculation of Degree of Preference: is responsible for calculating the degree of preference for each call route received from an external peer, and advertise to all the internal peers the routes from external peers that have the highest degree of preference for each distinct destination. The degree of preference of a call route is a function of that route's attributes. Both the attributes inherited from BGP-4 and the new attributes defined for call routing may be used for calculating of the degree of preference. b) Phase 2, Route Selection: is invoked upon completion of phase 1. It is responsible for choosing the best route out of all those available for each distinct destination prefix, and for installing each chosen route into the Loc-CRIB. c) Phase 3, Route Dissemination: is invoked after the Loc-CRIB has been modified. It is responsible for disseminating routes in the Loc-CRIB to external peers, according to the local speaker's policies. Route aggregation and information reduction can optionally be performed within this phase. A1.6 Route Selection Algorithm The route selection algorithm depends on the local policies of the TBGP speaker. A1.7 Rules for Aggregation The coding format of E.164 prefixes and their aggregation rules will be defined separately in the attributes draft [11]. The same draft will also define aggregation rules for all new call routing-specific attributes. Aggregation of the attributes which already exist in BGP-4, e.g., the AS_PATH attribute, follow the rules defined in BGP-4. Acknowledgments Hampton, Oran, Salama, Shah 12 Internet Draft TBGP June 1999 The authors would like to thank Ajay Joseph for his thorough review and valuable feedback on this draft. References [1] J. Rosenberg and H. Schulzrinne, "A Framework for a Gateway Location Protocol," IETF Internet Draft, draft-ietf-iptel- gwloc-framework-03.txt, Work in Progress, June 1999. [2] Y. Rekhter and T. Li, "A Border Gateway Protocol 4 (BGP-4)," IETF RFC 1771, March 1995. [3] T. Bates, R. Chandra, D. Katz, and Y. Rekhter, "Multiprotocol Extensions for BGP-4," IETF RFC 2283, August 1998. [4] International Telecommunication Union, "Visual Telephone Systems and Equipment for Local Area Networks which Provide a Non- Guaranteed Quality of Service," Recommendation H.323, Telecommunication Standardization Sector of ITU, Geneva, Switzerland, May 1996. [5] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: Session Initiation Protocol," IETF Internet Draft, draft-ietf- mmusic-sip-12.txt, Work in Progress, January 1999. [6] R. Chandra and J. Scudder, "Capabilities Negotiation with BGP- 4," IETF Internet Draft, draft-ietf-idr-bgp4-cap-neg-03.txt, Work in Progress, February 1999. [7] J. Postel, "Transmission Control Protocol, DARPA Program, Protocol Specification," IETF RFC 793, September 1981. [8] T. Bates and R. Chandra, "BGP Route Reflection, an alternative to Full Mesh BGP," IETF RFC 1966, June 1996. [9] P. Traina, "Autonomous System Confederations for BGP," IETF RFC 1965, June 1996. [10] A. Heffernan, "Protection of BGP Sessions via the TCP MD5 Signature Option," IETF RFC 2385, August 1998. [11] J. Rosenberg, H. Salama, and M. Squire, "Attributes for a Gateway Location Protocol," IETF Internet Draft, draft-ietf- iptel-glp-attribs-00.txt, Work in Progress, June 1999. Authors' Addresses David Hampton Email: hampton@cisco.com Cisco Systems 170 W. Tasman Drive San Jose, CA 95134 Hampton, Oran, Salama, Shah 13 Internet Draft TBGP June 1999 David Oran Email: oran@cisco.com Cisco Systems 170 W. Tasman Drive San Jose, CA 95134 Hussein F. Salama Email: hsalama@cisco.com Cisco Systems 170 W. Tasman Drive San Jose, CA 95134 Dhaval Shah Email: dhaval@cisco.com Cisco Systems 170 W. Tasman Drive San Jose, CA 95134 Hampton, Oran, Salama, Shah 14