IPTEL Working Group                            J. Rosenberg, dynamicsoft
Internet Draft                                  H. Salama, Cisco Systems
draft-rs-trip-gw-03.txt                      M. Bangalore, Cisco Systems
November 2001                                   D. Shah, Cisco Systems
Expiration Date: May 2002                       R. Kumar, Cisco Systems


          Usage of TRIP in Gateways for Exporting Phone Routes


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.


Abstract

   This document describes a new application of the Telephony Routing
   over IP (TRIP) protocol. TRIP was engineered as a tool for inter-
   domain exchange of telephone routing information. However, it can
   also be used as a means for gateways and soft switches to export
   their routing information to a Location Server (LS), which may be
   co-resident with a proxy or gatekeeper. This LS can then manage those
   gateway resources. We discuss the motivations for this application,
   the reasons why other mechanims, such as the SIP REGISTER method, are
   not appropriate, and then show how a minimal subset of TRIP is needed
   for this application.








Rosenberg, Salama, Bangalore, Shah                              [Page 1]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


1. Introduction

   In typical VoIP networks, Internet Telephony Administrative Domains
   (ITADs) will deploy numerous gateways for the purposes of
   geographical diversity, capacity, and redundancy. When a call arrives
   at the domain, it must be routed to one of those gateways.
   Frequently, an ITAD will break their network into geographic POPs,
   with each POP containing some number of gateways, and a proxy server
   element that fronts those gateways. The proxy server is responsible
   for managing the access to the POP, and also for determining which of
   the gateways will receive any given call that arrives at the POP.

   This configuration is depicted graphically in Figure 1.

                                                   +---------+
                                                   |         |
                                                   |   GW    |
                                                >  +---------+
                                              //
                                            //
                                          //       +---------+
                                        //         |         |
                                      //           |   GW    |
                                    //             +---------+
                                  //
                 +----------+   //                                TO PSTN
                 |          |  /                   +---------+
                 | Routing  |          ------->    |         |  ----->
        -------->| Proxy    |   -------            |   GW    |
                 |          |  --                  +---------+
                 |          |    --
                 +----------+      --
                                     ---           +---------+
                                        --         |         |
                                          --       |   GW    |
                                            --     +---------+
                                              -->

                                                   +---------+
                                                   |         |
                                                   |   GW    |
                                                   +---------+
   ~

                  Figure 1: Gateway and LS Configuration

   The decision about which gateway to use depends on many factors,
   including their availability, remaining call capacity, and cost for



Rosenberg, Salama, Bangalore, Shah                              [Page 2]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   terminating to a particular POTS number. For the proxy to do this
   adequately, it needs to have access to this information in real-time,
   as it changes. This means there must be some kind of communications
   between the proxy and the gateways to convey this information.

   In this document, we propose the usage of TRIP to communicate this
   information from the gateways to the proxies that make the call
   routing decision. Section 2 looks at usage of SIP REGISTER [1], and
   Section 3 looks at TRIP [3,4]. We then describe the details of a TRIP
   solution in Section 4. It is assumed that the reader is familiar with
   these protocols. The requirements referenced in the sections that
   follow as "REQ #" are defined in [6].


2. SIP REGISTER

   The SIP REGISTER method has frequently been proposed as a solution
   for this problem. This is due, in part, to the similarity of the
   REGISTER method to the H.323 [5] RAS messages. In H.323, RAS messages
   are used to allow gateways to register telephone number prefixes with
   a gatekeeper. Many assume that SIP REGISTER should therefore play a
   similar role.

   Certainly, the REGISTER mechanism is close to this functionality.
   REGISTER allows clients to send address bindings (including for
   telephone numbers) to a proxy, which is close to meeting requirement
   REQ 6. Registrations are also periodically refreshed, allowing a
   proxy to determine if the address binding becomes stale, perhaps due
   to a crash or device failure. This might allow requirement REQ 2 to
   be met. The refresh timer (present in the Expires header) can even be
   negotiated by the proxy, providing for the ability to make
   information timely, as required by requirement REQ 7.

   However, the SIP REGISTER mechanism is different from the desired
   mechanisms for gateways in many respects:

     - The REGISTER mechanism is used to bind a single incoming URI to
       one or more outgoing URIs. In the case of a telephony gateway,
       the binding is between a set of telephone prefixes to the address
       of a gateway. This is a significantly different binding, and
       cannot be represented with the syntax or semantics of a SIP
       REGISTER request. Therefore, REGISTER does not actually meet
       requirement REQ 6.
     - The keepalive mechanism in REGISTER refreshes the *binding*, not
       the status of the UA performing the registration. The bindings
       must be sent each time to keep them alive. In the case of a
       gateway, the keepalive is for the state of the gateway, not for
       the routes the gateway terminates. The semantics of REGISTER



Rosenberg, Salama, Bangalore, Shah                              [Page 3]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


       would need to be completely changed in order to support this
       different semantic. Therefore, REGISTER does not actually meet
       requirement REQ 2.
     - There are properties associated with gateway routes that are not
       associated with URIs. For example, a route may have information
       like capacity (how many simultaneous calls can be terminated),
       which does not make much sense for a property of a URI.
       Therefore, requirements REQ 4 and REQ 8 are not met.
     - Because gateways can handle so many calls, it is important for
       liveness information to be conveyed very frequently, on the order
       of seconds. SIP registrations are not meant to be sent that
       frequently; they can be fairly large messages (particularly if
       they need to contain the routes when refreshed), resulting in
       uneeded overheads. This means that requirement REQ 9 cannot be
       met simultaneously with requirement REQ 7.

       For these reasons, we do not believe the SIP REGISTER request is
       the right tool for gateway route propagation and gateway
       keepalives.


