Internet Engineering Task Force                                 IPTEL WG
INTERNET-DRAFT                                        Jonathan Rosenberg
draft-ietf-iptel-gwloc-framework-00.txt                Bell Laboratories
                                                     Henning Schulzrinne
                                                             Columbia U.
                                                            July 7, 1998
                                                Expires: January 7, 1999


              A Framework for a Gateway Location Protocol

STATUS OF THIS MEMO

   This document is an Internet-Draft. Internet-Drafts are working docu-
   ments of the Internet Engineering Task Force (IETF), its areas, and
   its working groups.  Note that other groups may also distribute work-
   ing 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 mate-
   rial or to cite them other than as ``work in progress''.

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or
   ftp.isi.edu (US West Coast).

   Distribution of this document is unlimited.

1 Abstract

   This document serves as a framework for developing a protocol for IP
   telephony gateway location. It defines the problem in detail, and
   overviews features and requirements for a protocol solution. It also
   defines some baseline terms and presents an architectural view of the
   problem.

2 Introduction

   While there seems to be agreement that a protocol mechanism is needed

                                                              [Page 1]


Internet Draft              gwloc framework                 July 7, 1998


   to assist in routing IP telephony calls to remote gateways, there is
   not yet consensus on exactly what this means, or what the require-
   ments for such a protocol are. This document defines the problem,
   proposes an architecture for discussion, defines common terms, and
   presents a set of requirements.

3 Problem Definition

   We can state the problem in its most general terms as follows:

   There exist some set of IP telephony gateways, each of which are
   characterized by a set of attributes. An IP host, which we generi-
   cally call a gateway location client, wishes to complete an IP tele-
   phony call through one of these gateways. The client has requirements
   concerning values for some of the attributes. Some protocol mechanism
   is required to allow the client to determine at least one gateway
   among the set which meet the criteria. As new gateways become opera-
   tional, old ones go offline, or attributes of existing gateways
   change, this information should become available to the client in an
   automatic way through the protocol. The information is made available
   by having other hosts, called gateway location servers, propagate
   information about some subset of the gateways for which each has
   authority. If this subset is of size 1, the gateway itself may act as
   a server. Otherwise, some proxy which obtains information about the
   gateways out of band may act as a server. The protocol must provide
   for discovery. That is, it should be possible for a new client to
   join the system, and be able to learn about the gateways advertised
   by the various servers, without having to establish an explicit con-
   nection with each server.

   This general problem can be instantiated in a number of specific
   instances, as defined below. These instances are not meant to be
   exhaustive or required. The protocol generically defines operation
   between gateway location clients and gateway location servers. Its
   specific usage in any or none of the scenarios below is entirely the
   choice of the implementor.

3.1 H.323 Gatekeeper to Gatekeeper Interzone

   The gateway location protocol can be used with ITU H.323 [1]. This
   scenario is depicted in Figure 1. There are a large number of zones,
   each of which has one or more gatekeepers. Each gatekeeper is respon-
   sible for some set of the gateways in each zone. Responsibility,
   here, implies that the gatekeeper know (1) whether the gateway is up
   or down, and (2) the attributes for each gateway. The means by which
   this is known may be through RAS, using the gateway location protocol
   again, on a smaller scale, as described below, or via some other
   means, such as SNMP.

   Each gatekeeper acts as both a gateway location client and gateway
   location server. While acting as server, it distributes information


                                                              [Page 2]


Internet Draft              gwloc framework                 July 7, 1998


   about the gateways its responsible for, via the protocol mechanism.
   This information is then obtained by the other gatekeepers, acting as
   gateway location clients.



     Zone 1    Zone 2    Zone 3     Zone N
    ----------     ----------     ----------      ----------
   |          |   |          |   |          |    |          |
   | GW  GW   |   | GW  GW   |   | GW  GW   |    | GW  GW   |
   |          |   |          |   |          |    |          |
   |  GW  GW  |   |  GW  GW  |   |  GW  GW  | .. |  GW  GW  |
   |          |   |          |   |          |    |          |
   |    GK    |   |    GK    |   | GK  GK   |    |    GK    |
   |   /\     |   |    /\    |   |/\   /\   |    |    /\    |
    ----||----     -----||----    -||---||--      -----||---
        ||              ||         ||   ||             ||
       -||--------------||---------||---||-------------||--
      |  \/              \/         \/   \/             \/ |
      |            Protocol Operation                      |
      |                                                    |
       -----------------------------------------------------

                  Figure 1: Interzone Operation




   As new zones come up, they can join protocol operation and automati-
   cally learn about gateways in other zones.

   To make use of the protocol, an H.323 terminal would make a gate-
   keeper routed call through its local gatekeeper. The alias address
   listed in the setup message would be a telephone number. The gate-
   keeper receiving the setup would then make use of the gateway loca-
   tion protocol, acting as a client, and determine the appropriate
   gateway for completing the call. The attributes for this gateway
   might include its gatekeeper. The setup message could then be for-
   warded to this gatekeeper, which would finally forward the call to
   the destination gateway. Call setup would then proceed normally for
   the gatekeeper to gatekeeper routed call.

   Alternatively, an H.323 terminal might send a RAS LRQ (Location
   Request) message to its gatekeeper, containing the desired telephone
   number in the alias address. The gatekeeper could then act as a gate-
   way location client, and determine the gateway appropriate for reach-
   ing the given number. The call signaling address of the gateway (or
   its gatekeeper) can then be returned in the response to the LRQ.


                                                              [Page 3]


