InJoy Internet Dialer V1.1

Written by Marco J. Shmerykowsky

Introduction
Well the Internet has become an integral part of our lives. Access to detailed information from the far reaches of the planet are instantly available at our fingertips. Before we can start interacting with this global network, however, we must get "connected." For some this is fairly simple. Just configure OS/2 to use the TCP/IP protocol to talk to the corporate LAN and those high-bandwidth T-1 lines. Most users who fall into the Small Office / Home Office business market don't have this kind of luxury. Instead we must connect to the Internet with the tried and true "plain old telephone system" (POTS). When the "Internet Ready" edition of OS/2 Warp was introduced, users were given the "Dial Other Internet Providers" utility to connect to their ISP's. I'm sure that most OS/2 user's will agree that this utility was not the easiest thing to get along with. Configuration was not easy and it was seriously lacking in features. Things such as automatic radial and effective call logging were nothing more that "wish-list" items. Fortunately, one software company saw the need and developed a proper dialer. The company is F/X Communications and the product is "InJoy."

Upon activating the InJoy dialer program, it becomes quickly apparent that the program has been designed with functionality as the primary objective. Unlike most modern programs which sport a eye-catching Presentation Manager window design, InJoy is a character based program. This design was chosen for the practical reasons of program speed, stability, and the fact that a VIO based program has a smaller impact on resource usage that a PM program. The program delivers on these design objectives.

The main program window consists of a "terminal window," an "output window," status indicators, and an access point for selecting and configuring multiple hosts.

The terminal window provides a sort of dual functionality. Prior to and during the connection process, the terminal window essentially functions as a command prompt where the user manually types in the modem configuration strings and responses to an ISP's login sequences. Once the connection has been established, the terminal window can be transformed into a "news ticker" which uses a connection's idle time to download information such as news, commercials, or software updates. In the current version of Injoy, the terminal mode ticker is being migrated to a graphical ticker which uses its own PM window. This graphical ticker only seems to function as a hot link to the "CNN Interactive" or "New York Times" web sites.

During the evaluation, I also noted that both the terminal mode and graphical tickers had a tendency for erratic behaviour with respect to activating. Often the graphical ticker would only start-up after a connection was dropped and re-established.

The "output window" provides a time marked log of "technical" and trace information. During the logon process, for example, the window lists the steps which the program takes in negotiating the connection. This is useful in tracking down the connection problems. Directly below the "output window" is a status bar which provides "real-time" information on data transmission. This information includes the total amount of data transmitted and received during the connection, the current character per second (CPS) rates for transmission and receival, the average CPS processed, the peak CPS processed during any "second" of the current connection, the number of data bits, the number of stop bits, and the parity. This numerical data is supplemented with a horizontal bar graph which displays the total CPS receive and transmission rate. Finally, the main window also provides a data line which displays the currently selected host and com port, the max communication speed in bits per second, and whether the current port is "open" or "closed."

Although the informational main display is impressive, the key characteristic which must be examined is the "host configuration" section. As I previously mentioned, the "Dial Other Internet Providers" utility did not make life simple. I had managed to get the program to connect to my ISP using the SLIP protocol, but PPP never seemed to work correctly. Fortunately configuring InJoy turns out to be a much simpler task.

The configuration process begins by selecting the "new" host button on the main display. This brings up a screen where the user name, account password, and communication protocol (PPP or SLIP) are defined.

The user also has the option of configuring a series of "autostart modules." These modules are really individual programs, such as the user's favourite e-mail client, which will be launched and/or terminated when Injoy initiates an event such as connecting to a host.

The "autostart" programs can be configured so that they apply to "all" hosts or just to certain hosts. This simple feature is a very helpful time saver.

The next part of the configuration process involves configuring your IP host number, the IP number of your gateway, a subnet mask, and the Domain Name Service parameters.

At this point the user must also configure the com port and the modem. A unique portion of the modem configuration process centers on the re-dial feature which give the user the option of dialing a series of access numbers.

For example, if your service provider uses the number 111-1111 and 222-2222, then Injoy may be configured to dial 111-1111 five times with a five second pause between radials. If each of these attempts are unsuccessful, then Injoy will try the next number five times.

The most "technical" aspect of configuring a host centres around the "PPP options" and "SLIP options." Injoy allows for the following settings: In addition to creating a "special" configuration, the user can choose one of the pre-configured sets of parameters. These sets include "Make Fast," "Make Slow," and "Default." The "fast" option is configured to squeeze the most speed out of the connection while the "slow" option is tuned to hopefully negotiate the most "reliable" link.
 * Password Authentication Protocol (PAP) Authentication (PPP Only)
 * Challenge Handshake Authentication Protocol (CHAP) Authentication
 * (PPP Only) MS-CHAP Authentication (PPP Only)
 * Force Asynchronous Control Character Map (ACCM) to 0 (PPP Only)
 * Format CheckSum checking (PPP Only)
 * Addr & Cntl field compression (PPP Only)
 * Protocol compression (PPP Only)
 * ECHO-REQ resets idle timeout (PPP Only)
 * Restart Timer (PPP Only)
 * Maximum tries (PPP Only)
 * Maximum Receive Unit (MRU) (PPP Only)
 * Maximum Transmit Unit (MTU) (SLIP Only)
 * PPPFLAG timeout