3. TRIP

   TRIP was engineered as a tool for interdomain route exchange. At
   first glance, it may not seem appropriate for application in a
   gateway.  However, TRIP provides exactly the features needed to solve
   the problem at hand. TRIP allows one entity (in this case, a gateway)
   to convey to another (in this case, a proxy) a set of telephone
   routes which terminate through it. These routes are represented by
   telephone number prefixes along with attributes that can express
   resource availability and preferences (meeting requirement REQ 6). In
   TRIP, the routing tables are exchanged once. Only when they change
   are updates sent. This is exactly the capability needed for a gateway
   to send its routing information to a proxy, and it allows TRIP to
   meet requirements REQ 9 and REQ 7. Since the routing information is
   sent as soon as it changes, it does not require communications to
   occur during call setup, and therefore requirement REQ 1 is met.

   TRIP also supports a keepalive between peers. This keepalive is a
   short message, sent fairly frequently. It does not contain routing
   information. The period of the keepalive is negotiated once at
   startup time. If one of the entities crashes, the other flushes all
   routes received from it. This meets requirements REQ 2 and REQ 3.

   TRIP can contain attributes describing a route. New attributes can
   easily be added. The available capacity of a route is needed by the
   proxies to properly load balance and route to a set of gateways. This
   capacity can be expressed as an attribute. This meets requirements



Rosenberg, Salama, Bangalore, Shah                              [Page 4]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   REQ 4 and REQ 8.

   TRIP can be run over IPSec or TLS between two peers, providing
   authentication, integrity and privacy. This meets requirement REQ 5.

   Another advantage of using TRIP here is that it makes the
   redistribution of local gateway reachability information into inter-
   domain TRIP straightforward, because it's the same protocol.

   While it is true that TRIP is complex, almost all of this complexity
   is related to the processing of routes *received* from other peers.
   An element, such as a gateway, which only *sends* routes to a peer
   (the proxy), does not need to implement any of those functions. In
   particular, any processing related to aggregation, TRIB updates,
   route propagation and advertisement, handling of transitivity and
   unknown routes, or the decision process need not be implemented. The
   resulting set of functions are very small. They are composed of only:

     - The initial OPEN phase, exchange of keepalive timers,  and the
       process of bringing up the state machine.
     - Sending of an UPDATE containing the routes and parameters of the
       gateways.
     - Sending of a periodic keepalive.

       Its worth noting that these functions are not substantially more
       complex than sending a periodic REGISTER.


4. Defining TRIP-GW

   We call the subset of TRIP needed for this application "TRIP-GW", or
   TRIP for gateways. We note that this is a valid subset defined by the
   specification, so that a TRIP-GW speaker is a conformat TRIP speaker.
   In this section, we begin by discussing the Motivation for
   incorporating Carrier information in the Gateway-LS communications,
   both as an attribute and as an address family. Then, we proceed to
   define the attribute and the address family. This will be followed by
   a discussion of attributes that will be used in the address family
   that is introduced.  The gateway and proxy behaviors are discussed in
   more details in sections 5.2 and 5.3 respectively.











Rosenberg, Salama, Bangalore, Shah                              [Page 5]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


4.1. Motivation for advertising Carrier information

   In the telephone networks of today, when a residential customer
   places a call, the local telephone company processes the call and
   gets information about the customer's long-distance carrier from the
   subscriber record and routes the call to that long-distance carrier's
   network. The Local telephone company or Local Exchange Carrier (LEC)
   interconnects with different long distance carriers, also called
   Interexchange Carriers (IXC).  Each long distance carrier is assigned
   a unique numeric code called the Carrier Identification Code (CIC) by
   the North American Numbering Plan (NANP). When a call is placed, the
   CIC tells the local telephone company which long distance carrier to
   route the call over. Subscribers can also select a specific long
   distance carrier on a per-call basis by dialing the CIC along with
   the number. Example: 101XXXX, where the last 4 digits represent the
   CIC.  Applying the same principles to Voice over IP networks, we need
   to device schemes to incorporate call routing based on Carrier
   preferences.  Voice over IP gateways that connect to the PSTN can
   potentially interconnect with network facilities from different
   Carriers. Consequently, the gateways can provide routes to the same
   telephony destinations through different carriers. Therefore, there
   arises a need for the gateways to advertise the carrier information
   in addition to the telephony destinations, to the LS. TRIP provides a
   simple and straight-forward mechanism to advertise the different
   telephony destinations that it can terminate. We need to extend this
   for the gateway to be able advertise Carrier information in
   conjunction with the telephony destinations that it can provide
   service to. This information can be used by the LS to route calls
   based on a combination of E.164 prefix and Carrier. Hence we need to
   introduce a new attribute to represent the Carrier information.

   As Voice over IP networks get larger and deployments increase, a
   natural fallout will be an increase in internet telephony service
   offerings.  Different internet telephony service providers (ITSP) and
   Application Service Providers (ASP) would potentially interconnect
   with each other and collaborate in offering different subscriber
   services. Gateway Wholesalers and Location Server providers could
   interconnect in different configurations:  Confederations, Clearing
   Houses, etc. The Carrier Identification Code(CIC) that is used for
   Interexchange carriers in the PSTN, could be logically extended to
   ITSPs as well going into the future.

   We have seen the motivation for the need to advertise carrier
   information.  Going one step further, let us explore if there is
   value in advertising information from the gateway at a greater
   granularity.  In addition, we will also investigate if it makes sense
   in defining an address family based on carrier.  In typical VoIP
   networks, Internet Telephony Administrative Domains (ITADs) will



Rosenberg, Salama, Bangalore, Shah                              [Page 6]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   deploy numerous gateways for the purposes of geographical diversity,
   capacity, and redundancy. When calls arrive at a POP, the decision
   about which gateway to use depends on many factors like availability,
   remaining call resources, etc.  Taking a closer look at a gateway, we
   see that each gateway can can house several telephony trunks and,
   trunks with similar signaling characteristics can be logically
   grouped together for ease of management. Each of these trunk groups,
   identified by a unique label, can, typically terminate calls to
   several telephony destinations, the information for which is
   provisioned on the gateway. A gateway can potentially connect to
   different carrier networks, through one or more trunk groups with
   each carrier. Trunks within a carrier may be grouped based on
   geographical considerations, or maybe, on the basis of different
   grades of service that are offered by the carrier to its customers,
   etc. For example: there could be a carrier trunk group terminating
   calls to prefixes on the East coast where there is a different group
   for numbers on the west coast. There could be a carrier trunk group
   provisioned for least cost routing with not much emphasis on quality,
   while there could be a different one that provides superior Quality
   of Service at a higher cost.  It is not uncommon in Service provider
   environments to have the ability to control routing of calls at the
   granularity of a trunk group, rather than just at the level of
   carrier.  Hence, we see that there is a heirarchical relationship in
   some sense, between Carriers, Trunk Groups, and Prefixes. To express
   this relationship, the E.164 address family seems inadequate. We need
   a separate address family that can associate information like gateway
   resource availability and some other dynamic characteristics, as
   properties of a Carrier or, to a combination of Carrier and Trunk
   Group rather than that of a telephony prefix.  This level of
   granularity provides better flexibility in managing gateway
   resources, reduces potential update traffic between the GW and the
   LS, and provides a framework for a scalable architecture.

   In the sections that follow, we proceed to define an attribute to
   advertise Carrier/TrunkGroup in conjunction with a E.164 destination.
   Following that, an address family based on the Carrier and Trunk Code
   combination will be defined.