Internet Draft              gwloc framework                 July 7, 1998


   Note that the above diagram does not imply that all zones in the
   Internet are participating in the protocol operation. It should be
   possible to support many instances of the protocol, with some (possi-
   bly overlapping) subset of zones participating in each instance.
   Zones would only participate in an instance of the protocol if they
   are interested in sharing gateway information with other zones par-
   ticipating in that instance. For example, a set of service providers
   may get together to form a confederation, sharing gateways and using
   some coordinated billing agreements. There are many examples of such
   confederations in existence today. The confederation may run a single
   instance of the protocol. Each participating ISP would have its own
   gatekeepers act as both gateway location clients and gateway location
   servers in that instance. An ISP who is a member of multiple confed-
   erations might participate in two instances of the protocol, one for
   each confederation of which it is a member.

3.2 H.323 Intra Zone Discovery

   The protocol can also be used to allow a gatekeeper to discover the
   gateways inside of its own zone. This scenario is depicted in Figure
   2



      ----        ----        ----        ----
     | GW |      | GW |      | GW |      | GW |
      -|--        -|--        -|--        -|--
       |           |           |           |
      \/          \/          \/          \/
     ------------------------------------------
    |         Protocol Operation               |
     ------------------------------------------
                 |           |
                 |           |
                \/          \/
                ----        ----
               | GK |      | GK |
                ----        ----

                   Figure 2: Intra Zone Discovery




   Here, the gateways inside of the zone act as gateway location
   clients, and the gatekeepers act as gateway location servers. As the
   protocol is really engineered for wide area operation, its usage in
   this scenario is more useful when a zone is extremely large,


                                                              [Page 4]


Internet Draft              gwloc framework                 July 7, 1998


   containing many gateways and gatekeepers. It is also most useful when
   it is desired for each gatekeeper to learn about each gateway.

3.3 Wide Area SIP Operation

   As it is desirable to make the gateway location protocol independent
   of the underlying IP telephony signaling protocol, it can be used
   with SIP [2] (or any of the many proprietary mechanisms still in
   use). Its usage with SIP is depicted in Figure 3.



        Domain a.com              Domain b.com
     - - - - - - - - - -    - - - - - - - - - - -
   |  ----        ----  |  |   ----        ----  |
     | GW |      | GW |       | GW |      | GW |
   |  -|--        -|--  |  |   -|--        -|--  |
       |           |            |           |
   |   |   ----    |    |  |    |    ----   |    |
       |  | SV |   |            |   | SV |  |
   |   |   ----    |    |  |    |    ----   |    |
       |    /\     |            |     /\    |
   |   |     |     |    |  |    |      |    |    |
     - - - - - - - - - -    - - - - - - - - - - -
       |     |     |            |      |    |
      \/     |    \/           \/      |   \/
     ------------------------------------------
    |         Protocol Operation               |
     ------------------------------------------

              Figure 3: SIP Operation




   Here, gateways in each domain act as gateway location servers. They
   each propagate information about their own attributes, via the proto-
   col, over the wide area network. SIP Servers (SV in the diagram)
   obtain these attributes. When a client (not shown) makes a call to
   the PSTN, it forwards the SIP INVITE to its local proxy server, with
   the Request URI and To field containing a telephone URL. This proxy
   server can then use the protocol to determine the appropriate gate-
   way. The gateway can then be returned to the client using a SIP redi-
   rect response, or the server can forward the call to the gateway
   directly, acting as a proxy.

4 Requirements



                                                              [Page 5]


Internet Draft              gwloc framework                 July 7, 1998


   Here, we discuss the requirements of the protocol to solve the
   defined problem. Note that many of these are similar to the require-
   ments for discovering wide area services in general [3]:

     oMulti-criteria. The client desires a gateway which can be charac-
      terized by a number of attributes. The client should be able to
      express the desired attributes of the gateway, and get back a
      gateway whose service meets the criteria. There should be no arbi-
      trary restriction on the type, values, or number of attributes
      which can potentially characterize a gateway. Obviously, some kind
      of standardization of baseline attributes, and their syntax and
      semantics, will be required for interoperability. However, it must
      be possible for implementors to define and register their own
      attributes. The protocol must provide a way to maintain minimum
      interoperability when a gateway location client does not under-
      stand some of the attributes sent by the server.

     oLocation Independent. It should not be necessary for the gateway
      location client to know the domain, zone, IP address, administra-
      tor, or any other type of name of a gateway in order to locate and
      use it.

     oAuto Configured. It should be straightfoward to configure new
      clients and servers to use the protocol. A new gateway should
      automatically be discoverable, requiring no new configuration on
      the part of existing clients, and little or no setting of
      addresses or other parameters in the new gateway (or the server
      representing it).

     oRapid Availability. When a gateway is first brought on line, it
      should become visible and accessible to clients rapidly.

     oAutomated. The location process should be automated, and not rely
      on interactive input from a user to satisfy a reasonable query.
      However, the protocol should not prevent interactive sessions.

     oRapid. The gateway location process should occur as rapidly as
      possible. It is one component of many in the post-dial delay. It
      is therefore desirable to avoid wide area, distributed database
      searches in order to determine a suitable gateway.

     oPolicy Support. The protocol must support policy. This means that
      it must be possible for a client to eliminate certain gateways
      from the selection process based on any desired combination of
      attributes. It must also be possible for a server to specify pol-
      icy, so that it can restrict the set of clients which can access
      it.



                                                              [Page 6]


