WHITE PAPER Enhanced Gatekeeper Solutions Using GKTMP/API Copyright 2000 Cisco Systems, Inc All Rights Reserved
Table of Contents Definitions 3 Overview 4 Architecture 4 Infrastructure Zone 4 Application Zone 5 GKTMP 6 Primitives 7 Implementation 7 External Interface 7 GKAPI 8 Sample Packaged Cisco Solution 8 NAM-based Routing 10 Example 800-number Application 11 Summary 12 References 12 Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 2 of 12
Definitions AIN Advanced Intelligent Network GK Gatekeeper GKTMP GateKeeper Transaction Message Protocol GW Gateway ICM Intelligent Call Manager INAP Intelligent Network Application Part NAM Network Application Manager RAS H225 Registration, Admission, and Status protocol Spoken between H323 gateways and their gatekeepers SIP Session Initiation Protocol VPN Virtual Private Network TDM Time Division Multiplexing Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 3 of 12
Overview Gatekeeper Transaction Message Protocol (GKTMP) is a protocol that can be used to provide custom solutions external to the IOS Gatekeeper platform It allows customers that use H323 Gatekeepers to develop applications to meet their individual needs Sample applications include: number translation like 800 service or Virtual Private Network (VPN) time-based and/or cost-based routing interface with applications that require subscriber profile and/or persistent database The emerging market trends for voice/data convergence has led to the positioning of the H323 gatekeeper in a pivotal role With a broader spectrum of customers trying to fit the H323 gatekeepers to each of their requirements, it is becoming more necessary to see that the gatekeeper becomes independent of the application that the customer wants to use it for This ensures that the gatekeeper can essentially stay as it should in a realistic sense an infrastructure gatekeeper Usage of the GKTMP protocol provides more freedom for the customer to develop applications that suit their individual needs Architecture This section describes the routing architecture that involves GKTMP and GK API Two main components of this architecture are: Infrastructure Zone Application Zone Infrastructure Zone Infrastructure Zone (Figure 1: Infrastructure Zone) is composed of endpoints or gateways and at least one gatekeeper The gatekeeper is for: routing the incoming messages to one or more application zone gatekeepers handling the registration of the endpoints or gateways providing infrastructure services for custom applications such as Least Cost routing, Overlapping Dial-Plans, Conditional routing (time of day, day of week, congestion routing,etc)thesecanbedeliveredinconjunctionwithanapplicationserverusingapis (GKTMP/interface) Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 4 of 12
Services Plane Partner Applications Internet Call W aiting Click to Dial Partner Application ApplicationZone Call Control Plane 36xx Gatekeeper Registration Translation / Routing M ulti-zone Support Third-Party Gatekeeper G Infrasturcture Zone Connection Plane AS5300 M ultiservice Gateway Voice, Data, Fax 4xT1/E1 NEBS V Figure 1: Infrastructure Zone Application Zone Application Zone builds upon an infrastructure zone It handles Enhanced Services applications such as Internet CallWaiting or Unified Messaging A powerful infrastructure gatekeeper can provide a scalable model for the application zone and address additional customers requirements An infrastructure gatekeeper is designed as a robust, scalable, reliable and high throughput gatekeeper It is only responsible for routing messages to other gatekeepers or routing applications The routing of messages can be done via RAS or GKTMP (only to external applications) Implementation of routing on Cisco IOS gatekeeper is kept very basic It is enhanced to help third party applications vendors to implement intelligent routing services (Least Cost routing, Time of Day routing, percentage allocation, Network Congestion routing) The Infrastructure application supports these routing services With GKTMP, the gatekeeper can use static or dynamic triggers to pass the appropriate information back and forth (Figure 2: Routing Implementation) Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 5 of 12
CUSTOM APPLICATION Application Zone GK API Infrastructure Zone App Server GK-GK Protocol (LRQ) GK2 GKTMP GK1 Packet Network Packet Network PSTN Figure 2: Routing Implementation Advantages of this architecture include: The IOS gatekeeper is the infrastructure gatekeeper Third-party developers can develop a platform that can be dynamically provisioned and have access to persistent storage and database Ability to modify the default behavior of a gatekeeper Effective management of resources like endpoints, bandwidth, or even zones GKTMP GKTMP is a text-based protocol It can be used to offload all transaction-related jobs like endpoint/zone routing to an external application by presenting the contents of an incoming RAS message to the application and acting on its response By using these messages, any external application can be used to transact with the gatekeeper To communicate with the gatekeeper, the external application has to establish a TCP connection on a port that is also known to the gatekeeper This port has to be configured on the gatekeeper CLI When the application runs as a server, it waits for a connection from the gatekeeper The connection is successfully established when the gatekeeper interfaces with the proper configuration settings The gatekeeper can be configured (static triggers) through the command line to send certain messages to the server When the application runs as a client, the gatekeeper listens on the port for a connection Once the connection is established, it can register for the messages it wants to receive Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 6 of 12
The application should respond to the GKTMP request and can change the fields of the original RAS request as required by the application scenario Features of GKTMP include the following: It runs on TCP which is a reliable connection-oriented protocol that facilitates development of simple client/server model-based applications The text-based nature makes it easier to develop applications without specific knowledge of the messaging structure in the H323 suite It helps in decision-making based on the message components/sub-components that are exchanged between the gatekeeper and the external application Triggers can be set statically through the CLI on the gatekeeper or they can be set by the external application dynamically RAS messages contents are re-encoded in GKTMP format based on triggers that are set in the gatekeeper When an external application sets the dynamic triggers, it makes use of a port that is opened by the gatekeeper for this purpose Primitives Following are primitives used in GKTMP (version 20) REGISTER for dynamically setting the trigger on the gatekeeper UNREGISTER for dynamically setting the trigger on the gatekeeper REQUEST RRQ, ARQ, LRQ, DRQ, RAI RESPONSE RRQ, RCF, RRJ, LRQ, LCF, LRJ, RIP, etc Implementation 1 Based on the trigger settings, the gatekeeper determines if the incoming RAS message should be sent to the external application 2 If yes, the gatekeeper translates the RAS message into a corresponding GKTMP REQUEST message for the server to process 3 The gatekeeper waits for a RESPONSE message from the server which can give directives and override the gatekeeper default behavior Note: Some messages are NOTIFICATION-ONLY External Interface Following is a description of external interface implementation 1 Dynamically or statically, triggers are established for each external application on the Cisco IOS Gatekeeper 2 When the Cisco IOS Gatekeeper receives a RAS message from an H323 endpoint, it compares the message with the triggers Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 7 of 12
3 If there is a match, the Cisco IOS Gatekeeper converts the RAS message contents to GKTMP format and sends it to the appropriate external application 4 The Gatekeeper API decodes the byte stream and creates a usable C structure in buffer 5 The external application processes the data and returns the results to the Gatekeeper API 6 The Gatekeeper API encodes the response message in GKTMP format and sends the data to the Cisco IOS Gatekeeper 7 The Cisco IOS Gatekeeper performs any additional processing as necessary, and forwards the result to the requesting H323 endpoint The interaction between the Cisco IOS Gatekeeper and the external application is fully transparent to the H323 endpoint Communication between the Cisco IOS Gatekeeper and the external application is over a TCP connection through the Gatekeeper API Multiple gatekeepers can be configured on a single IOS router as logical gatekeepers The same TCP connection can be used by all the logical Cisco IOS Gatekeepers Each Cisco IOS Gatekeeper is identified by a gatekeeper ID The ID is included in all request and response messages between the Cisco IOS Gatekeeper and the external application If there are different external applications running on the same host, messages to the different external applications can be multiplexed on the same TCP connection External applications are identified by their server IDs GKAPI GKAPI provides GKTMP encoding/decoding and socket handling library to the gatekeeper for quick application development It is platform-independent and can run on Solaris, Linux and Windows NT It is currently supported on Solaris and Linux GKAPI is packaged as an object file and is available to customers or third party developers It comes with a header file which has to be included in the application developed and compiled by the third party developers Sample Packaged Cisco Solution The following figure describes a packaged Cisco solution Main focus of this solution is Network Application Manager (NAM) or Intelligent Call Manager (ICM) The integration of NAM solution with the Cisco Gatekeeper and gateways presents a shrink-wrap solution that offers the strengths of all Cisco components This integration, which includes infrastructure zone devices that support the GKTMP interface, provides the vertical applications required for end-to-end voice solutions It offers routing features such as Least Cost routing, Allocation routing, time of day routing, and service based routing such as 800 transaction, VPN, etc Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 8 of 12
PSTN Cisco Gatekeeper PSTN Cisco ICM Cisco NAM Cisco Gatekeeper Cisco Gateways PSTN Cisco Call Manager VoIP Network Figure 3: Sample Packaged Cisco Solution Main features of this solution include the following: Integrated TDM/VoIP services INAP/AIN H323/SIP Single point of provisioning that provides a user-friendly creation environment (user/exit GUI scripts) Open database with user-friendly reporting/monitoring Geographic fault-tolerant architecture System availability maintained when there is a site/node failure No fail-over time Endpoint/Gatekeeper selection Least Cost routing capabilities Performance Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 9 of 12
Can be connected to zone or directory gatekeeper Conditional routing (ie percentage, time based, external information) Easily configurable Toll-free service (destination number translation service) Provides NAM's existing routing capabilities for end-point/gatekeeper selection Time of Day Dayof Week Percent Allocation Application Query Database Query NAM-based Routing Cisco NAM-based routing provides H323 destination alias and endpoint address resolution (translation) based on static ICM provisioning and per-call interpreted router scripts By using routing scripts and a dial plan defined for the customer's business model, the NAM provides one or more of the following features on behalf of the gatekeeper: 800 number lookup, VPN translation using a private numbering plan, and Least Cost routing The NAM translates incoming location and admission requests by using per-call source and destination alias address information The resulting translation produces a resolved destination alias and one or more endpoint transport addresses Destination endpoint number translation is optional If it is not provided, the NAM will provide endpoint transport (destcallsignaladdress, supplied as an IPV4 address) mapping alone Additionally, the NAM supports generation of a remote zone (remote gatekeeper) transport address Multiple addresses (remote zone addresses or alternate endpoints) can be configured The Gatekeeper/NAM supports the carrier environment Service Bureau configuration in which a NAM communicates in turn to a Customer ICM (CICM) for actual destination and endpoint address resolution Whether per-customer CICMs are deployed (as opposed to localized NAM routing) is a function of deployment scale and function, eg customermanaged dial plans Following are additional features supported by NAM: Multiple Gatekeeper Support NAM Fault Tolerance Gatekeeper Cluster Support Multiple Alias-Address Field Type Support Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 10 of 12
Example 800-number Application Following is an example of a typical 800 address resolution scenario 1- Incoming call GW3 GW1 GW2 GW4 161187920 9- Place outbound call 2- ARQ (destinationinfo=18008001180) 5- ACF Cisco IOS GK (destinationinfo=14085264000 destcallsignaladdress= 161187920) 6- Setup 7- ARQ 8- ACF 4 Response-ACF (d=14085264000 D=161187920) Cisco IOS GK 3 Request-ARQ (d=18008001180) Cisco NAM/ICM Configuration 1 Time of Day 2 Day ofweek 3 % allocation H225 RAS Messages GKTMP Primitives Figure 4: Example 800 Application In this example, the call to a 800 number is initiated from the PSTN to the gateway The gateway is registered with the gatekeeper The ARQ from the gateway contains information on the destination The gatekeeper is configured to trigger the application on the receipt of an ARQ from the endpoints The Cisco NAM can be configured using a script editor to act upon the receipt of a GKTMP message The application will look up the equivalent E164 address and IP address of an endpoint that can complete the call from the database/configuration The application can be configured for various types of routing scenarios such as Time of Day, Day of Week or Percentage Allocation The derived information is added to the response message (RESPONSE-ACF) and is sent back by the NAM/ICM to the Cisco IOS Gatekeeper As shown in this example, the routing behavior of the gatekeeper is influenced by the external server (Cisco NAM/ICM) Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 11 of 12
Summary GKTMP interface provides an open platform for custom external application development GKTMP interface enhances the IOS Gatekeeper to be more dynamic in routing when it is handled by external influence Cisco NAM is a packaged solution It addresses most of the customers' needs, so it reduces time-to-market Continuous upgrades to the application is expected as upgrades are made to the GKAPI interface References Refer to the following URLs for more information: For configuring the Cisco IOS Gatekeeper, URL: http://wwwciscocom/univercd/cc/td/doc/product/software/ios113ed/113na/1136na2/ 0042gkhtm For GKTMP interface and GKAPI, URL: http://wwwciscocom/univercd/cc/td/doc/product/access/acs_serv/vapp_dev/gktmpapi/ howgktmphtm For developer support on GKTMP/API, URL: http://wwwciscocom/go/developersupport Copyright 2000 Cisco Systems, Inc All Rights Reserved Page 12 of 12