4.2. CarrierCode-TrunkGroup Attribute

   Mandatory: False.
   Required Flags: optional, transitive
   Potential Flags: None.
   TRIP Type Code: TBD.

   The CarrierCode-TrunkGroup attribute is an optional attribute used



Rosenberg, Salama, Bangalore, Shah                              [Page 7]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   between a gateway and its peer LS responsible for managing that
   gateway.

   The CarrierCode-TrunkGroup attribute represents two pieces of
   information about the route being advertised. The CarrierCode or CIC
   which is the first component of the attribute, is a numeric code that
   can uniquely identify a carrier/service provider offering service for
   the destination in question. This enables the LS managing the
   gateways to route calls based on a combination of the E.164 prefix
   and the Carrier.  In the US, the CIC, currently represented by a 4-
   digit code, identifies the inter-exchange carrier that offers POTS
   service. This can potentially be extended in the future to include
   VoIP carriers or Internet Telephony Service Providers (ITSP) and be
   used to control call routing to prefered provider networks . This
   attribute provides a way to provide information about the telephony
   service provider(s) that can terminate calls to the prefix(s) listed
   in the ReachableRoutes attribute. This component of the attribute can
   be used to route calls based on Carrier preferences.  The second
   component in the attribute, the Trunk Group, represents a logical
   grouping of physical interfaces, for example, multiple DS0/DS1
   interfaces with similar signaling characteristics, that can be
   provisioned as the target of an outbound route for a telephony
   destination(s).  Multiple trunk groups may be provisioned per
   gateway. Also, trunk groups can potentially span multiple gateways.
   The actual selection of a channel or port within the trunk group at
   the time of placing an outbound call is left to the gateway. Example
   of a logical grouping could be the set of carrier trunks provisioned
   to terminate calls to a particular geographic region.  An
   alphanumeric string, that is unique across the ITAD, serves as an
   identifier for a trunk group. Trunk groups facilitate easier
   management of trunks on a gateway by providing the ability to
   provision them as groups by referencing them with a common label.

   This attribute is potentially useful beyond the first-hop LS managing
   the gateway, in I-TRIP and E-TRIP. There may be good reasons to
   propogate this attribute in I-TRIP.  For example, Routing based on
   Carrier and/or Trunk Group preferences could be provisioned on a
   policy server(s) that resides in the ITAD. The LS managing the
   gateway can interact with the policy server(s) and communicate the
   gateway-provided Carrier/Trunk Group information on I-TRIP.

   On E-TRIP, the LS may propogate only the Carrier component of the
   attribute but not the TrunkGroup label. Policies can be applied to
   peering relationships to control propogation of carrier information
   with specific neighboring ITADs.  By propogating the Carrier
   component between different ITADs, a service provider can exchange
   information about the different carriers that it interconnects with.
   This allows different providers to route calls based on a combination



Rosenberg, Salama, Bangalore, Shah                              [Page 8]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   of E.164 prefix and the Carrier.

   The motivation behind combining the Carrier Identification Code and
   the trunk group as a unit is to provide the flexibility of reporting
   information like Available Capacity or the Call Success Rate
   (discussed in later Sections) as properties of this combined unit
   rather than that of a telephony prefix. The ability to provide this
   kind of granularity is in line with, and representative of typical
   gateway provisioning requirements in Service Provider environments.


4.2.1. CarrierCode-TrunkGroup Syntax

   The CarrierCode-TrunkGroup attribute is a variable length attribute
   that is composed of a sequence of CarrierCode-TrunkGroup segments.
   Each CarrierCode-TrunkGroup segment is represented as a length-value
   pair. The syntax of each such segment is shown in Figure 2.

       0                   1                   2
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +---------------+---------------+--------------+----------------+
      | CIC-TGrp Segment value length | CIC-TGrp Segment value (variable)...
      +---------------+---------------+--------------+----------------+

                 Figure 2: CIC Trunk-Group Segment format


   The format of the Segment value field is shown in Figure 3 below:

       0                   1                   2
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +---------------+---------------+--------------+----------------+
      |               Carrier Identification Code (CIC)               |
      +---------------+---------------+--------------+----------------+
      |                   TrunkGroup label (variable)...
      +---------------+---------------+--------------+----------------+

          Figure 3: Syntax of CIC-TrunkGroup Segment value field

   The length is a 2-octet field and represents the total size of the
   value field in bytes.  The value field is encoded as two components.
   The first component is the Carrier Identification Code (CIC) and has
   a fixed length of 4 octets. This represents a unique code assigned to
   the carrier or telephony service provider offering the service.  The
   second component of the value portion, the TrunkGroup label, is
   represented as an alphanumeric string and can have a maximum length
   of 64 octets. This component denotes a trunk group label that is
   provisioned on the gateway. The size of the TrunkGroup label in bytes



Rosenberg, Salama, Bangalore, Shah                              [Page 9]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   will be the value in the length field less 4. This TrunkGroup label
   provides a virtual abstraction to manage a group of physical
   interfaces on a gateway with similar chacteristics that are logically
   bundled together.


4.2.2. Route Origination and CarrierCode-TrunkGroup

   Routes MAY be originated containing the CarrierCode-TrunkGroup
   attribute. The gateway can choose to include all CarrierCode-trunk
   group combinations that provide service to the routes being
   advertised in the same UPDATE. It is possible that trunk groups are
   not provisioned on the gateway or that trunk groups are provisioned
   without any carrier associations. When trunk groups are not
   provisioned, only the Carrier information is propogated and the
   length field will be set to 4.  In the other case when trunk groups
   are not associated with a Carrier, then the gateway uses a default
   carrier code in association with these trunk groups in the
   CarrierCode-TrunkGroup attribute. A Carrier Code value of zero is
   reserved and is used to denote the default carrier.