The final major configuration parameter involves login scripting. The easiest way to generate the bulk of the script is to let Injoy "learn" it. This process consists of recording the "text to send" and the "text to receive" which is displayed in the terminal window while the program is attempting to establish a connection. The script can be further modified to display your IP address, the gateway address, and a dialogue box for grabbing echoed and non-echoed text. I should note that while configuring my accounts, the "learn" feature managed to complete about 95% of the required script. The final carriage returns and character escapes required to complete the login process had to be added manually. The information need to accomplish this was readily available in Injoy's extensive documentation.

A major feature which is only included in the Extended and Professional Clients is known as "IP Masquerading. This feature allows a user to configure an office LAN to treat Injoy as an Internet gateway. Thus, an entire office can be connected to the Internet through a simple dialup connection. Injoy's IP Masquerading allows a LAN client computer to access the Internet through any standard client such as a web browsers or a news reader. Server software such as the Apache web server can only be configured to run on the computer actually running Injoy.

The configuration of this feature basically consists of setting a port number offset. According to the documentation, "port numbers are in the range of 0 to 5000 depending on the time since last boot." When Injoy receives a packet from a "client" PC, it changes the client's host address to InJoy's host address and applies a "port offset." This offset is used to uniquely identify each client. When a packet arrives from the Internet, the port offset is applied once again to determine the final destination of each packet.

Injoy has one additional "cost saving" feature which addresses the issue of connection time. Many users must pay their local telephone companies by the minute and can not enjoy the luxury of a flat rate local call. This type of environment encourages an Internet session which resembles a commando mission. Get in, achieve mission objectives, get out.

Injoy's commando strike capabilities are provided through a feature called "Dial-on-Demand" (DOD). This feature, which only available in the "Extended" and "Professional" client versions, allows an Injoy capable machine to establish a connection, launch an application, and then terminate both the connection and the application on the basis of line activity.

The effectiveness of the DOD feature can be reviewed thanks to an automatic "connection log monitor."

This log records the start and end times of a connection, the total duration, and the date of each entry. The monitor screen will also display additional info such as total connection time per month, and the number of connections which were established for a particular host since creation, during a single month, and "today." Finally, although no directly displayed, the actual log file also records the total amount of data which was transmitted and received as well as the maximum and average transmission rates.

Although Injoy's log feature is highly useful, I feel two improvements would make it indispensable. First, it would be nice if there was a way to assign a cost to the connection time. Due to the variety of billing practices by various phone companies, this would either have to be user definable or "simplistic." The simplistic approach wouldn't be accurate to the penny, but would provide an decent estimate on the expense of the connection.

The second improvement involves the recording of accessed IP addresses. For example, the log of one session would show 10 minutes of access time was devoted to an IBM site while 120 minutes was devoted to a NASCAR racing site. If the IP masquerading is running, this can help to analyse the impacts of "real work" vs. "fun stuff" on your I-net connection. Furthermore, if you're in a business where it is deemed reasonable, you charge clients for access times. If a consultant bills for a phone conversation, why not charge for a download which was performed on a client's behalf?

Finally, if you're unfortunate enough to have trouble with your I-net connection, then InJoy offers a series of "Trace" options. These options include: The collected debugging information can be examined by reading it in the Output window, sending it to a log file, or by using the OS/2 Warp utilities IPTRACE and IPFORMAT.
 * Trace communication line
 * Trace PPP negotiation
 * Trace errors
 * Trace buffers
 * Trace Ticker
 * Trace Debug information

In conclusion, Injoy is an excellent product which fits nicely into any OS/2 power user's tool box. The fact that it follows the age old engineering principle of KISS (i.e. Keep It Simple Stupid) is refreshing in the age of bloatware and deserves special praise. Finally, features such as Dial-On-Demand, IP Masquerading, and Connection Logging make this "simple" toll a useful business investment.

Information
Injoy Dialer (Version 1.1) Price: Injoy Basic Client US$20 Injoy Extended Client US$35 InJoy Professional Client/Server US$150

F/X Communications Brolaeggerstraede 12 DK-4300 Holbaek Denmark

E-mail: [mailto:support@fx.dk support@fx.dk] or [mailto:sales@fx.dk sales@fx.dk] Home Page: http://www.fx.dk/