While VoIP gateways are effectively switches that cross the border between the PSTN and IP networks, endpoint management and service control on the IP side are performed by gatekeepers. In many implementations, gatekeepers are responsible for call routing, billing, security (particularly user authentication and authorization), QoS reservations, and—depending on the implementation—any other functions that deal with executing user applications that control gateways. Just as is the case with the SCPs (or switch adjuncts), the gatekeepers are general-purpose computers, which means that they can potentially execute any application. On the other hand, there are functions that all gatekeepers must execute according to the H.323 family of standards. Thus, the first things to do when selecting a gatekeeper are to ask whether the current version of the H.323 standard (in late 1999, version 2) is supported and to assess the degree to which it is supported by going through a checklist of standard requirements.
Figure 1 depicts the interconnection of the gatekeeper with other network entities. First, note that the entities (that is, gateways and other H.323 clients) are placed into zones. In high-end products, a zone supports up to 2000 concurrent active calls at the arrival rate of 30 calls per second for small systems. The number of gateways in a zone is determined solely by the preceding parameters. There is only one gatekeeper in a zone, but gatekeepers do interact with each other across zones. Gatekeepers also interact with gateways across IP networks; however, as Figure 1 demonstrates, it often makes sense (especially in the enterprise environment) to interconnect the gatekeeper directly with the gateways in its zone, for example, via a LAN.
As hardware components, gatekeepers are no more than general computers, although high-end models presently run on top-of-the-line servers with fast CPUs, local (cache) memory, gigabits of random access memory (RAM), and several hot-swappable disk drives and power supplies. The hardware itself typically supports several levels of system diagnostics. Together these features ensure both high-speed processing and necessary fault tolerance. In some systems, the gatekeeper hardware is augmented by a database server running on a separate machine. The defining element of a gatekeeper, however, is software, and in fact some vendors’ products are software only.
The features of leading enterprise-grade gatekeepers provide the following functions:
§ Call routing. The gatekeepers determine by using the destination number whether the originating gateway can terminate the call. If so, the gateway is instructed to complete the call. Otherwise, the gatekeeper must find the IP address of the terminating gateway and pass it to the originating gateway.
One element of the call-routing capabilities provided by advanced gatekeepers employed in multigateway zones is load balancing. Based on the load within a zone, the gatekeeper selects the VoIP gateway with the least load at the moment. Location of the appropriate terminating gateways (assuming there is more than one) is based on data stored in routing tables and the current status of possible termination gateways. If the call setup to a chosen gateway fails, the next available gateway is selected, and so on, until the list of gateways is exhausted or a preconfigured number of attempts is reached. When either limit is reached, the gatekeeper notifies the originating gateway of the failure.
§ H.323 endpoint management. The mandatory H.323-prescribed capabilities include terminal registration, zone management, admission control, address translation, and bandwidth control. Gatekeepers accept a registration request from a terminal, MCU, or gateway joining the zone and respond with confirmation or rejection; these entities can also unregister with a corresponding message.
§ Authentication and authorization. Authentication is the process by which a gatekeeper establishes whether a user can make a call; authorization ensures that users have access only to services to which they are subscribed. PSTN users are authenticated with a user identification and PIN (for two-stage dialing) and originating telephone number [automatic number identification (ANI) in North America or calling line identification (CLI) in Europe]. Authentication information is collected by the gateway and then transferred to the gatekeeper in an authentication query. IP users are authenticated at the time the respective endpoints register with the gatekeeper. Gatekeepers may perform authentication themselves (often during endpoint registration) or they can query external authority databases. An example of such an external database is a prepay billing server, which is typically used with prepaid two-stage calls. In either case, gateways maintain the subscriber authorization and authentication table described later in this section. The same table contains information about services to which users have subscribed, which is used by the gatekeeper in the process of authorization.
§ Accounting. If authorization is successful, the gatekeeper creates a record [a call detail record (CDR)], which contains information about the call, including all endpoint addresses (IP address in the case of IP endpoints, or ANI/CLI or destination number in the case of PSTN endpoints), packet transmission information, numbers of bytes and packets received, termination causes, and other data that vary from one product to another. [Note that CDRs are established for both originating (ingress) and terminating (egress) calls. Naturally, their formats differ.] The information in and disposition of a CDR depends on whether the call is prepaid or billable.
For prepaid calls, CDRs are issued once every pulse (predefined period of time). Multiple CDRs pertinent to a single call are linked by the call reference value, which the gatekeeper assigns to each call and subsequently stores in all relevant CDRs. These CDRs are usually shipped to a server associated with a prepaid service. (There can be several such servers for a given gatekeeper.) The responsible server actually performs the authentication and authorization and ultimately takes care of accounting. This server also notifies the gatekeeper when to disconnect the call. Usually, there is a provision for polite handling of the end of a call. When little time remains on the call (say 30 seconds), the gatekeeper, via signaling to the gateway, interrupts the call and makes an announcement warning of pending disconnection.
Subsequently, the gatekeeper reestablishes the call, which lasts until it is either disconnected by one of the parties or the call time is up, in which case it is disconnected on the request of the gatekeeper.
For billable calls, CDRs are issued once per call (in which case they contain the call setup and disconnect times) and then accumulated until billing software processes them. Experience has demonstrated that CDRs require extensive disk space, which makes it important to ensure that the gatekeeper (or relevant servers) have enough space to operate for at least 24 hours. The estimated volume of disk space required for a sustained rate of 30 calls per second is close to 2 GB.
§ System security. Authentication and authorization addresses the issue of call security. System-level security is achieved through a network-wide shared configurable control string to prevent unauthorized access over the network, maintenance of access control lists (where all admissible gatekeepers and gateways are identified), and enforcement of access control. The mechanisms that log and process failed access attempts are also present in most products. Configurable automata that disable user accounts (for example, after a wrong password has been entered several times) constitute another effective security mechanism that can be easily implemented by a customer as long as the product provides SNMP alarms for corresponding events.
§ Administration. Administration packages are effectively database management systems tuned to administer a database. A specific (but still representative) example of the administered tables is as follows:
§ System elements table. Stores the information required for routing, signaling, and monitoring. Such information typically includes unique identifiers of the gatekeeper subcomponents responsible for call routing (in products that include gateways as part of the offering, relevant gateway information); the IP address of and signaling port for each managed element (in some products, the RAS signaling port and call signaling ports are different); a secret key for security (to be used, for example, in H.323 tokens); zone identification; and status (in or out of service). Some products include a separate managing entity program running on a different processor than that used for the gatekeeper; in such products, the information pertaining to this managing entity is also included.
§ Authorization and authentication table. Stores the gatekeeper identifiers; lists of identifiers of those users to whom a specific authorization or authentication procedure applies, as well as the address of the designated external authorization if the authorization is to be performed locally; and the recovery mechanism for the case when the external server is unreachable. The recovery mechanism, in order to maintain the customer-friendly perception of the overall service for two-stage dialing systems, is often implemented in a surprisingly straightforward way. The caller is allowed to proceed with the call for some minimum time (during which the gatekeeper is supposed to reach the external server); if the server cannot be reached within this time, the call allotment is again increased by the prescribed minimum, and so on.
§ PSTN user table. For each user, stores a unique ID, a PIN, the status of the user account (in service or disabled), a set of services subscribed for by a particular user, and other user-specific information.
§ Intrazone routing table. Stores the information needed to map a destination telephone number to a specific gateway within the zone. Each entry in the table is associated with a particular gateway and includes the prefix (a string of digits from 0 to 9) so that all numbers that start with this prefix are to be routed to a specific gateway; the numbering plan (private or public); and the gateway identifier. In addition, advanced products provide entries for a list of prefixes to which calls may not be made. Another useful entry provided in large gatekeepers specifies (via an integer number, typically 1 byte long) the preference indicator for terminating a call on that specific gateway; if several gateway entries contain the same prefix, the one with the largest preference indicator is selected. Thus, for example, algorithms that monitor the load of gateways may automatically update this field to achieve load balancing.
§ Configuration parameters table. Stores the values of low-level runtime product-specific parameters.
Fault and performance management are typically performed, using the SNMP protocol, by an SNMP-based management system, which is included in some offerings. The management system is a necessary part of a telephony server, which typically combines a gatekeeper, gateway, and network manager. The network manager should be expected to scale so as to support multiple gatekeepers (that is, multiple administrative zones). At the time of writing, the SNMP versions 1 and 2 were supported by advanced products.
No comments:
Post a Comment