4.2.3. Route Selection and CarrierCode-TrunkGroup

   The CarrierCode-TrunkGroup attribute MAY be used for route selection.
   This will be primarily used for routing based on Carrier preferences
   and/or Trunk Group labels. The LS may apply local policy or
   communicate with a policy server to determine a prefered carrier
   and/or trunk group and and forward the call to the appropriate
   gateway to service the call.


4.2.4. Aggregation and CarrierCode-TrunkGroup

   An LS MAY aggregate all routes to a given prefix that carry this
   attribute.  The aggregated attribute will be a list which is the
   union of the attribute values across the different routes.


4.2.5. Route Dissemination and CarrierCode-TrunkGroup

   The CarrierCode-TrunkGroup attribute could be used for routing based
   on either the Carrier, the trunk group label, or a combination of the
   two. There are different Service Provider requirements where these
   different methods could potentially be used.  This attribute may be
   propogated by the LS within the ITAD to its I-TRIP peers. While doing
   so, the LS may choose to propogate only the CarrierCode component or
   the entire attribute to its internal peers. For E-TRIP associations,



Rosenberg, Salama, Bangalore, Shah                             [Page 10]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   the Trunk Group portion of the attribute MUST NOT be propogated. The
   Carrier code portion, however, may be propogated to its E-TRIP peers.


4.3. CarrierCode-TrunkGroup Address Family

   In a TRIP-GW association between the gateway and the LS responsible
   for managing that gateway, there are some pieces of information that
   are attributes of the reachable routes (prefixes) that are
   advertised, For example: the carriers that are provisioned on the
   gateway, and there are others that more naturally fit in as
   properties of a Carrier or trunk group rather than that of a
   reachable route(prefix), For example: the resource availability
   information on a trunk group connected to a Carrier's network.

   A gateway can have trunks connecting to different carriers. Each of
   these carriers could potentially bundle trunks associated with the
   carrier into different logical groups, possibly based on geographical
   considerations, or maybe, on the basis of different grades of service
   that are offered by the carrier to its customers, etc.

   A trunk group provisioned on a gateway can potentially terminate
   calls to several telephony prefixes. Hence, we can connect Carriers,
   Trunk Groups, and Prefixes by a heirarchical relationship. To express
   this relationship, the E.164 address family seems inadequate. We need
   a separate address family that can associate certain properties like
   gateway resource availability information to a Carrier or, to a
   combination of Carrier and Trunk Group.

   A possible model that could be used as a result is the following:

     - Using the E.164 address family, the gateway advertises telephony
       prefixes that it can terminate along with the CarrierCode-
       TrunkGroup attribute and hence establish the association between
       a prefix and the CarrierCode-TrunkGroup provisioned for that
       telephony destination. If more than one carrier offers services
       to the same prefix, it would appear in the UPDATE as a list of
       CarrierCode-TrunkGroup pairs.
     - Following this, the gateway reports other information like
       resource availability and Call Success Rate as attributes in the
       CarrierCode-TrunkGroup address family effectively treating them
       as properties of that CarrierCode-TrunkGroup combination.

       The primary benefits of this model are as follows:







Rosenberg, Salama, Bangalore, Shah                             [Page 11]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


     - It allows a service provider to route calls based strictly on the
       CarrierCode
     - it facilitates more accurate reporting of attributes of a dynamic
       nature like resource availability by providing the ability to
       manage resources at the granularity of a Carrier or CarrierCode-
       TrunkGroup combination.
     - Gateways can get really large with the ability to provision
       hundreds or a few thousand circuits and this can increase the
       potential for traffic that reports dynamic resource information
       between the gateway and the LS. The model introduced can
       potentially alleviate this UPDATE traffic hence increasing
       efficiency and providing a scalable gateway management model.


4.3.1. Address Family Syntax

   Let us consider the generic TRIP route format from TRIP[3] shown
   below and discuss how the new address family based on the combination
   of Carrier Code and Trunk Group fits into this scheme.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +---------------+---------------+--------------+----------------+
      |       Address Family          |      Application Protocol     |
      +---------------+---------------+--------------+----------------+
      |            Length             |       Address (variable)     ...
      +---------------+---------------+--------------+----------------+

                    Figure 4: Generic TRIP Route Format

   The Address Family field will be used to represent the type of the
   address associated for this family, which is based on the
   CarrierCode-Trunk combination.  The code for this family will be
   obtained from IANA

   The Application Protocol field is currently not used and will be
   ignored

   The Length field represents the total size of the Address field,
   which is the combination of CarrierCode and TrunkGroup label in this
   address family

   The value in the Address field represents the CarrierCode-TrunkGroup
   combination and serves as an identifier for the advertised route.  It
   has two components, the Carrier Identification Code(CIC) and the
   Trunk Group label component, and the encoding is as follows:

   The first component, the Carrier Identification Code (CIC) has a



Rosenberg, Salama, Bangalore, Shah                             [Page 12]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   fixed length of 4 octets. This represents a unique code assigned to
   the carrier or telephony service provider offering the service.

   The second component of the address field, the TrunkGroup label, is
   an alphanumeric string and can have a maximum length of 64 octets.
   The size of the TrunkGroup label in bytes will be the value in the
   Length field less 4.  This component represents a trunk group label
   that is provisioned on the gateway and provides a virtual interface
   to manage a group of physical interfaces(trunks) on the gateway with
   similar chacteristics as one unit.

   If a gateway supports this address family, it should include this
   address family as one of the Route types supported in the OPEN
   message capability negotiation phase.

   The following attributes are currently defined to be used with this
   address family and will be advertised as a property of the
   CarrierCode-TrunkGroup identifier.

     - AvailableCircuits Attribute
     - TotalCircuitCapacity Attribute
     - CallSuccessRate Attribute

       It is recommended that the above attributes be used by the
       gateway with the CarrierCode-TrunkGroup address family, if
       possible. This will potentially offer a more accurate and
       efficient resource reporting framework, and a scalable model for
       gateway management.  However, when the gateway is not using
       Carriers or trunk groups, it may use the above attributes with
       the E.164 address family. If they are advertised with both the
       address families, the behavior is not defined.

       These attributes will be discussed in the sections that follow.