Internet Draft              gwloc framework                 July 7, 1998


     oWorldwide. The location of a desired gateway can be anywhere, as
      can be the client. The protocol should be internationalized, sup-
      porting queries and attributes in different languages.

     oScalable. There can be millions of clients, servers, and gateways,
      and the protocol will still operate correctly.

     oMildly Dynamic. The attributes which characterize the service pro-
      vided by the gateway do not change on small timescales. However,
      they may change on larger timescales, and this should be handled
      appropriately.

     oSecurity. Encryption of messages must be supported. Authentication
      and non-repudiation of attributes for gateways must be supported.

     oMultiple Instances. It should be possible to run multiple
      instances of the protocol, so that gateway location servers in an
      instance make their gateways available only to those gateway loca-
      tion clients running in the instance.

     oSignaling Protocol Independent. The protocol should be independent
      of the underlying IP telephony signaling protocol, be it H.323,
      SIP, or some other proprietary protocol.

4.1 Possible Attributes

   As the protocol involves selection of gateways based on attributes,
   it is necessary to define a base set of attributes. Below are a par-
   tial list of potential attributes:

     oPhone Prefixes Allowed: The set of phone number prefixes which
      this gateway is permitted to call.

     oGateway Address: The IP address of the gateway.

     oCodecs Supported: List of codecs supported by the gateway.

     oSignaling Protocols Supported: List of signaling protocols and
      versions supported.

     oCost Plan: Some kind of cost structure describing how much the
      gateway will bill for calls based on time of day, destination,
      etc.

     oBilling Methods: Tokens which describe the ways in which calls
      through the gateway can be billed. Examples include credit and
      debit cards, clearinghouse, e-cash, etc.



                                                              [Page 7]


Internet Draft              gwloc framework                 July 7, 1998


     oConfederation or ClearingHouse Memberships: Membership in various
      confederations.

     oAdministrator: Name of the corporation that administers the gate-
      way.

     oTotal Capacity: Number of lines supported by the gateway.

     oAvailable Capacity: Estimate of the number of lines still avail-
      able through the gateway.

     oFeatures Supported: Supplementary telephony services supported by
      the gateway, such as multiparty calling, transfer, and forward.

     oGatekeeper: The gatekeeper for the gateway.

5 Security Considerations

   Security is a critical requirement for a protocol solution. Encryp-
   tion, authentication, and non-repudiation are minimal requirements.

6 Conclusion

   We have defined the problem of gateway location, proposed a framework
   for discussing solutions, and defined a set of key requirements for a
   solution.

7 Full Copyright Statement

   Copyright (C) The Internet Society (1998). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implmentation may be prepared, copied, published and
   distributed, in whole or in part, without restriction of any kind,
   provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.

   However, this document itself may not be modified in any way, such as
   by removing the copyright notice or references to the Internet Soci-
   ety 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 fol-
   lowed, 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.


                                                              [Page 8]


Internet Draft              gwloc framework                 July 7, 1998


   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 MER-
   CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."

8 Bibliography

   [1] International Telecommunication Union, Visual telephone systems
   and equipment for local area networks which provide a non-guaranteed
   quality of service, Recommendation H.323, Telecommunication Standard-
   ization Sector of ITU, Geneva, Switzerland, May 1996.

   [2] M. Handley, H. Schulzrinne, and E. Schooler, SIP: Session initia-
   tion protocol, Internet Draft, Internet Engineering Task Force, Mar.
   1998.  Work in progress.

   [3] J. Rosenberg, H. Schulzrinne, E. Guttman, and R. Moats, WASRV
   architectural principles, Internet Draft, Internet Engineering Task
   Force, Feb. 1998.  Work in progress.

9 Authors Addresses


   Jonathan Rosenberg
   Lucent Technologies, Bell Laboratories
   101 Crawfords Corner Rd.
   Holmdel, NJ 07733
   Rm. 4C-526
   email: jdrosen@bell-labs.com

   Henning Schulzrinne
   Columbia University
   M/S 0401
   1214 Amsterdam Ave.
   New York, NY 10027-7003
   email: schulzrinne@cs.columbia.edu












                                                              [Page 9]