Abstract:
A computer-implemented system for providing access to Wireless Application Protocol (WAP)-based services by providing a Web-based Administration Console utilizing the WAP environment; providing a secure method to log in and access the WAP environment; enabling administrators to perform maintenance operations without interrupting users&#39; access to the WAP environment; monitoring the status of all modules controlled by the Administration Console; monitoring events occurring within such Console; editing the configuration parameters of the Administration Console; managing those users or groups of users who access the WAP Environment via such Console; administering accounting functions associated with billing those users or groups of users who access the WAP Environment via such Console; establishing groups of users who access the WAP Environment via such Console; establishing of aliases accessible only by specific users or groups of users; and enabling service providers to add their services to those which are accessible to users who access the WAP Environment via such Console.

Description:
CLAIM OF PRIORITY  
       [0001]    This application is related to provisional application Serial No. 60/203,811 filed on May 19, 2000 based upon which priority is claimed pursuant to 35 U.S.C. § 119(e). 
     
    
     
       TECHNICAL FIELD  
         [0002]    This invention relates generally to providing information access via a Wireless Application Protocol (WAP) gateway, and this invention relates specifically to a system for providing the services to users of a WAP gateway.  
         BACKGROUND OF THE INVENTION  
         [0003]    The demand for wireless services is growing rapidly all around the world. Businesspeople and ordinary consumers lead increasingly mobile lives; they are no longer bound to their home and office computers, but still want to have information at their fingertips whenever they need it. Wireless networks provide people on the move with a medium for easy information access.  
           [0004]    The Wireless Application Protocol (WAP) is the de facto world standard for displaying and transmitting information and telephony services on mobile phones and other wireless terminals. The global WAP specification was developed by the industry&#39;s top experts as an open standard to implement wireless Internet access. This open standard benefits the whole wireless telecommunication community: carriers, infrastructure vendors, application developers, service providers, and, ultimately, end users. The WAP specification extends existing mobile networking and Internet technologies. It is bearer and device independent, and thus helps foster interoperability.  
           [0005]    The WAP programming model is largely based on the WWW programming model with clients and servers. Existing standards have been used as a starting point for WAP technology whenever possible. They have been optimized and extended to provide the best functionality in a wireless environment.  
           [0006]    The basic WAP model consists of a client (a WAE user agent, also called a WAP terminal), a gateway, and an origin or content server. A request is sent by an end user through a WAP terminal to a content server on the Internet or in a network. The WAP terminal transmits the request, a standard HTTP request in encoded format, to the gateway. The gateway decodes and processes the request and sends it on to the appropriate content server. The response from the content server is sent back to the gateway over HTTP. The gateway encodes the response and transmits it to the WAP terminal.  
           [0007]    The WAP model defines a set of standard components for communication between WAP terminals and content servers.  
           [0008]    Standard URL names are used to identify WAP content in a network.  
           [0009]    Content is identified by a specific type consistent with WWW typing in order to enable correct processing in the WAP terminal.  
           [0010]    Standard content formats based on WWW technology are used.  
           [0011]    Standard communications protocols are used to transmit requests from WAP terminals to content servers.  
           [0012]    The client device in the WAP programming model is a WAP terminal: a mobile phone or other wireless device used by the end user to request and receive information. A microbrowser in the WAP terminal controls the user interface analogously to a standard Web browser. WAP terminals typically accept data in WML and WMLScript formats. Different types of terminals may also accept bitmaps and other content types.  
           [0013]    A WAP gateway communicates with content servers by using the standard HTTP 1.1 protocol. The gateway&#39;s location between the WAP terminal and the content server can be compared to that of a standard WWW proxy server. However, a gateway differs from a proxy in that it receives requests from end users as if it were the actual content server for the requested data. The gateway is usually transparent to the end user. The gateway functionality can be added to content servers or placed in a dedicated gateway machine, as in FIG. 1.  
           [0014]    The gateway performs most tasks related to WAP use, which minimizes the demand for processing power in the WAP terminal. The use of a gateway allows content and applications to be hosted on standard WWW servers and developed with WWW technologies.  
           [0015]    The gateway translates requests from the WAP protocol stack to WWW protocols. It also provides functionality for encoding and decoding data transferred from and to the WAP terminal. WML content from the Internet needs to be encoded in order to minimize the size and number of packets sent to the WAP terminal.  
           [0016]    Servers in the WAP model are standard WWW servers that provide WAP content. Content servers can be located on the Internet or in a local network. The content can be anything: stock quotes, weather reports, news headlines, banking services . . . . There are no restrictions to the format of data provided by content servers, but the capabilities of the receiving WAP terminal determines which formats are accepted.  
           [0017]    The WAP architecture provides a scalable and extensible environment for further development of applications and devices. The WAP specification defines a lightweight protocol stack that can operate on high-latency, low-bandwidth wireless networks. The stack is located in the gateway and designed so that a variety of networks can run WAP applications. The WAP architecture consists of various layers. External services and applications can use the features provided by different layers through a set of defined interfaces.  
           [0018]    WAE is a general application environment based on a combination of WWW and mobile telephony technologies. It provides an interoperable environment for building applications and services that can function in a variety of wireless networks. WAE includes a microbrowser environment for use in WAP terminals.  
           [0019]    The session layer is based on modified binary-encoded HTTP 1.1. It provides the application layer with a consistent interface for two modes of session services: connection-oriented and connectionless.  
           [0020]    The connection-oriented mode operates above the WTP layer. It provides acknowledgements for request-reply transactions and more reliable service, but uses more bandwidth and processing power in WAP terminals. Connectionless mode operates above WDP. It does not provide acknowledgements, but enables the use of WAP even in narrowband networks and WAP terminals with limited processing power.  
           [0021]    Most connections between the WAP terminal and the gateway use WSP regardless of the protocol of the content server from which data is requested. The URL used to request data specifies the protocol used by the content server. Thus, the end user does not need to know what protocol is used in intervening connections.  
           [0022]    The transaction layer provides a lightweight, transaction-oriented protocol suitable for implementation in wireless networks. WTP can be compared to traditional TCP in terms of function. However, WTP reduces the amount of information that needs to be transmitted for each request-response transaction, and is thus optimized for wireless use. WTP provides reliability in connections by way of acknowledgements and retransmissions.  
           [0023]    The WTLS security protocol is based on the industry standard TLS protocol. WTLS has been optimized for use over narrow-band communication channels and provides features such as data integrity, privacy, authentication, and denial-of-service protection. Most WAP terminals can enable or disable WTLS features depending on the security requirements and the underlying network. The security layer is thus optional in the WAP architecture, but may be used for services such as banking and e-commerce.  
           [0024]    The transport layer protocol operates transparently above the bearer services and is adapted to specific features of the underlying bearer. The transport layer provides a common interface for the upper layer protocols (security, transaction, session, and application), which are thus able to function independently of the bearer network.  
           [0025]    WAP is designed to operate over different bearer networks. The network layer in the protocol stack supports these bearers. Different bearers offer different levels of service, which the WAP protocols are designed to compensate.  
           [0026]    The WAP specification includes the Wireless Markup Language (WML). WML is a tag-based document language that conforms to XML standards and is designed especially for use within the limited computing environment of mobile terminal devices.  
           [0027]    From the WAP gateway, all WML content on Web servers is accessed with standard HTTP 1.1 requests. WML documents are divided into units of user interaction called cards and decks. A deck is defined as the entire WML document retrieved (e.g. “Today&#39;s news stories”), and a card is the amount of data displayed at once on the WAP terminal (e.g. “First story”, “Second story”). Using cards and decks makes browsing the content faster, as the data does not have to be retrieved from the content server every time the user needs it. The WAP content can be browsed analogously to Web pages: the user can navigate back and forth between cards from one or several decks.  
           [0028]    WML provides a variety of features, such as the following:  
           [0029]    Content authors can specify text and images presented to the end user.  
           [0030]    Layout and presentation on WAP terminals are specified in general terms, which allows independence for device developers.  
           [0031]    Support is provided for elements to solicit user input, such as text entries (e.g. passwords) and option selection.  
           [0032]    WML allows several navigation mechanisms using URLs and enables international support for different character sets.  
           [0033]    WML includes a variety of technologies to optimize communication on narrow-band devices.  
           [0034]    WML enables state and context management.  
           [0035]    WMLScript is a lightweight, procedural scripting language. It is loosely based on a subset of the industry standard JavaScript™ language, but adapted for optimum use in the narrow-band environment of wireless terminals. WMLScript supports several basic data types and attempts to convert automatically between different types when necessary. WMLScript also supports several categories of operations and functions and defines several standard libraries.  
           [0036]    WMLScript is fully integrated with the WML browser in the WAP terminal and enhances the standard browsing and presentation facilities of WML. It enables the WAP terminal to interact with the user in a more intelligent way, for example to check the validity of user input before it is sent to the content server.  
           [0037]    Due to the limited processing power of WAP terminals and the requirements of over-the-air transmission, data needs to be sent from the gateway to the WAP terminal in as compact a format as possible. The gateway contains compilers that convert WML and WMLScript into their binary encoded counterparts. Each WML deck is converted into its binary format, WMLC; WMLScript is compiled into low-level bytecode. The compiled data is then sent to the WAP terminal for interpretation and execution.  
           [0038]    Many applications on the Internet, such as banking services, require a secure connection between the WAP terminal and the content server. The WAP specification defines a security layer, WTLS, which is used with WAP transport protocols. WAP can provide end-to-end security for connections where the terminal and content server communicate directly using WAP protocols.  
           [0039]    The WAP environment supports HTTP 1.1 basic authentication where an end user can be authenticated on the basis of a username and a password. WAP can also use the authentication methods of the underlying bearer network.  
           [0040]    Using the WAP environment, a service provider must administer to its users in a consistent, uniform manner, providing adequate security measures to all users, permitting and/or preventing access to certain classes of service, and giving users the confidence necessary to enable them to use the service without worries related to cyberspace.  
           [0041]    Thus, there is a need in the art for a system for providing information to consumers over a WAP enabled gateway.  
         SUMMARY OF THE INVENTION  
         [0042]    The present invention solves significant problems in the art by providing a computer-implemented system for administering access to Wireless Application Protocol (WAP)-based services.  
           [0043]    In a preferred embodiment of the invention, what is provided is a system for providing information over a Wireless Application Protocol Gateway, comprising at least one Access Point; a Core; a Knowledge Base; an Administrative Console; a Statistics Module; and, at least one Content Server.  
           [0044]    In an alternate embodiment of the invention, what is provided is a system for providing information over a wireless application protocol gateway in a Cellular Digital Packet Data network, with static Internet Protocol addressing, comprising: a Core; a Knowledge Base; an Administrative Console; a Statistics Module; and, at least one Content Server.  
           [0045]    In another alternate embodiment of the invention, what is provided is a system for providing information over a Wireless Application Protocol Gateway, comprising at least one Access Point, wherein the Access Point enables consumers to connect to the gateway and further is utilized in a Circuit Switched Data network, whereby incoming traffic from the network is directed through a dialup server over User Datagram Protocol; a Core, wherein the Core transmits requests from consumers to the Content Servers on a global network of computers, and data from the Content Servers back to the consumers, the Core comprised of content adapters, session/transaction handling modules, WAP Stack modules, and Wireless Datagram Protocol modules; a Knowledge Base, wherein the Knowledge Base is a database that contains service definitions and individual user data, said Knowledge Base further saving details of all sessions and transactions in logs that are used to create billing data; an Administrative Console, wherein said Administrative Console is a web-based user interface for administration and management of the Gateway; a Statistics Module, wherein the Statistics Module is in operative communication with said Core via the Administrative Console, the Statistics Module consisting of various counters that monitor different values related to the system status, such as the number of sessions and transactions, memory usage, and system uptime; and, at least one Content Server, wherein the Content Server can be located on the Internet or in a local network.  
           [0046]    In another alternate embodiment of the invention, what is provided is a system for providing information over a wireless application protocol gateway in a Cellular Digital Packet Data network, with static Internet Protocol addressing, comprising a Core, wherein the Core transmits requests from consumers to the Content Servers on a global network of computers, and data from the Content Servers back to the consumers, the Core comprised of content adapters, session/transaction handling modules, WAP Stack modules, and Wireless Datagram Protocol modules; a Knowledge Base, wherein the Knowledge Base is a database that contains service definitions and individual user data, said Knowledge Base further saving details of all sessions and transactions in logs that are used to create billing data; an Administrative Console, wherein the Administrative Console is a web-based user interface for administration and management of the Gateway; a Statistics Module, wherein the Statistics Module is in operative communication with the Core via the Administrative Console, the Statistics Module consisting of various counters that monitor different values related to the system status, such as the number of sessions and transactions, memory usage, and system uptime; and, at least one Content Server, wherein the Content Server can be located on the Internet or in a local network.  
           [0047]    In another alternate embodiment of the invention, what is provided is a system for providing information over a Wireless Application Protocol Gateway, comprising a Core; an Administrative Console; a Statistics Module; and, at least one Content Server.  
           [0048]    Thus, it is an object of the present invention to provide a system for providing information to consumers over a WAP enabled gateway.  
           [0049]    This and other objects, features, and advantages of the present invention will become apparent upon reading the following specification when taken in conjunction with the accompanying drawings 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0050]    [0050]FIG. 1 is a flow chart illustrating the Administration Console of the preferred embodiment of the present invention.  
         [0051]    [0051]FIG. 2 is a continuation of the flow chart of FIG. 1.  
         [0052]    [0052]FIG. 3 is an illustration of a login page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0053]    [0053]FIG. 4 is an illustration of a device list utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0054]    [0054]FIG. 5 is an illustration of a monitor module status page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0055]    [0055]FIG. 6 is an illustration of an events page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0056]    [0056]FIG. 7 is an illustration of a counter page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0057]    [0057]FIG. 8 is an illustration of a gateway configuration editor page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0058]    [0058]FIG. 9 is an illustration of a user page utilized to search for existing users or add new users in the Administration Console of the preferred embodiment of the present invention.  
         [0059]    [0059]FIG. 10 is an illustration of a page utilized to add new users in the Administration Console of the preferred embodiment of the present invention.  
         [0060]    [0060]FIG. 11 is an illustration of a page utilized to add new bearer addresses in the Administration Console of the preferred embodiment of the present invention.  
         [0061]    [0061]FIG. 12 is an illustration of a page utilized to set service subscriptions in the Administration Console of the preferred embodiment of the present invention.  
         [0062]    [0062]FIG. 13 is an illustration of a new service subscription page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0063]    [0063]FIG. 14 is an illustration of a page utilized to view and edit service subscriptions in the Administration Console of the preferred embodiment of the present invention.  
         [0064]    [0064]FIG. 15 is an illustration of a login page utilized to set new service subscription billing parameters in the Administration Console of the preferred embodiment of the present invention.  
         [0065]    [0065]FIG. 16 is an illustration of a page utilized to set new service subscription billing options in the Administration Console of the preferred embodiment of the present invention.  
         [0066]    [0066]FIG. 17 is an illustration of a page utilized to detail a user&#39;s service subscription billing parameters in the Administration Console of the preferred embodiment of the present invention.  
         [0067]    [0067]FIG. 18 is an illustration of a page utilized to set new service subscription billing parameters in the Administration Console of the preferred embodiment of the present invention.  
         [0068]    [0068]FIG. 19 is an illustration of a page utilized to add users to groups in the Administration Console of the preferred embodiment of the present invention.  
         [0069]    [0069]FIG. 20 is an illustration of a user groups page utilized to view group membership in the Administration Console of the preferred embodiment of the present invention.  
         [0070]    [0070]FIG. 21 is an illustration of a user groups page utilized to edit group membership data in the Administration Console of the preferred embodiment of the present invention.  
         [0071]    [0071]FIG. 22 is an illustration of a group&#39;s members page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0072]    [0072]FIG. 23 is an illustration of a user&#39;s or a group&#39;s user alias page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0073]    [0073]FIG. 24 is an illustration of a services page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0074]    [0074]FIG. 25 is an illustration of a new service page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0075]    [0075]FIG. 26 is an illustration of a service billing options page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0076]    [0076]FIG. 27 is an illustration of a customized service billing options page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0077]    [0077]FIG. 28 is an illustration of a service billing options prices page without any price categories defined, as utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0078]    [0078]FIG. 29 is an illustration of a service billing options prices page with one price category defined, as utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0079]    [0079]FIG. 30 is an illustration of a new service price page for editing a price category, as utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0080]    [0080]FIG. 31 is an illustration of a service address page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0081]    [0081]FIG. 32 is an illustration of a billing models page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0082]    [0082]FIG. 33 is an illustration of a global prices page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0083]    [0083]FIG. 34 is an illustration of a new price page utilized in the Administration Console of the preferred embodiment of the present invention.  
         [0084]    [0084]FIG. 35 is an illustration of the prior art basic Wireless Application Protocol (WAP) programming model.  
         [0085]    [0085]FIG. 36 is an illustration of the prior art WAP architecture, which consists of various layers.  
         [0086]    [0086]FIG. 37 is an illustration of the present invention&#39;s WAP Gateway architecture. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0087]    Turning next to the figures, FIGS.  1 - 2  are a flow chart which illustrates how the Web-based Administration Console tool is organized. The console is Web-based and requires a browser, such as Microsoft Internet Explorer or Netscape Navigator, to operate. To start the administration console, the browser is opened and the administrator of the gateway connects to the desired gateway by using the gateway&#39;s hostname or IP number, bringing up the login page (FIG. 3). The user then supplies a username and password and clicks “login”, after which the gateway administration console device list page opens (FIG. 4). The first time the administrator logs in to the administration console, he is encouraged to change the password to protect the gateway installation. On the device list page (FIG. 4), the administrator selects “change password”, enters his username and a new password, re-enters the new password for verification purposes, and clicks “update”.  
         [0088]    The administrator can move around in the Administration Console by clicking on links. In the Console the links take the administrator to different parts of the Administration Console, or even to various products, different Gateway devices, or associated services. The administrator can return to a higher-level page (for example, from a specific user&#39;s pages to the main Users page by clicking the Console&#39;s Back button. The administrator can also use the browser&#39;s Back and Forward buttons to navigate to pages recently visited.  
         [0089]    The first page seen is the Device List page. By clicking on the identifier of a device, access is provided to that device&#39;s General page. To get back to the Device List page, the user simply clicks “home” at the top of the page. To log out of the Administration Console, the user simply clicks “home” and “log out”. The Administration Console is mainly used for entering information. On some pages, the administrator is provided the option of browsing for the information if it has already been entered elsewhere in the Knowledge Base.  
         [0090]    To use the browse window, the user clicks “browse” on any page where it appears. The Browse window opens. The user then enters a search criterion in one of the text boxes provided, clicks “search”, and is provided a list of search results. To add an entry in the list (i.e. a name, an ID, or a bearer address) to the text box on the page, the user simply clicks the entry in the Browse window list.  
         [0091]    The administration console also provides help to users. Gateway user documentation is available onscreen through a link in the Administration Console, simply by clicking “help” on the administration console.  
         [0092]    The Administration Console tool permits users to perform specific tasks, such as shutting down the Gateway for physical maintenance operations. To shut down the gateway, the user clicks “stop” next to the device to be shut down, on the Device List page (FIG. 4). When the system that the Gateway is installed on is restarted, the Gateway starts automatically.  
         [0093]    If one module of the Gateway experiences problems, the entire system need not be shut down. The various modules can be restarted or rebooted separately. The modules which can be started and stopped are as follows:  
         [0094]    OSModule:Monitors the operating system of a Gateway machine  
         [0095]    Dialup accounting server: The address resolver  
         [0096]    Core: The central part of the Gateway that handles sessions and transactions  
         [0097]    Knowledge base core: The database section of the Knowledge Base  
         [0098]    Statistics: The information gathering process  
         [0099]    SSL proxy: The module that handles secure sessions  
         [0100]    Knowledge base admin: The administration interface of the Knowledge Base  
         [0101]    The Gateway of the present invention allows users to monitor the status of the gateway installation and the various modules that it is running. The user can use the same Administration Console to monitor several devices. The Device List page shows the overall status of each Gateway device. The status is displayed with a colored icon on the right side of the page, a green “running” status or a red “fail” status. If a device is in Fail mode, a number is displayed to the right of the icon. This number is a reference meant for support staff.  
         [0102]    The General page shows the status of the current device&#39;s modules. Only modules that can be stopped and restarted without harming the Gateway installation are displayed:  
         [0103]    OSModule  
         [0104]    Dialup accounting server  
         [0105]    Core  
         [0106]    Knowledge base core  
         [0107]    Statistics  
         [0108]    SSL proxy  
         [0109]    Knowledge base admin  
         [0110]    This setup is illustrated in FIG. 5. The status of each module is shown with a colored icon, either green “running”, yellow “stopped”, or red “fail”. If a module is in Fail mode, a reference number is displayed next to the icon. If the user must call support, the reference assists the support provider with technical support. If any module that is running has errors, an alert is displayed on the Events page of the Administration Console.  
         [0111]    To find out what events have taken place in the Gateway installation, the Events page, shown in FIG. 6, is used. This page displays a chronological list of all Gateway events. The console can display up to 500 events.  
         [0112]    The event information is divided into six columns:  
         [0113]    Date: When the event occurred  
         [0114]    Module: The Gateway module where the event occurred  
         [0115]    Severity: How serious and potentially harmful the occurrence of the event is on a scale of 1 (least serious: debug) to 9 (most serious: fatal)  
         [0116]    Event name: A verbal description of the event  
         [0117]    Event code: A code number identifying the event  
         [0118]    Repeat count: How many times the event occurred  
         [0119]    The events are divided into severity classes as follows:  
         [0120]    1—for information only—no actions are needed  
         [0121]    8—alert—Gateway is operating but actions are needed as soon as possible  
         [0122]    9—alert—Gateway is not operating, immediate actions are needed  
         [0123]    The event code, severity and description are displayed on the Events page of the Administration Console. Severity class  1  events are notifications about the basic functions the Gateway performs that are displayed for information only—no actions are needed. Severity class  1  events include the following:  
         [0124]    GENERAL.gateway starting: This message appears on the Events page every time the Gateway Core on the General page of the Administration Console is started.  
         [0125]    GENERAL.gateway shutting down: This message appears on the Events page every time the Gateway Core is stopped.  
         [0126]    GENERAL.gateway reconfiguring: This message is displayed when the values of the parameters on the Configuration page of the Administration Console are changed.  
         [0127]    Class  8  events are alerts generated in situations when the Gateway is still operating but is recommended that efforts be made to try to fix the problem as soon as possible to ensure good performance. Class  8  events include the following:  
         [0128]    CMODE.sessionlimit reached: This alert is displayed when the CMODE.numOfSessions counter reaches the maximum value which was set. No new sessions can be initiated before some of the ongoing ones have finished. The Gateway handles the ongoing sessions normally. If the session limit is often reached and there are a lot of refused connections, it is advisable to fix the problem to improve the end user experience. The only way to fix the problem is to set a higher value for the maxCmodeSessions parameter on the Configuration page.  
         [0129]    CMODE.transactionlimit reached: This alert is displayed when the CMODE.numOfTransactions counter reaches the maximum value which was set. No new transactions can be executed before some of the ongoing ones have finished. The only way to fix the problem is to set a higher value for the maxCmodeTransactions parameter on the Configuration page.  
         [0130]    CLESS.transactionlimit reached: This alert is displayed when the CLESS.numOfTransactions counter reaches the maximum value that was set. No new transactions can be executed before some of the ongoing ones have finished. The only way to fix the problem is to increase the maxClessTransactions value on the Configuration page.  
         [0131]    GENERAL.content adapter busy: This alert is generated when a content adapter cannot handle any further requests. The Gateway includes several instances of the HTTP adapter. The problem may be fixed by increasing the number of HTTP instances. Another possible solution is to adjust the adapter configuration. Redefine the values of the set descriptor, fetch_threads, and max_descriptor parameters.  
         [0132]    GENERAL.error creating content adapter message: This alert appears on the Events page if the Core cannot create a content adapter message because there are no available shared memory blocks. This might be the case if the Gateway gets overloaded. To fix the problem, try to increase the number of shared memory blocks on the Configuration Editor page.  
         [0133]    GENERAL.error contacting content adapter: This alert is displayed if sending a request message to a content adapter has either timed out or if the adapter has failed. It is recommended to restart the Gateway as soon as it can be shut down causing end users a minimum amount of inconvenience. To fix the problem, on the General page of the Administration Console, stop the Core module and restart the module.  
         [0134]    Severity class 9 events are fatal errors. Because the Gateway Core is not functioning, immediate actions are needed. The class 9 errors include the following:  
         [0135]    GENERAL.error initializing KB-connection: This alert appears on the Events page if the address specified in the kbAddress field on the Configuration page is invalid or the port is busy. Check that the address is correct and given in the correct format. Check that the same address is given in the corekb field as well.  
         [0136]    GENERAL.error initializing shared memory  
         [0137]    GENERAL.error initializing content adapter interface  
         [0138]    GENERAL.error contacting KB (request mapping): This alert is displayed if an error has occurred when the Gateway Core tried and failed to perform an operation related to the Knowledge Base. It indicates that mapping a request to a service has failed.  
         [0139]    GENERAL.error contacting KB (cless transaction log): This alert is displayed if an error has occurred when the Gateway Core tried to perform a Knowledge Base operation. It indicates that connectionless mode transaction logging has failed.  
         [0140]    GENERAL.error contacting KB (cmode transaction log): This alert is displayed if an error has occurred when the Gateway Core tried to perform a Knowledge Base operation. It indicates that connection-oriented mode transaction logging has failed.  
         [0141]    GENERAL.error contacting KB (cmode session log): This alert is displayed if an error has occurred when the Gateway Core tried to perform a Knowledge Base operation. It indicates that connection-oriented mode session logging has failed.  
         [0142]    GENERAL.content adapter not found: This alert appears if the Core cannot find a content adapter to direct a request to. Either there are no operating content adapters or the adapter configuration is invalid.  
         [0143]    The Counters page, shown at FIG. 7, displays various general statistics for the modules of the Gateway installation. They reflect the amount and type of traffic taking place at each interface. When installing the Gateway, the disks are divided into partitions. Specific counters monitor the capacity of each partition. If a counter reaches a critical value, an alert is displayed on the Events page. Nonetheless, the Gateway remains completely operational until the partition is fall. The various counter alerts are as follows:  
         [0144]    the system is running out of disk space on Wap Gateway root partition  
         [0145]    This alert is generated if the root counter reaches 80%.  
         [0146]    the system is running out of disk space on Wap Gateway log partition  
         [0147]    This alert is generated if the log counter reaches 80%. the system is running out of swap space  
         [0148]    This alert is generated if the swap counter reaches 80%.  
         [0149]    the system is running out of disk space on Wap Gateway data partition  
         [0150]    This alert is generated if the data counter reaches 80%.  
         [0151]    The number of the events displayed on the Events page is limited. When the 500th event is generated, an alert will appear instead. No new events are displayed after that point. In case the following alert (with code 9000 or code 9001) appears, immediately clear the event log on the Events page of the Administration Console.  
         [0152]    Message queue is full (any further messages will be discarded)  
         [0153]    This event is displayed when there are 499 events and a new event is to be generated.  
         [0154]    The administration console collects numerical information and advises as to how to use the information to improve performance. The Gateway collects information from the actions at the system interfaces. These statistics consist of values that the counters return. This numerical information can be used to monitor system status and as an information source for customized statistics applications. In addition to a general overview on the system status, the counters also provide valuable information during alert situations. Based on this information, improved performance and customer service is available. The Gateway counters indicate two types of values: operating system data and Core data. These values indicate the situation either at the present moment or during the latest time frame. The time frame is defined on the Configuration page of the Administration Console. The parameter is called frame period.  
         [0155]    The Administration Console also includes a Gateway Configuration Editor, seen in FIG. 8. The Configuration Editor is used to view and change Gateway configuration parameters. During the installation, all parameters are given default values that depend on the hardware configuration and operational environment. When certain parameters are changed, the corresponding module in the Gateway needs to be restarted, which causes a short break in service. It is recommended to change these parameters when Gateway traffic is at a minimum. However, most of the parameters that require restarting modules rarely need adjusting after the initial installation and configuration.  
         [0156]    Other parameters do not require restarting modules, and changes to them can be applied directly. The changed parameters are applied immediately and the settings are preserved even when the Gateway is restarted. All parameters can be set through the Configuration Editor of the Administration Console. Various sets of configuration parameters can also be saved and loaded when necessary.  
         [0157]    Parameters under the Knowledge base admin section deal with the interface between the Knowledge Base and the Administration Console, and include as follows:  
         [0158]    Knowledge Base—Core parameters  
         [0159]    Parameters under the Knowledge base core section deal with the interface between the Knowledge Base and the Core. (The Knowledge Base is an optional part of the WAP Gateway and is not included in all installations.)  
         [0160]    Port  
         [0161]    The port parameter defines the port used by the Core to communicate with the Knowledge Base. The parameter value has the format protocol:machine_name:port_number. The machine name is the machine where the Gateway is installed (localhost if the Knowledge Base and the Gateway are on the same machine). This parameter should be set to the same value as the kbAddress parameter.  
         [0162]    When this parameter has been changed, the Knowledge base core module has to be restarted for the change to take effect.  
         [0163]    Threads  
         [0164]    The threads parameter defines the number of threads (positive integer), i.e. the number of transactions that can be simultaneously processed by the Knowledge Base. This parameter can have a value between 1 and 128.  
         [0165]    When this parameter has been changed, the Knowledge base core module has to be restarted for the change to take effect.  
         [0166]    Core parameters  
         [0167]    Parameters under the Core section affect the functioning of the WAP Gateway Core. They include parameters for connection-oriented mode and connectionless mode, content adapters, and error messages.  
         [0168]    Content adapters  
         [0169]    Content adapters in the Gateway retrieve data requested by users from various content servers that support WAP retrieval. Multiple instances of the HTTP adapter can be set to run simultaneously. The content adapter interface in the Gateway allows different types of content adapters, such as RPC adapters, to be added in the future.  
         [0170]    There are several parameters that affect content adapters and that can be set through the Administration Console. The content adapter  0  subheading indicates the content adapter type ( 0  for HTTP).  
         [0171]    Path  
         [0172]    The path parameter defines the location of the content adapter.  
         [0173]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0174]    Amount  
         [0175]    The amount parameter defines how many instances of the HTTP adapter are running simultaneously.  
         [0176]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0177]    Scheduler  
         [0178]    The scheduler parameter defines the basis for selecting a content adapter to process a request, i.e. the order in which content adapters process requests. HTTP adapters can have the values “roundrobin” or “url”. The value “roundrobin” means that every new request is sent to the next HTTP adapter (the order of the HTTP adapters is defined internally). The value “url” means that a request for data from an URL is sent to the HTTP adapter that has previously retrieved data from that particular URL. This speeds up the retrieval process.  
         [0179]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0180]    Shared memory  
         [0181]    These parameters affect the shared memory used for transmitting requests through the Gateway to content adapters.  
         [0182]    Name  
         [0183]    The name parameter defines the shared memory path. The path name must start with a slash (/) and may have a maximum of 14 characters.  
         [0184]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0185]    Block size  
         [0186]    The block size parameter defines the size (number of bytes) of each block.  
         [0187]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0188]    Blocks  
         [0189]    The blocks parameter defines the total number of blocks (positive integer) used to transmit requests. The number of blocks is equal to the total number of requests that can be pending on all content adapters.  
         [0190]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0191]    HTTP adapter default  
         [0192]    These parameters are related to the functions and settings of HTTP adapters.  
         [0193]    Number of threads per HTTP adapter  
         [0194]    The fetch threads parameter defines the number of threads per HTTP adapter, i.e. the number of requests that can be simultaneously processed in each HTTP adapter. The value of this parameter is limited by the value of the set descriptor parameter; the number of descriptors in a process limits the number of simultaneous requests and thus the number of threads.  
         [0195]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0196]    Maximum number of descriptors  
         [0197]    The max descriptor parameter defines the maximum number (positive integer) of descriptors used for HTTP requests. It is recommended to set this value lower than the default number of descriptors defined in the operating system (see set descriptor) in order to have descriptors free for other functions.  
         [0198]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0199]    Total number of descriptors  
         [0200]    The set descriptor parameter defines the total number (positive integer) of descriptors used for all content processing. Each HTTP request needs one descriptor, and descriptors are also needed for reading and writing files. The value of the set descriptor parameter is limited by the maximum number of descriptors allowed in the operating system.  
         [0201]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0202]    HTTP proxy  
         [0203]    The http proxy parameter defines the IP address or hostname of the HTTP proxy used by the content adapter to retrieve data.  
         [0204]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0205]    HTTP proxy port  
         [0206]    The http proxy port parameter defines the port of the HTTP proxy.  
         [0207]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0208]    SSL proxy  
         [0209]    The ssl proxy parameter defines the IP address or hostname (usually localhost) of the SSL proxy used by the Gateway. (SSL is an optional feature.)  
         [0210]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0211]    SSL proxy port  
         [0212]    The ssl proxy port parameter defines the port of the SSL proxy.  
         [0213]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0214]    Persistent connections  
         [0215]    When data is retrieved from an HTTP server, the connection can be closed immediately or it can persist, which means that reretrieving data from the same source is faster. HTTP 1.1 supports persistent connections by default, HTTP 1.0 does not. When an HTTP proxy is used, all retrievals are from the proxy.  
         [0216]    The persistent connections parameter enables (1) or disables (0) the use of persistent connections with HTTP 1.1 servers. The period of time that the connection persists depends on each server&#39;s particular settings and cannot be defined in the Gateway.  
         [0217]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0218]    Connect timeout  
         [0219]    If the HTTP adapter cannot connect with the content server within a certain period of time, the connection attempt is aborted and an error message is returned to the Core and the user&#39;s WAP terminal. The connect timeout parameter defines the time (number of seconds) after which the connection attempt is aborted.  
         [0220]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0221]    Read timeout  
         [0222]    After a connection is made to the content server, the HTTP adapter reads data from the server. The connection is closed if no data is returned from the content server. The read timeout parameter defines the time (number of seconds) after which the connection is closed.  
         [0223]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0224]    Log parameters  
         [0225]    The system log parameters (log threshold, log size limit, log categories, and log flush interval) for HTTP adapters have the same functions as those for the Core. However, the parameter values can be different.  
         [0226]    No modules need to be restarted for changes to these parameters to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0227]    General  
         [0228]    General Core parameters are valid for both connection-oriented and connectionless mode. These parameters are related to internal logs generated by the system, requests sent to content adapters, counters that indicate system status, connections between the Core and the Knowledge Base, address resolution, and SMS.  
         [0229]    Log directory  
         [0230]    System logs are text files that store information to be used by support personnel in possible error situations. In normal circumstances, the system administrator does not need to view the system logs.  
         [0231]    The log directory parameter defines the location of the directory where system logs are saved. The directory path is /wapgw/gateway/log.  
         [0232]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0233]    Log threshold  
         [0234]    The log threshold parameter defines the maximum number (positive integer) of system log files that are stored. The number depends on the amount of disk space available and the volume of traffic through the Gateway. Old logs that exceed the threshold limit are deleted.  
         [0235]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0236]    Log size limit  
         [0237]    The log size limit parameter defines the size (number of bytes) after which a new system log is started. Recommended values depend on the amount of disk space available and the volume of traffic through the Gateway.  
         [0238]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0239]    Log categories  
         [0240]    The log categories parameter defines the category of information that is written to the system logs. The Gateway provides the following log category levels: All, None, Debug, Informative, Notice, Warning, Alert, Error, and Fatal.  
         [0241]    In the All category, all levels of system information are logged. In the None category, nothing is logged. This option can be used for testing the performance of the Gateway. The Debug category contains all the necessary information for possible problem situations. The categories from Informative to Fatal range from less serious to more serious in content.  
         [0242]    Successive categories are not inclusive, but they can be combined, for example “Informative+Notice+Warning” or “All−Debug”.  
         [0243]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0244]    Log flush interval  
         [0245]    The log flush interval parameter defines the interval (number of seconds) at which log information generated by the system is flushed from buffers to disk. For maximum efficiency, the value −1 can be used, which means that log information is flushed only when the buffers are full. However, this also means that important information might not be logged in time if a problem situation occurs.  
         [0246]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0247]    Thread pool sizes  
         [0248]    When a request from a WAP terminal comes in, it is given to a thread for processing until it is sent to a content adapter. There are two thread pools, the request and response pools. The request pool processes requests from WAP terminals through the Core to the content adapter; the response pool processes returning messages from the content adapter through the Core to the WAP terminal.  
         [0249]    The thread pool sizes parameter defines the maximum number (positive integer) of threads in the thread pools. Both thread pools are the same size.  
         [0250]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0251]    Content adapter timeout for sending requests  
         [0252]    The ca send timeout parameter defines the time (number of seconds) after which the attempt to send a request to a content adapter is aborted if the content adapter does not respond.  
         [0253]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0254]    Content adapter check period for sending requests  
         [0255]    The ca send check period parameter defines the interval (number of seconds) at which the gateway checks whether requests to content adapters have timed out. Error messages are sent to the end users whose requests have timed out.  
         [0256]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0257]    Frame period  
         [0258]    The frame period parameter defines the length (number of seconds) of a frame. Frames are used in counters that measure various numerical values, such as the number of transactions or bytes received, reached during the frame period.  
         [0259]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0260]    Enabling the Knowledge Base  
         [0261]    The Knowledge Base is used for various Gateway functions, such as access control, service mapping, and aliasing. The Knowledge Base is usually enabled, but it may be disabled if mapping or aliasing is not needed, or if users cannot be identified due to characteristics of the underlying network.  
         [0262]    The kbEnabled parameter enables (1) or disables (0) the Knowledge Base. (The Knowledge Base is not included in all installations.)  
         [0263]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0264]    Knowledge Base address  
         [0265]    The kbAddress parameter defines the protocol and port used to listen for connections from the Knowledge Base. The parameter value has the format protocol:machine_name:port_number. The machine name is the machine where the Gateway is installed (localhost if the Knowledge Base and the Gateway are on the same machine).  
         [0266]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0267]    Enforcing access control  
         [0268]    The enforceAccessControl parameter defines whether the Gateway allows access to services when users cannot be recognized or when a Knowledge Base query fails. This parameter enables (1) or disables (0) enforced access control. When enforced access control is enabled, the Gateway does not allow unrecognized users to access services.  
         [0269]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0270]    Enabling the address resolver server  
         [0271]    The address resolver is a process in the Core that resolves IP addresses. In version 1.1 of the Gateway, the dialup accounting server functions as the address resolver.  
         [0272]    If the bearer network uses bearer addresses in the form of static IP addresses instead of MSISDNs, no address resolution is necessary. The useAddressResolverServer parameter defines whether the address resolver is used. This parameter enables (1) or disables (0) the address resolver.  
         [0273]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0274]    Address resolver server address  
         [0275]    The addressResolverServerAddress parameter defines the IP address of the address resolver. The parameter value has the format protocol:machine_name:port_number.  
         [0276]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0277]    SMS gateway address  
         [0278]    The SMS Gateway Address parameter defines the IP address of the SMS Gateway.  
         [0279]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0280]    SMS service number  
         [0281]    The SMS Service Number parameter is configured into the end user&#39;s WAP terminal. This number identifies the WAP Gateway in the GSM network.  
         [0282]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0283]    Connection-oriented mode  
         [0284]    These parameters are related to the functions and settings in connection-oriented mode.  
         [0285]    Enabling the secure port  
         [0286]    The enableSecurePort parameter defines whether the secure port for connection-oriented mode is enabled (1) or disabled (0). The secure port is used for connections over WTLS, if the end user&#39;s WAP terminal supports WTLS. (WTLS is an optional feature.)  
         [0287]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0288]    Enabling the unsecure port  
         [0289]    The enableUnsecurePort parameter defines whether the unsecure port for connection-oriented mode is enabled (1) or disabled (0).  
         [0290]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0291]    Enabling redirection  
         [0292]    Connections to a Gateway can be redirected to another Gateway. Redirection is only valid in connection-oriented mode, and can thus be used for load balancing; all connectionless requests can be handled at one Gateway and all connection-oriented requests can be redirected to another. This increases the maximum number of simultaneous sessions and transactions and improves service to end users.  
         [0293]    The redirect parameter enables (1) or disables (0) the redirect function.  
         [0294]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0295]    Redirection IP address  
         [0296]    The redirectAddress parameter defines the IP address of the Gateway to which requests are redirected.  
         [0297]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0298]    Maximum number of connection-oriented sessions  
         [0299]    The maxCmodeSessions parameter defines the maximum number (positive integer) of simultaneous sessions in connection-oriented mode. The maximum number can vary according to the capacity of the system.  
         [0300]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0301]    Maximum number of connection-oriented transactions  
         [0302]    The maxCmodeTransactions parameter defines the maximum number (positive integer) of simultaneous transactions in connection-oriented mode. The maximum number can vary according to the capacity of the system.  
         [0303]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0304]    Session timeout  
         [0305]    Sessions are normally disconnected with a handshake procedure. When the WAP terminal aborts the session without a proper handshake, the session is still being processed by the Gateway. The sessiontimeout parameter defines the time (number of seconds) after which a session is disconnected, i.e. the connection is closed at the Gateway&#39;s end, if there are no new requests or messages coming from the WAP terminal.  
         [0306]    The parameter value can be decreased if the maximum number of simultaneous sessions is reached often. This way there are less inactive sessions using up resources.  
         [0307]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0308]    Cleanup frequency  
         [0309]    The cleanupFrequency parameter defines the time (number of seconds) after which the system checks whether there are sessions on the server to be disconnected. (Sessions to be disconnected are sessions where nothing has happened during the defined timeout period).  
         [0310]    The parameter value can be decreased to perform cleanup more often, especially if the timeout is also decreased.  
         [0311]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0312]    Connectionless mode  
         [0313]    These parameters are related to functions and settings in connectionless mode.  
         [0314]    Enabling the secure port  
         [0315]    The enableSecurePort parameter defines whether the secure port for connection-oriented mode is enabled (1) or disabled (0). The secure port is used for connections over WTLS, if the end user&#39;s WAP terminal supports WTLS. (WTLS is an optional feature.)  
         [0316]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0317]    Enabling the unsecure port  
         [0318]    The enableUnsecurePort parameter defines whether the unsecure port for connectionless mode is enabled (1) or disabled (0).  
         [0319]    When this parameter has been changed, the Core module has to be restarted for the change to take effect.  
         [0320]    Maximum number of connectionless transactions  
         [0321]    The maxClessTransactions parameter defines the maximum number (positive integer) of simultaneous transactions in connectionless mode. The maximum number can vary according to the capacity of the system.  
         [0322]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0323]    Error messages  
         [0324]    These parameters are related to the error messages sent to end users. The LANG  1  subheading indicates the language (English) used for error messages.  
         [0325]    Enabling error messages  
         [0326]    The enableUserErrorMessages parameter enables (1) or disables (0) sending error messages to end users.  
         [0327]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0328]    Code  
         [0329]    The CODE parameter defines the language of the error messages.  
         [0330]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0331]    Header  
         [0332]    The HEADER parameter defines the file from which the error message HTTP header is retrieved. This header is sent to the user&#39;s WAP terminal together with the error message.  
         [0333]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0334]    Errors  
         [0335]    The ERROR 0—ERROR 20 parameters define the files from which error messages are retrieved.  
         [0336]    No modules need to be restarted for changes to these parameters to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0337]    Default error messages  
         [0338]    Several errors (0, 3, 4, 5, 9, 10, 18, 19, and 20) return the default error message “Internal Gateway error”. These messages only occur in extremely rare error situations.  
         [0339]    ERROR — 1: buffer_exhausted.wml  
         [0340]    This error is returned when the content server returns content that is too big for the Gateway&#39;s content adapters. The content adapters have an internal size limit for accepted content to avoid memory overloads. The size limit protects the Gateway from denial-of-service attacks resulting from attempts to request overly large content packages.  
         [0341]    ERROR — 2: parse_error.wml  
         [0342]    This error is returned when the content server returns a response in an incorrect format, for example in binary format without headers.  
         [0343]    ERROR — 6: connect_timeout.wml  
         [0344]    This error is returned if the content server does not respond to the connection request within the timeout period defined by the connect timeout parameter.  
         [0345]    ERROR — 7: connect_refused.wml  
         [0346]    This error is returned when the content server refuses the connection from the Gateway. The content server can refuse a connection for various reasons.  
         [0347]    ERROR — 8: url_lookup.wml  
         [0348]    This error is returned when the URL of the requested content server cannot be found.  
         [0349]    ERROR — 11: compile.wml  
         [0350]    This error is returned when the Gateway fails to compile the WML page returned by the content server (the WML format of the page is incorrect).  
         [0351]    ERROR — 12: header_compile.wml  
         [0352]    This error is returned when the Gateway fails to compile HTTP headers returned by the content server into WSP (the header format is incorrect).  
         [0353]    ERROR — 13: content_toobig.wml  
         [0354]    This error is returned when the content returned by the content server is too big for the end user&#39;s WAP terminal to handle. The content size limit imposed by the Gateway is significantly larger than that imposed by most WAP terminals, so that content that passes through the Gateway with no trouble (i.e. no ERROR — 1) might not be accepted by some WAP terminals.  
         [0355]    This error is only available in connection-oriented mode.  
         [0356]    ERROR — 14: content_format.wml  
         [0357]    This error is returned when the response from the content server is in a format that the end user&#39;s WAP terminal does not support. The supported formats vary in different terminals.  
         [0358]    ERROR — 15: no-headers.wml  
         [0359]    This error is returned when the content server does not return headers with the response. If headers are missing, the Gateway cannot tell the content type of the response and thus cannot determine whether the WAP terminal would accept the response.  
         [0360]    ERROR — 16: refused.wml  
         [0361]    This error is returned when the Gateway access policy denies the user&#39;s access to the requested page. This access control is performed by the Knowledge Base when the end user&#39;s bearer address (typically MSISDN) and the requested URL are transmitted through the Gateway to the Knowledge Base, which recognizes that the user in question has no access to the page being requested.  
         [0362]    ERROR — 17: access_level_failed.wml  
         [0363]    This error is returned when the access level defined for the user is not adequate for the requested service.  
         [0364]    Dialup accounting server parameters  
         [0365]    Depending on the type of bearer network, a data call to a dialup may be required for a terminal to connect to the WAP Gateway. When the WAP terminal makes a data call, the dialup device assigns it an IP address to allow the terminal to communicate with the Gateway. The dialup device then sends the Gateway&#39;s dialup accounting server a message that specifies the MSISDN of the WAP terminal and the assigned IP address.  
         [0366]    The request from the WAP terminal is sent to the Gateway Core. Based on the terminal&#39;s temporary IP address, the Core sees where the request is coming from and queries the dialup accounting server for the corresponding MSISDN. The Core uses the MSISDN to query the Knowledge Base for user information needed for billing and logging.  
         [0367]    Parameters under the Dialup accounting server section affect the functioning of the dialup accounting server.  
         [0368]    The address resolver parameters under the Core section also affect the dialup accounting server. In version 1.1 of the Gateway, the dialup accounting server functions as the address resolver.  
         [0369]    Ports  
         [0370]    These parameters define the ports used by the dialup accounting server.  
         [0371]    Radius port  
         [0372]    The RADIUS protocol is used by the dialup device to communicate with the dialup accounting server. The radius port parameter defines the port on which the dialup accounting server listens to the dialup device.  
         [0373]    When this parameter has been changed, the Dialup accounting server module has to be restarted for the change to take effect.  
         [0374]    Dialup accounting RPC port  
         [0375]    The dacct rpc parameter defines the port used by the dialup accounting server to communicate with the Core. The parameter value has the format protocol:machine_name:port_number. The machine name is the machine where the dialup accounting server is located.  
         [0376]    When this parameter has been changed, the Dialup accounting server module has to be restarted for the change to take effect.  
         [0377]    Dialups  
         [0378]    The dialup accounting server receives information from dialup devices. Various networks can use different formats for MSISDNs, and each network&#39;s dialup device returns MSISDNs in the format used by the network. Each MSISDN format requires its own set of rules for conversion to the absolute format understood by the Gateway. The Gateway&#39;s dialup configuration file describes how to interpret the information received from dialup devices.  
         [0379]    The dialup configuration file is a text file that may contain blank lines and comments. Lines whose first non-blank character is a pound sign (#) are interpreted as comments. Each line can contain a configuration parameter or a dialup device IP address. Parameters are identified by case-sensitive keywords (radius_secret and msisdn_rules) and they apply to the dialup device IP addresses following them. The IP addresses must be unique (the same address cannot appear twice in the dialup configuration file). Sets of rules are separated by blank lines.  
         [0380]    The following is an example of configuration file text:  
         [0381]    # Two boxes in one network . . .  
         [0382]    radius_secret foo  
         [0383]    msisdn_rules / Λ 00+// Λ ([ Λ 0\+])/+3589\1/  
         [0384]    10.0.0.10  
         [0385]    10.0.0.11  
         [0386]    # . . . and two in another (they also use a different password)  
         [0387]    radius_secret bar  
         [0388]    msisdn_rules / Λ 00([ Λ 0])/+\1// Λ([   Λ 0\+])/+35850\1/  
         [0389]    10.0.0.20  
         [0390]    10.0.0.21  
         [0391]    The MSISDN rules are similar to replacement commands implemented by common UNIX utilities (e.g. the ed ‘s’ command), but with no qualifying expression to determine whether a rule should apply. All rules are always applied if the regular expression part matches, but not necessarily in order. Each rule consists of a regular expression (an extended regular expression as defined by POSIX 1003.2, section 2.8, Regular Expression Notation) and a replacement string. A rule begins and ends with a slash, and different parts are also delimited by slashes. The regular expression may contain parenthesized subexpressions (using unescaped parentheses). The replacement string can refer to these parenthesized subexpressions with a backslash followed by a number.  
         [0392]    Parameters for specific IP addresses in the configuration file override the defaults specified in the Configuration Editor. The defaults are sufficient if it is known that all dialup devices from which connections are made to the Gateway are configured identically.  
         [0393]    Default RADIUS secret  
         [0394]    The def radius secret parameter defines the default secret (also called password or key) used by the dialup accounting server and the dialup device to identify each other. The same password must also be configured in the dialup device.  
         [0395]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0396]    Default MSISDN rules  
         [0397]    The def msisdn rules parameter defines the default rules used for converting MSISDNs to the format used by the Gateway. The accepted format consists of the entire MSISDN. The MSISDN is expressed in a maximum of 15 characters: a plus sign (+) followed by a maximum of 14 digits. Any other formats used in different networks are converted to this format according to rules defined in this parameter and in the dialup configuration file.  
         [0398]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0399]    Dialup configuration file name  
         [0400]    The extra config parameter defines the name of the dialup configuration file. The directory path for the file is /wapgw/gateway/acct_server/.  
         [0401]    No modules need to be restarted for changes to this parameter to take effect; clicking Apply at the bottom of the page is sufficient.  
         [0402]    SSL proxy  
         [0403]    Parameters under the SSL Proxy section affect the SSL proxy in the Gateway.  
         [0404]    Cipher list  
         [0405]    The cipher list parameter defines which encryption algorithms the SSL proxy accepts and their order of preference. All algorithms containing authentication are accepted.  
         [0406]    The value “!ADH:HIGH:MEDIUM:LOW:EXP” is used by the OpenSSL library. For detailed information on the meaning of possible settings, consult the OpenSSL or SSLeay documentation, which is freely available. It is unlikely that the parameter value will have to be changed.  
         [0407]    If this parameter has been changed, the SSL Proxy module has to be restarted for the change to take effect.  
         [0408]    Debug mode  
         [0409]    The debug mode parameter defines how much SSL proxy information is logged. This parameter enables (1) or disables (0) the debug mode.  
         [0410]    When this parameter has been changed, the SSL Proxy module has to be restarted for the change to take effect.  
         [0411]    Session expiration time  
         [0412]    Connections from the Gateway to content servers are made through the SSL proxy. Data from content servers is returned through HTTP adapters. This data includes HTTP headers, which contain a session ID that can be used to request the content server&#39;s certificate.  
         [0413]    The sess expire time parameter defines the time (number of seconds) that the content server&#39;s certificate and other information is stored.  
         [0414]    When this parameter has been changed, the SSL Proxy module has to be restarted for the change to take effect.  
         [0415]    Log file  
         [0416]    The log file parameter defines the location of the SSL proxy log file. This file is internal and does not need to be viewed by the system administrator.  
         [0417]    When this parameter has been changed, the SSL Proxy module has to be restarted for the change to take effect.  
         [0418]    Listen port  
         [0419]    The listen port parameter defines the port used by the SSL proxy to listen for connections from HTTP adapters.  
         [0420]    When this parameter has been changed, the SSL Proxy module has to be restarted for the change to take effect.  
         [0421]    The configurations on dialup devices that communicate with the Gateway need to be modified so that RADIUS accounting data is sent to the Gateway&#39;s dialup accounting server. The dialup device password must also match the password in the Gateway configuration file (the radius_secret parameter for the dialup device&#39;s IP address).  
         [0422]    On the front page of the Configuration Editor there are links to the five sections:  
         [0423]    Knowledge base admin: The administration interface of the Knowledge Base  
         [0424]    Knowledge base core: The database section of the Knowledge Base  
         [0425]    Core: The central part of the Gateway that handles sessions and transactions  
         [0426]    Dialup accounting server: The address resolver  
         [0427]    SSL proxy: The module that handles secure sessions  
         [0428]    The Configuration page displays the current values for all configuration parameters in text boxes.  
         [0429]    The Administration Console can be used for more than just system maintenance. It is the primary tool for managing user accounts and subscriptions, as well as services.  
         [0430]    Users and groups are basically managed in the same way. The differences are firstly that users can be members of groups, and secondly that groups can be either ordinary groups or organizations.  
         [0431]    User, group and service management concerns the Knowledge Base module of the WAP Gateway. On both the Users and the Groups pages, three text boxes are displayed, as illustrated in FIG. 9:  
         [0432]    Search bearer: Enter the user&#39;s WAP terminal&#39;s bearer address (telephone number or IP address) to find the user in the database  
         [0433]    Search name: Enter the user&#39;s name to find the user in the database  
         [0434]    Search ID: Enter the user&#39;s or group&#39;s unique identifier to find the user in the database  
         [0435]    To find a user or a group in the database, the administrator enters the user&#39;s or group&#39;s (if an organization) bearer network address in the Search bearer text box. The format for GSM numbers (MSISDN) is the international format without spaces (+nnnnnnnnnnnnnnn=15 characters); the format for IP addresses is the standard n.n.n.n format. Alternatively, on the Users/Groups page, the administrator can enter the user&#39;s or group&#39;s name either in its entirety (Susan User) or with wildcards (Susan Us*) in the Search name text box. Finally, the administrator can enter the user&#39;s or group&#39;s unique identifier in the Search ID text box, as follows:  
         [0436]    1 Next to the text box which was edited, click Search. A list of the users/groups that match the query is displayed.  
         [0437]    2 To view the user&#39;s/group&#39;s information, click the ID of the user/group in the list. The user&#39;s User page or the group&#39;s Group page is displayed.  
         [0438]    To add a user or a group, the administrator can go to an empty User or Group page and provide the gateway with information about the user or group, as follows and as shown in FIG. 10:  
         [0439]    1 On the Users/Groups page, click New.  
         [0440]    2 In the ID text box, provide an ID number for the user or group. If the box is left blank, the Knowledge Base will automatically assign an ID. After creating the user or group, the ID cannot be edited.  
         [0441]    3 In the Name text box, enter the user&#39;s or group&#39;s name.  
         [0442]    4 In the Description text box, enter freeform notes about the user or group (optional).  
         [0443]    5 Click Save.  
         [0444]    6 Click Ok.  
         [0445]    Clicking Back twice at this point takes the user back to the New User page where the administrator can continue to modify the user account by clicking each link in turn: Bearer addresses, Subscriptions, Groups and Aliases. When the information required on each page is provided, the user can click Back again to return to the user&#39;s New User page.  
         [0446]    In order to provide the bearer address, the following steps are taken, as shown in FIG. 11:  
         [0447]    1 Click the Bearer addresses link.  
         [0448]    2 Click New.  
         [0449]    3 Enter the user&#39;s or group&#39;s bearer address.  
         [0450]    4 To enable authentication for this number, select Yes in the Enabled drop-down box.  
         [0451]    5 In the Start text boxes, enter the date and time when the number becomes valid.  
         [0452]    6 In the End text boxes, enter the date and time when the number ceases to be valid. The format for GSM numbers is the international format without spaces between numbers (+nnnnnnnnnnnnnn=15 characters). The format for IP addresses is the standard n.n.n.n format.  
         [0453]    7 Click Save.  
         [0454]    8 Click Ok.  
         [0455]    To set service subscriptions, the following steps are taken, as shown in FIG. 12:  
         [0456]    1 Find the user or group in the database.  
         [0457]    2 Click the Subscriptions link. The user&#39;s or group&#39;s Subscriptions page opens.  
         [0458]    3 Click New. The New subscription page opens (FIG. 13).  
         [0459]    4 On the Service ID drop-down list, find the service to subscribe the user or group to.  
         [0460]    5 In the Start text box, enter first the date and then the time when the subscription becomes valid.  
         [0461]    6 In the End text box, enter first the date and then the time when the subscription ceases to be valid. The date format is dd.mm.yyyy and the time format is hh:mm.  
         [0462]    7 Click Save.  
         [0463]    8 Click Ok.  
         [0464]    To view and edit an existing subscription, the following steps are taken:  
         [0465]    1 Find the user or group in the database.  
         [0466]    2 Click the Subscriptions link. The Subscriptions page opens, displaying a list of subscriptions.  
         [0467]    3 In the list of subscriptions, click the subscription to be viewed or modified. The subscription&#39;s edit page opens, as seen in FIG. 14.  
         [0468]    To add a billing parameter for a subscription, the following steps are taken:  
         [0469]    1 Find the user or group in the database.  
         [0470]    2 Click the Subscriptions link. The Subscriptions page opens, displaying a list of subscriptions.  
         [0471]    3 In the list of subscriptions, click the subscription to be viewed or modified. The subscription&#39;s edit page opens.  
         [0472]    4 Click the Subscription billing parameters link. A list of the subscription&#39;s billing parameters is displayed. If the subscription is new, the list is empty.  
         [0473]    5 Click New. The New Subscription Billing Parameter page opens, as illustrated in FIG. 15.  
         [0474]    6 In the Billing model drop-down box, select a billing model.  
         [0475]    7 In the Access level drop-down box, select an access level for the user. The Access level drop-down box is available only if the service that is being subscribed to uses access level control.  
         [0476]    8 In the Start text boxes, enter the date and the time when the subscription becomes valid.  
         [0477]    9 In the End text boxes, enter the date and the time when the subscription ceases to be valid.  
         [0478]    10 Click Save.  
         [0479]    11 Click Ok.  
         [0480]    The system also permits administrators to define payers and payment methods for each service subscription that a user or a group has. These options must be defined so that only one set is valid at a time. To set a subscription&#39;s billing options, the following steps are taken, as seen in FIG. 16:  
         [0481]    12 Find the user or group in the database.  
         [0482]    13 Navigate to the subscription to be modified.  
         [0483]    14 Click the Subscription billing parameters link. The user&#39;s Subscription Billing Parameters page opens, seen in FIG. 17.  
         [0484]    15 Click New. The New Subscription Parameter page opens FIG. 18).  
         [0485]    16 In the Billing model drop-down box, select the billing model to be applied to the subscription.  
         [0486]    17 If access level control has been enabled for the service in question, select an access level for the user or group.  
         [0487]    18 In the Start text boxes, enter the date and the time when the billing parameter becomes valid.  
         [0488]    19 In the End text boxes, enter the date and the time when the billing parameter ceases to be valid.  
         [0489]    20 Click Save.  
         [0490]    21 Click Ok.  
         [0491]    The billing models where the payment method is a phone bill allow the definition of a payer who is different from the user (or group) who actually subscribes to the service. Under such a scenario, the payer must be a user with a user account in the Knowledge Base.  
         [0492]    To define a payer, the following steps are undertaken:  
         [0493]    1 Find the user or group in the database.  
         [0494]    2 Navigate to the subscription to be modified.  
         [0495]    3 Create a new subscription billing parameter, selecting a billing model with phone bill defined as the payment method.  
         [0496]    4 Click Save.  
         [0497]    5 Click Ok. The Edit Subscription Billing Parameter page opens.  
         [0498]    6 In the Payer ID text box, enter the ID of the user to be defined as payer or click Browse to locate the payer in the Knowledge Base.  
         [0499]    7 Click Save.  
         [0500]    8 Click Ok.  
         [0501]    Once groups are created, users can be added to groups, as follows and as illustrated in FIG. 19:  
         [0502]    1 Find the user in the database.  
         [0503]    2 Click Groups. The user&#39;s Groups page opens.  
         [0504]    3 Click New. The New user group page opens.  
         [0505]    4 In the Group ID text box, enter the ID of the group to add the user to.  
         [0506]    5 In the Priority text box, enter a numerical value from 1 to 999 that describes the priority of the membership.  
         [0507]    6 In the Start text boxes specify the date and the time when the group membership becomes valid.  
         [0508]    7 In the End text boxes, specify the date and the time when the group membership ceases to be valid.  
         [0509]    8 Click Save.  
         [0510]    9 Click Ok.  
         [0511]    To view an existing group membership or edit the time frame, the following steps are taken, as pictured in FIG. 20:  
         [0512]    1 Find the user in the database.  
         [0513]    2 Click the Groups link. The user&#39;s User groups page opens.  
         [0514]    3 In the link list, click a group ID. The User group page opens (FIG. 21)  
         [0515]    It is also possible to view all the memberships attached to a specific group, and edit each individual membership through the group&#39;s pages, by taking the following steps, also illustrated in FIG. 22:  
         [0516]    1 Find the group in the database.  
         [0517]    2 Click Members. The group&#39;s Members page opens.  
         [0518]    3 Click New. An empty Group member page opens.  
         [0519]    4 In the User ID text box, enter the ID of the user to add as a member. To find users in the Knowledge Base, click Browse.  
         [0520]    5 In the Priority text box, enter a number from 1 to 999.  
         [0521]    6 In the Start text boxes, enter the date and the time when the membership becomes valid.  
         [0522]    7 In the End text boxes, enter the date and the time when the membership ceases to be valid.  
         [0523]    8 Click Save.  
         [0524]    9 Click Ok.  
         [0525]    In order to view or edit a group&#39;s members, the following steps are taken:  
         [0526]    1 Find the group in the database.  
         [0527]    2 Click the Members link. The group&#39;s Members page opens, displaying a list of the group&#39;s members.  
         [0528]    3 To edit a member, click the member&#39;s ID in the list and modify the membership properties.  
         [0529]    The system also permits for users and groups to have specific aliases only for their use.  
         [0530]    To edit user or group level aliases, these steps are taken:  
         [0531]    1 Find the user or group in the database (see section Error! Reference source not found.).  
         [0532]    2 Click the Aliases link. The user&#39;s or group&#39;s Aliases page opens.  
         [0533]    3 Click an existing alias in the link list or click New. The User alias page opens (FIG. 23).  
         [0534]    4 In the Name text box, enter a name for the alias.  
         [0535]    5 In the URL text box, enter the URLs for the alias. The URL is case-sensitive. Alternatively, click Browse to search for the URL in the list of URLs already added to the Gateway.  
         [0536]    6 Click Save.  
         [0537]    7 Click Ok.  
         [0538]    In order for service providers to be able to charge for the use of their services, the services must be added to the Gateway service selection, using the Services page, depicted in FIG. 24.  
         [0539]    In order to view existing services, three options are provided:  
         [0540]    Search name: Enter the service&#39;s name to find the service in the database  
         [0541]    Search address: Enter the service&#39;s URL to find the service in the database  
         [0542]    Search ID: Enter the service&#39;s unique identifier to find the service in the database  
         [0543]    It is also possible to add a service to the Gateway&#39;s service selection, by going to an empty Service page and providing the service&#39;s contact, billing and pricing information for the Gateway, as follows and as shown in FIG. 25:  
         [0544]    1 On the Services page, click New. The New service page opens.  
         [0545]    2 In the Service ID text box, enter a unique identifier for the service. If the box is left blank, the Gateway automatically provides an ID.  
         [0546]    3 In the Name text box, enter a name for the service.  
         [0547]    4 In the Provider ID text box, enter the identifier of the service provider or click Browse to find the ID in the Knowledge Base.  
         [0548]    5 Once the Provider ID is entered, the provider&#39;s name appears automatically in the Provider text box for verification.  
         [0549]    6 In the Authentication needed drop-down box, select Yes to require authentication for this service.  
         [0550]    7 In the Access level control drop-down box, select Yes to enable access levels for this service.  
         [0551]    8 In the Timeout text box, enter the number of seconds that the service should wait for activity by the connecting end user before closing the connection.  
         [0552]    9 In the Start text boxes, enter the date and the time when the service becomes available for end users. (The default is midnight on the current day.)  
         [0553]    10 In the End text boxes, enter the date and the time when the service stops being available for end users.  
         [0554]    11 Click Save.  
         [0555]    12 Click Ok.  
         [0556]    A service&#39;s billing options consist of the billing models chosen for the service and the time that each billing model is valid. A billing model, in turn, consists of two variables: price and billing criteria.  
         [0557]    To define service billing options, the following steps are taken, as FIG. 26:  
         [0558]    1 On the New service or Edit service page, click the Billing Options link. A list of the service&#39;s billing options is displayed. If the service is new, the list is empty.  
         [0559]    2 To modify a billing option, click its Model in the list or click New. The Service billing option page opens. What appears on the page depends on the model of the option being edited. If the service&#39;s Billing model uses global pricing, the Global prices link appears. If the service uses individual prices, the Billing option&#39;s prices link appears (FIG. 27).  
         [0560]    3 Modify the Start and End text boxes as desired.  
         [0561]    4 Click Save.  
         [0562]    5 Click Ok.  
         [0563]    To view and edit prices, the following steps are taken, as seen in FIGS. 28 and 29:  
         [0564]    1 On the Service billing option page, click the Global prices or Billing option&#39;s prices link. A list of prices is displayed.  
         [0565]    2 To edit a price category, click it in the list or on the Service billing option prices page, click New (FIG. 30).  
         [0566]    3 In the Price category text box, enter a name for the price category.  
         [0567]    4 In the Start text boxes, specify the date and the time when the price becomes valid.  
         [0568]    5 In the End text boxes, specify the date and the time when the price ceases to be valid.  
         [0569]    6 Click Save.  
         [0570]    7 Click Ok.  
         [0571]    Through the Addresses link the URLs that have been defined for each service can be added and edited, as shown in FIG. 31:  
         [0572]    1 On the Edit service page, click the Addresses link. A list opens, displaying the URLs that have been defined for the service.  
         [0573]    2 Click an address on the list or click New.  
         [0574]    3 In the URL text box, enter the URL for the service. Also include the port number.  
         [0575]    4 In the Template type drop-down box, select Address or Wildcard.  
         [0576]    5 In the Priority text box, enter a number between 1 and 999. If the box is left blank, the Knowledge Base calculates a priority according to the number of characters in the URL.  
         [0577]    6 In the Start text boxes, enter the date and the time when the URL becomes available for end users.  
         [0578]    7 In the End text boxes, enter the date and the time when the URL stops being available for end users.  
         [0579]    8 Click Save.  
         [0580]    9 Click Ok.  
         [0581]    Global prices are prices defined for billing models. One billing model can include several price categories. Global prices are edited through the Billing page, as shown in FIG. 32:  
         [0582]    1 In the Administration Console, click Billing. The Billing page opens, displaying a list of available global billing models.  
         [0583]    2 In the list, click the billing model to modify. The model&#39;s Global prices page opens (FIG. 33).  
         [0584]    3 To edit a price category, click it in the list or click New (FIG. 34).  
         [0585]    4 In the Price category text box, enter a name for the price category.  
         [0586]    5 In the Start text boxes, specify the date and the time when the price becomes valid.  
         [0587]    6 In the End text boxes, specify the date and the time when the price ceases to be valid.  
         [0588]    7 Click Save.  
         [0589]    8 Click Ok.  
         [0590]    Accordingly, it will be understood that the preferred embodiment of the present invention has been disclosed by way of example and that other modifications and alterations may occur to those skilled in the art without departing from the scope and spirit of the appended claims.