4.4. AvailableCircuits Attribute

   Mandatory: False.
   Required Flags: optional, non-transitive
   Potential Flags: None.
   TRIP Type Code: TBD.

   The available circuits attribute is used ONLY between a gateway and
   its peer LS responsible for managing that gateway. It is for this
   reason that this attribute is non-transitive. If it is received in a
   route, it MUST NOT be propagated unless the LS is sure that it is
   relatively static.




Rosenberg, Salama, Bangalore, Shah                             [Page 13]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   This attribute is intended to be primarily used in association with a
   route in the CarrierCode-TrunkGroup address family as it provides a
   more accurate picture of the resource utilization on the gateway and
   gives better control to the LS in managing the gateway resources.
   The current circuit capacity identifies the number of PSTN circuits
   that are currently available on the given Carrier's trunk group. This
   effectively represents the number of calls for the set of prefixes
   reachable through that carrier's trunk group. The number of
   additional calls sent to this trunk group on the gateway can not
   exceed the available circuits indicated. If it does, the signaling
   protocol will likely generate errors, and calls will be rejected.

   AvailableCircuits is measured in integral number of calls. It changes
   very dynamically.


4.4.1. AvailableCircuits Syntax

   The CircuitCapacity attribute is a 4-octet unsigned numeric value. It
   represents the number of circuits remaining for terminating calls to
   this route. This attribute represents a potentially achievable lower
   bound on the number of calls which can additionally be forwarded on
   this route.


4.4.2. Route Origination and AvailableCircuits

   This attribute is intended to be primarly used with the CarrierCode-
   TrunkGroup address family. Routes MAY be originated containing the
   AvailableCircuits attribute. Since this attribute is highly dynamic,
   changing with every call, updates MAY be sent as it changes. However,
   it is RECOMMENDED that a gateway originating routes with this
   attribute use thresholds, and that routes are re-originated only when
   the attribute moves above or below a threshold. It is also
   RECOMMENDED that the thresholds in each direction (going above a
   threshold and going below a threshold) be different, thus achieving a
   form of hysterisis. Both of these measures help reduce the messaging
   load from route origination.


4.4.3. Route Selection and AvailableCircuits

   The AvailableCircuits attribute MAY be used for route selection.
   Since one of its primary applications is load balancing, an LS will
   wish to choose a potentially different route (amongst a set of routes
   for the same prefix) on a call by call basis. This can be modeled as
   re-running the decision process on the arrival of each call. The
   aggregation and dissemination rules for routes with this attribute



Rosenberg, Salama, Bangalore, Shah                             [Page 14]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   ensure that re-running this selection process never results in
   propagation of a new route to other peers.


4.4.4. Aggregation and AvailableCircuits

   Not applicable


4.4.5. Route Dissemination and AvailableCircuits

   Routes MUST NOT be disseminated with the CircuitCapacity attribute.
   The attribute is meant to reflect capacity at the originating gateway
   only. Its highly dynamic nature makes it inappropriate to disseminate
   in most cases.


4.5. TotalCircuitCapacity Attribute

   Mandatory: False.
   Required Flags: optional, transitive
   Potential Flags: None.
   TRIP Type Code: TBD.

   The Total circuit capacity attribute is used to reflect the static
   capacity as opposed to the availability at a given point in time as
   provided by the AvailableCircuits attribute. Because of its
   relatively static nature, this attribute may be propogated beyond the
   LS that receives it, hence making this attribute transitive.

   The Total circuit capacity attribute is intended to be primarily used
   in association with the CarrierCode-TrunkGroup address family. This
   attribute represents the total number of PSTN circuits available to
   terminate calls on the specified Carrier and trunk group combination.
   This effectively represents the total number of circuits available
   for routes reachable via this trunk group on the associated Carrier.
   This is used in conjunction with the AvailableCircuits attribute in
   gateway selection by the LS. The total number of calls sent to the
   specified trunk group on the gateway cannot exceed this total circuit
   capacity.

   TotalCircuitCapacity is measured in integral number of calls. This is
   not expected to change frequently. This can change, for instance,
   when certain telephony trunks on the gateway are taken out of service
   for maintancence purposes.






Rosenberg, Salama, Bangalore, Shah                             [Page 15]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


4.5.1. TotalCircuitCapacity Syntax

   The Total CircuitCapacity attribute is a 4-octet unsigned numeric
   value. It represents the total number of circuits available for
   terminating calls through this trunk group. This attribute represents
   a potentially achievable upper bound on the number of calls which can
   be terminated on this trunk group in total.


4.5.2. Route Origination and TotalCircuitCapacity

   Routes MAY be originated containing the TotalCircuitCapacity
   attribute. This attribute adds value when used in combination with
   the AvailableCircuits attribute.


4.5.3. Route Selection and TotalCircuitCapacity

   The TotalCircuitCapacity attribute MAY be used for route selection.
   Since this attribute represents the total static capacity for a
   Carrier's trunk group on a gateway, it can be used to distribute
   calls to different gateways in rough proportion of their Total number
   of circuits registered with this label if TrunkGroup based routing is
   used or the distribution could be based on the Carrier's total
   capacity across the different gateways if routing is done based
   solely on the Carrier component information. When more than one
   gateway has the same circuits available at a given point of time,
   this attribute may be used in making a judicious choice.


4.5.4. Aggregation and TotalCircuitCapacity

   An LS MUST aggregate routes to the same prefix which contain a
   TotalCircuitCapacity attribute. This guarantees that if the decision
   process is rerun, the route that is disseminated to peers is
   unchanged.


4.5.5. Route Dissemination and TotalCircuitCapacity

   Since this attribute reflects the static capacity of the gateway's
   circuit resources, it is not expected to change frequently. Hence the
   LS receiving this attribute may disseminate it to other peers, both
   internal and external to the ITAD.







Rosenberg, Salama, Bangalore, Shah                             [Page 16]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


4.6. CallSuccessRate Attribute

   Mandatory: False.
   Required Flags: optional, non-transitive
   Potential Flags: None.
   TRIP Type Code: TBD.

   The Call Success Rate attribute is a non-transitive attribute used
   ONLY between a gateway and its peer LS responsible for managing that
   gateway. If it is received in a route, it MUST NOT be propagated.

   The Call Success Rate attribute represents the percentage of normally
   terminated calls out of the total number of attempted calls. The
   motivation for this attribute is drawn from Answer-seizure ratio(ASR)
   used in PSTN networks. The difference however is that ASR is the
   ratio of successfully connected calls to attempted calls. This
   implies that a call would be termed successful only if it transitions
   to the Established state before being torn down. The drawback of this
   scheme is that a call, for instance, that moves into the Alerting
   phase and does not get connected because the called party is
   unavailable is accounted as a failed call. The results from this can,
   consequently, be skewed because in some countries calls would
   encounter a device such as an answering machine whereas in several
   other countries the calls would just ring and subsequently get
   disconnected.  The definition of a successful call in the Call
   Success Rate would be determined based on the Disconnect cause code
   at the time of the call being torn down. For instance, a call that
   reaches the Alerting stage but does not get connected because of
   called party being unavailable is accounted as a successful call.
   Similar is the case when the called party is busy. On the other hand,
   a call that gets disconnected because of a Circuit or Resource being
   unavailable is accounted as a failed call.

   The Call Success Rate is used by the LS to keep track of failures in
   reaching certain telephony destinations through a gateway(s) and use
   that information in the gateway selection process to enhance the
   probability of successful call termination.

   This attribute is intended to be primarily used in association with
   the CarrierCode-TrunkGroup address family and this is the recommended
   usage by the gateway whenever possible. The gateway may also
   selectively use this attribute to report repeated failure to specific
   telephony destinations in association with the E.164 address family.
   This information can be used by the LS to consider other alternative
   gateways to terminate calls to those destinations with better success
   rates.





Rosenberg, Salama, Bangalore, Shah                             [Page 17]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


4.6.1. CallSuccessRate Syntax

   The Call Success Rate attribute is represented as an unsigned 2-octet
   numeric value. It is computed as the ratio of normally terminated
   calls to the total attempted calls as a percentage that is multiplied
   100 times. This encoding is used to have the ability to advertise
   this information as an integer. The LS receiving this information has
   to divide the received number by 100 to get the percentage value,
   represented in essence, by the attribute.  For example: If the call
   success rate is 92.5 expressed as a percentage, then the numeric
   value 9250 is used for the CallSuccessRate attribute. The LS that
   receives this attribute, divides the value 9250 by 100 to get 92.5


4.6.2. Route Origination and CallSuccessRate

   Routes MAY be originated containing the CallSuccessRate attribute.
   This attribute is expected to get statistically significant with
   passage of time as more calls are attempted. Therefore, it is
   RECOMMENDED that the gateway make a choice based on local thresholds
   to determine when to report this attribute in an UPDATE.


4.6.3. Route Selection and CallSuccessRate

   The CallSuccessRate attribute MAY be used for route selection.  This
   attribute represents the rate of success to telephony destination(s)
   or at the granularity of Carrier or CarrierCode-Trunk Group
   combinations or to specific telephony destinations depending on the
   Address family that this attribute is associated with. This
   information may be used to select from amongst a set of alternative
   routes to increase the probability of successful call termination.
   This may lead to call routing attempts on alternative trunk groups,
   carriers, or gateways by the LS.


4.6.4. Aggregation and CallSuccessRate

   Not applicable


4.6.5. Route Dissemination and CallSuccessRate

   Routes MUST NOT be disseminated with the CallSuccessRate attribute.
   Its potential to change dynamically does not make it suitable to
   disseminate in most cases.





Rosenberg, Salama, Bangalore, Shah                             [Page 18]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


4.7. Other attribute considerations

4.7.1. Cost/Pricing attribute

   In exploring attributes suitable for the GW-LS communications,
   Pricing is another attribute that was considered. Though at first
   glance, it seems like a useful piece of information to be advertised
   by the gateway to express the price offered by carriers to different
   destinations, in reality, the computation of pricing can get quite
   complex. For example, the price offered by a provider can vary by
   time of day, it can be based on an agreement between two service
   providers interconnecting with each other, it could be based on one
   price for the first 'n' minutes and a different price after that,
   Least Cost routing choices and Grades of service offered by a carrier
   can affect pricing. There could be other factors as well. Expressing
   this complex interplay between different factors that determine
   pricing is non-trivial to represent. It will be a subject of further
   investigation to determine whether advertising pricing associated
   with carriers in its simple form without any dependencies adds value
   to be included as an attribute in the TRIP-GW communications.


4.8. Gateway Operation

   The protocol a gateway uses to advertise its E.164 reachability to
   the its domain's Location Server(s) (LS, which are generally proxies)
   is TRIP. The gateway operates in TRIP Send Only mode since it is only
   interested in advertising its reachability, but is not interested in
   learning about the reachability of other gateways and other domains.
   Also, the gateway will not create its own call routing database.
   Therefore, the gateway does not need a complete implementation of
   TRIP. A lightweight version of the protocol is sufficient. In this
   section we describe the operation of TRIP on a gateway.


4.8.1. Session Establishment

   When opening a peering session with a TRIP LS, an TRIP-GW gateway
   follows exactly the same procedures as any other TRIP speaker. The
   TRIP-GW gateway sends an OPEN message which includes a Send Receive
   Capability in the Optional Parameters. The Send Receive Capability is
   set by the gateway to Send Only. When the TRIP LS receives the
   gateway's OPEN message, it set its local policy such that no UPDATE
   messages are sent to the TRIP-GW gateway. The remainder of the peer
   session establishment is identical to TRIP.






Rosenberg, Salama, Bangalore, Shah                             [Page 19]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


4.8.2. UPDATE Messages

   Once the peer session has been established, the gateway sends UPDATE
   messages to the TRIP LS with the gateway's entire E.164 reachability
   and its ITAD topology. The Gateway also sends any Carrier/Trunk Group
   associated with the E.164 destinations. The Gateway also sends an
   initial resource update for each CarrierCode-TrunkGroup combination
   reflecting the current circuit availability and total circuit
   capacity.


   If the gateway's E.164 reachability or its ITAD topology changes at
   any point in time, the gateway MUST generate UPDATE message(s) with
   the change. The frequency of successive UPDATE messages MUST follow
   the same rules specified for TRIP [3]. The gateway reports resource
   availability changes, against the different CarrierCode-TrunkGroup
   combinations, using local thresholding schemes. The TRIP-GW gateway
   MUST at least support all mandatory TRIP attributes.

   If the gateway receives an UPDATE message from the TRIP LS, it MUST
   silently discard it as specified in [3]. No further action should be
   taken.


4.8.3. KEEPALIVE Messages

   KEEPALIVE messages are periodically exchanged over the peering
   session between the TRIP-GW gateway and the TRIP LS as specified in
   Section 5.4 of [3].


4.8.4. Error Handling and NOTIFICATION Messages

   The same procedures used with TRIP, are used with TRIP-GW for error
   handling and generating NOTIFICATION messages. The only difference is
   that an TRIP-GW gateway will never generate a NOTIFICATION message in
   response to an UPDATE message, irrespective of the contents of the
   UPDATE message. Any UPDATE message is silently discarded.


4.8.5. TRIP-GW Finite State Machine

   When the TRIP-GW finite state machine is in the Established state and
   an UPDATE message is received, the UPDATE message is silently
   discarded and the TRIP-GW gateway remains in the Established state.
   Other than that the TRIP finite state machine and the TRIP-GW finite
   state machine are identical.




Rosenberg, Salama, Bangalore, Shah                             [Page 20]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


4.8.6. Call Routing Databases

   A TRIP-GW gateway may maintain simultaneous sessions with more than
   one TRIP LSs. A TRIP-GW gateway maintains one call routing database
   per peer TRIP LS. These databases are equivalent to TRIP's Adj-
   TRIBs-Out, and hence we will call them Adj-TRIB-GWs-Out.  An Adj-
   TRIB-GW-Out contains the gateway's E.164 reachability information
   advertised to its peer TRIP LS. How an Adj-TRIB-GW-Out database gets
   populated is outside the scope of this draft (possibly by manual
   configuration).

   The TRIP-GW gateway does not have databases equivalent to TRIP's
   Adj-TRIBs-In and Loc-TRIB, because the TRIP-GW gateway does not learn
   routes from its peer TRIP LSs, and hence it does not run call route
   selection.


4.8.7. Route Selection and Aggregation

   TRIP's route selection and aggregation operations MUST NOT be
   implemented by TRIP-GW gateways.


4.9. LS/Proxy Behavior

   TRIP completely specifies the behavior of the LS as a TRIP speaker.
   However, the primary question is: is an LS connected to a gateway an
   internal or external peer of the gateway?

   The most obvious choice, internal peer, is not the best choice.  If
   an LS has ten peer GWs, all of them advertising reachability to
   1408*, it will flood all ten routes to all other LSs in the same
   ITAD. This won't scale, because each LS in the ITAD will have to
   create a separate Adj-TRIB-In for each GW in that ITAD. In addition,
   it doesn't allow a SIP Proxy server or an H.323 GK to load balance
   among the GWs of its zone/subdomain.

   A similar problem exists when an LS is an external peer to the
   gateways, and has direct peering relationships with one or more
   internal peers. However, an ingress LS to an ITAD does not perform
   aggregation. Only the egress aggregates routes.

   Therefore, it is RECOMMENDED that the appropriate architecture is
   that the LS actually runs two instances of TRIP; one with an external
   peering relationship to the gateways, and the other with an internal
   peering relationship with one or more LS's within the ITAD. The
   interface between these instances is a local matter; routes are
   exported from one and imported to the other. This architecture is



Rosenberg, Salama, Bangalore, Shah                             [Page 21]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


   shown in Figure 5.


                                                                  +-----+
                                                                  |     |
        ....................................                    --| GW  |
        .                    +-------------.------------+    ---  +-----+
        .                    | +--------+  .+--------+  |  --
        .                    | |TRIP    |  .|TRIP    |  +--       +-----+
        .                    |/|Instance|  .|Instance|--|         |     |
        .                    / |        |  .|        |--+-------- | GW  |
        .                   /| |        |  .|        |--|         +-----+
        .                  / | +--------+  .+--------+  +---
        .                 /  |           LS.            |   ---   +-----+
        .                /   +-------------.------------+      -- |     |
        .               /                  .                      | GW  |
        .  +----------+                    .                      +-----+
        .  |          |                    .
        .  |          |                    .
        .  |    LS    |                    .
        .  |          |                    .
        .  |          |                    .
        .  +----------+                    .                     +-----+
        .                                 .                      |     |
        .                                 .                   -- | GW  |
        .                   +-------------.------------+    --   +-----+
        .                   | +--------+  .+--------+  | ---
        .                   | |TRIP    |  .|TRIP    |  +-        +-----+
        .                   | |Instance|  .|Instance|--|         |     |
        .                   | |        |  .|        |--+---------| GW  |
        .                   | |        |  .|        |--|         +-----+
        .                   | +--------+  .+--------+  +---
        .                   |           LS.            |   ---   +-----+
        .                   +-------------.------------+      -- |     |
        .       ITAD                       .                     | GW  |
        ....................................                     +-----+

                   Figure 5: LS Architecture for TRIP-GW













Rosenberg, Salama, Bangalore, Shah                             [Page 22]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


5. Validation against requirements

   In this section, we will verify if the definition of TRIP-GW to
   address the Gateway registration problem satisfies the requirements
   stated in [6]

5.1. Fast

   TRIP-GW facilitates propogation of routing information as soon as it
   changes and is out of band with call setup. Hence it does not require
   communication exchanges between the GW and the LS during call set up.


5.2. Failure detection

   There is a keep-alive mechanism provided by TRIP-GW for the session
   between the GW and the LS. This is through a short keepalive message,
   that is sent fairly frequently that period for which can be
   negotiated at the time of session startup.


5.3. Startup detection

   When a failed gateway recovers, it attempts to establish a session
   with the LS based on its provisioned information. In the meanwhile,
   if the gateway that recovers receives a connection from the LS, it is
   accepted.


5.4. Capacity Knowledge

   TRIP-GW has introduced attributes that the Gateway can use to provide
   resource availability information to the LS. The gateway can
   implement local thresholding schemes to control the frequency of
   reporting resource availability updates.


5.5. Secure

   TRIP-GW can be run over IPSec or TLS between the GW and the LS,
   providing authentication, integrity, and privacy.










Rosenberg, Salama, Bangalore, Shah                             [Page 23]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


5.6. Convey Routing Preferences

   TRIP-GW provides a mechanism to advertise reachability information,
   supplementing it with capacity information, and Call Success Rate at
   different levels of granularity.


5.7. Timeliness

   In TRIP-GW, all the routes to the different telephony destinations
   that the GW terminates are exchanged once when the session is
   established. Route updates after that need to be sent only when they
   change.


5.8. Extensible Attributes

   TRIP-GW advertises attributes describing a route some of which report
   dynamically changing information like resource availability and Call
   Success Rate. TRIP, from which TRIP-GW borrows the basic model,
   provides a well-defined way to add new attributes.


5.9. Efficient

   TRIP-GW requires to send route updates on changes only, after they
   are advertised the first time. A short keepalive message provides a
   heart-beat mechanism the frequency for which can be negotiated. The
   attributes provided for reporting resource availability information
   can be advertised at different levels of granularity hence reducing
   the potential update traffic between the GW and the LS.


5.10. Proxy Control

   The different gateways in a domain advertise routes using TRIP-GW
   along with the resource availability and other information. It is
   entirely upto the proxy to use this information and any other network
   policies provisioned into it to determine a suitable gateway at the
   time of the call











Rosenberg, Salama, Bangalore, Shah                             [Page 24]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


5.11. Independent Policies

   There is nothing in TRIP-GW that would prevent different different
   proxies make their own decisions as regards to the gateway to be used
   for a call(s).  This could be controlled based on different policies
   provisioned on the individual proxies so as to select different
   gateways for the same telephony prefix, to load balance between
   gateways, for instance.


5.12. Discovery

   TRIP and TRIP-GW would extensively be used in Service Provider
   environments, which are managed networks, where the associations
   between the participating entities would be statically provisioned.
   At this time, we do not see a strong reason to support discovery of
   gateways by Location Servers.  If there are applications that warrant
   this requirement, we can investigate to incorporate this capability
   within TRIP-GW. Alternatively, some other discovery protocols can be
   employed for this purpose, independently of TRIP-GW, and once the
   entities are discovered, they can establish a TRIP-GW peering session
   for registration of routes from the gateway to the LS.

   In summary, TRIP-GW provides an efficient, robust, and scalable
   solution for route communications between the Gateway and Location
   Server. Hence, it makes a good candidate for addressing the gateway
   registration problem.


6. IANA Considerations

     - The Address Family Code for the new family defined is to be
       assigned by IANA
     - The Attribute Type Codes for the new attributes defined are to be
       assigned by IANA


7. Changes since -02

     - Removed the requirements section.
     - Discussed the motivation for introducing Carrier information into
       TRIP.
     - Defined a new attribute for the E.164 address family
     - Defined a new address family for CarrierCode-TrunkGroup
       combination






Rosenberg, Salama, Bangalore, Shah                             [Page 25]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


     - Defined new attributes to advertise dynamic gateway
       characteristics like resource availability, and call success
       rate.
     - Added as section to validate the TRIP-GW solution against the
       requirements in [6].



8. Changes since -01

     - Added requirements.
     - Added more formal analysis of REGISTER and added analysis of SLP.
     - Removed circuit capacity attribute.


9. Changes since -00

     - Added text to stress the value of this proposal for managing a
       gateway cluster
     - Added attributes for circuit capacity and DSP capacity
     - Added section on LS operation, discussing aggregation issue


Authors' Addresses


   Jonathan Rosenberg
   dynamicsoft
   72 Eagle Rock Avenue
   First Floor
   East Hanover, NJ 07936
   email: jdrosen@dynamicsoft.com


   Hussein F. Salama
   Cisco Systems
   Mail Stop SJC-24/3/2
   170 W. Tasman Drive
   San Jose, CA 95134
   email: hsalama@cisco.com


   Manjunath Bangalore
   Cisco Systems
   Mail Stop SJC-21/2/2
   771 Alder Drive
   Milpitas, CA 95035
   email: manjax@cisco.com



Rosenberg, Salama, Bangalore, Shah                             [Page 26]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001



   Dhaval N. Shah
   Cisco Systems
   Mail Stop SJC-21/2/2
   771 Alder Drive
   Milpitas, CA 95035
   email: dhaval@cisco.com


   Rajneesh Kumar
   Cisco Systems
   Mail Stop SJC-21/2/2
   771 Alder Drive
   Milpitas, CA 95035
   email: rajneesh@cisco.com



Acknowledgments

   We wish to thank Randy Baird and Cullen Jennings for their insightful
   comments and suggestions.


References

   [1] M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP:
   session initiation protocol," Request for Comments 2543, Internet
   Engineering Task Force, Mar. 1999.

   [2] E. Guttman, C. Perkins, J. Veizades, and M. Day, "Service
   location protocol, version 2," Request for Comments 2608, Internet
   Engineering Task Force, June 1999.

   [3] J. Rosenberg, H. Salama, and M. Squire, "Telephony routing over
   IP (TRIP)," Internet Draft, Internet Engineering Task Force, Nov.
   2000.  Work in progress.

   [4] J. Rosenberg and H. Schulzrinne, "A framework for telephony
   routing over IP," Request for Comments 2871, Internet Engineering
   Task Force, June 2000.

   [5] International Telecommunication Union, "Packet based multimedia
   communication systems," Recommendation H.323, Telecommunication
   Standardization Sector of ITU, Geneva, Switzerland, Feb. 1998.

   [6] J. Rosenberg, "Requirements for Gateway Registration," Internet
   Draft, Internet Engineering Task Force, Nov. 2001.  Work in progress



Rosenberg, Salama, Bangalore, Shah                             [Page 27]


Internet Draft          draft-rs-trip-gw-03.txt            November 2001


Full Copyright Statement

   Copyright (C) The Internet Society (1999). 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.
























Rosenberg, Salama, Bangalore, Shah                             [Page 28]