@make(report) @style @Define @case[device, postscript="@style @libraryfile @define", x9700="@style @define @modify", imagen300="@style @style @define", file="@style" ] @case @modify @modify @modify @modify @set @begin(center) @begin MAKING RS-232-C COMMUNICATIONS PACKAGES WORK WITH A DIGITAL PBX @end Christine Gianone and Frank da Cruz Columbia University Center for Computing Activities New York, NY 10025 @value @end
@blankspace(3) Organizations are people. What happens when a large organization embarks on a massive conversion of its data communications infrastructure? The ultimate effect is on the people sitting at their personal computers, running the software packages they are accustomed to, accessing the applications and services required by their work. Communications software packages represent an enormous investment in both time and money. Can this investment be preserved when an analog telephone voice network and a separately switched terminal network are replaced by a single digital voice/data private branch exchange? In this article, we will address a very specific concern: how RS-232-C communications software packages (see @i"Shopping for software that lets PCs with mainframes", December 1987) can be adapted to the new environment. Several years ago, during the early days of disvestiture, Columbia University began to investigate of the possibility of replacing its AT&T Centrex telephone equipment with a university-owned private branch exchange (PBX). Ownership of the switch and wiring plant has its advantages, primarily cost containment and operational control. The high capital expenditure could be offset over time by the expected savings in operating costs. Columbia's request for proposals included a requirement for simultaneous data and voice capabilities, as well as for extra wire pairs at each wall jack to accommodate future data expansion. The university is now in the throes of installing an IBM 9750 Business Communications System, which is composed of an IBM 9751 Computerized Branch Exchange (CBX) Model 70 connected to desktop ROLMphones (see @i, January 1988). When the project is complete, 75 buildings on and around Manhattan's Morningside Heights campus will be completely rewired, with the wiring plant extending to virtually every office, classroom, and dormitory room. For off-campus buildings, a total of a dozen cable trenches will be dug across the local streets. In all, 6,000 miles of cable will be laid. About 50,000 wire pairs will be connected to the main distribution frame in Columbia's central administration building, Low Library. One hundred thousand pairs of riser cables will be installed, and a similar number of station cables will be connected to about 13,000 voice/data jacks, about 3,500 of them in dormitories. Whereas data installations were once difficult or impossible, often requiring months of lead time, the new wiring plant will make them quick and simple. The cutover will affect all those who use the university's computers because the 9750 Business Communications System will replace not only the Centrex phone equipment, but also the Gandalf PACX IV data switch, which provides access to Columbia's central mainframe computers. Because of fundamental differences between Centrex and the new switch, the installation will also affect those who dial out from their offices to external services. When the new switch is fully installed, it will provide intra-switch connections, dialin connections, and dialout connections. Each of these presents its own conversion problems, and choosing among complicated options may be critical to achieving satisfactory data communications. Although the present discussion is specific to the IBM 9750 Business Communications System, it also applies in large part to the Rolm and IBM/Rolm CBX products, such as the CBX II 9000 and the VSCBX 8000. The problems addressed would likely surface during installations of digital PBXs from other vendors as well. For the remainder of this article, the IBM 9750 will be referred to as "the CBX." @subheading For the past 12 years, terminals at Columbia University have been connected to Columbia's central mainframes through a Gandalf PACX IV data switch. PACX connections come in the form of an LDS-125, a limited-distance modem on the user's desk with four wires carrying analog signals back to the PACX. To connect to a particular computer, the user turns on the LDS-125, types a carriage return for speed recognition, then gets a menu of the available systems, and is prompted to select one: @begin Welcome to PACX IV SE. Valid node names are: HOSTA, HOSTB, HOSTC, MYHOST Enter node name => @i<(user types system name here)> @end For example, the user might type MYHOST. The PACX maintains a table of computer host names and associated ports. When a known host is selected, the PACX finds the first free port and establishes a circuit between it and the user's terminal port, as shown in Figure @ref<-pacx>. When dialing in from off-campus, the LDS-125 is replaced by the user's modem, and the user dials the number of a modem hunt group connected to the PACX. Once the dial connection is complete, the procedure is the same. @begin(figure) @bar() @blankspace(1) @begin __________ Gandalf PACX O | _____________________ O Host A | terminal ----- O O O | terminal ----- O O O__________| terminal ----- O O __________ terminal ----- O O O | : O O Host B | : O O | modem ------- O O O__________| modem ------- O O __________ modem ------- O O O | modem ------- O_____________________O O Host C | O | O__________| (** REPLACE WITH ARTWORK **) @end @caption(The Gandalf PACX Data PBX) @tag<-pacx> @bar() @end(figure) Under the new regime, Centrex phones will be replaced with special units manufactured by IBM/Rolm, called "ROLMphones." These can be voice-only, or voice/data. The data option adds a 25-pin RS-232-C connector and accompanying electronics to the single-line or multiple-line voice telephone. Through a single pair of wires, a data-equipped phone can manage a voice conversation simultaneous with an asynchronous data connection up to 19.2 Kbit/s, using a proprietary protocol known as "ROLMlink." This single instrument replaces the Centrex telephone, the LDS-125, and the user's dialout modem. When the PACX is replaced by the new CBX, the dialog will change. As before, the user types a carriage return for speed recognition, but the prompt is different, and the user must type "call" in front of the hostname. @begin CALL, DISPLAY OR MODIFY? call myhost CALLING 74258 CALL COMPLETE @end In this case, the user types "CALL MYHOST". This superficial change in format should not pose an insurmountable problem. In all likelihood, users have been interacting with the PACX "manually" all these years, and conversion to the new switch will be a minor psychological adjustment. Dialing in from off-campus also remains the same as before except for the change in syntax. @subheading Matters are more complicated for those who want to dial off-campus sites from campus phones. To understand why, it helps to know something about modems and their relationship to the CBX. A modem, or "modulator-demodulator," converts the digital signals of a computer's RS-232-C serial communications port to analog waveforms suitable for transmission on voice-grade telephone lines, and vice versa (Fig. @ref<-modem>). @begin(figure) @bar() @blankspace(1) @begin RS-232-C Analog phone line RS-232-C PC----------modem---------------------modem----------host (digital (wavy analog waves) square waves) @end @caption(A Traditional Modem Connection) @tag<-modem> @bar() @end(figure) Modems come in two major varieties: acoustically coupled and directly connected (Fig. @ref<-acmodem>). Acoustic coupling is susceptible to noise and vibration; therefore, it only works under good conditions, and only up to speeds of 300 bit/s or 1.2 Kbit/s. @begin(figure) @bar() @blankspace(1) @begin @i @end @caption(Acoustic vs. Direct-Connect Modems) @tag<-acmodem> @bar() @end(figure) Whether internal or external to the computer, direct-connect modems reduce potential problems and increase the maximum speed by providing a direct electrical connection to the telephone wall jack. Furthermore, these modems have access to all the wires in the phone circuit, so they can simulate all the functions of a telephone: detecting and answering a ring, going off-hook, and even dialing a phone number. ROLMphones cannot be used with direct-connect modems, however, because the proprietary ROLMlink signaling that takes place between the telephone and the CBX is incompatible with the signaling methods used by modems (Fig. @ref<-rpmodem>). Thus, it serves no purpose to plug a modem into the ROLMphone's wall jack -- the modem and the switch will not be able to communicate. Hundreds of people at the university have direct-connect modems in their offices or dorm rooms. If they cannot use these modems with their new ROLMphones, then how can they call off-campus computers, outside data services, and computer bulletin boards? @begin(figure) @bar() @blankspace(1) @begin Analog RS-232-C ROLMlink RS-232-C phone line PC----------ROLMphone-----------CBX-----------modem--------------- (phone line, cont'd) RS-232-C (** SEE ARTWORK **) ---------------------modem----------host @end @caption(Dialing Out from the IBM Switch) @tag<-rpmodem> @bar() @end(figure) IBM's solution to the dialout problem is to provide the switch with a central outbound modem pool, in which modems are assigned dynamically to those who request them. The pool has many advantages: it is shared by all of the univerity's computer users, so economies of scale are achieved; it is centrally maintained; and it can be upgraded as new technologies appear. It may be used by anyone having a ROLMphone with the data option, plus a terminal or personal computer with a serial communications port and a modem cable. (Those who have an internal modem only, with no serial port, will have to get a serial port and cable.) However, the modem pool has one key disadvantage: the conventions used for call placement are not the ones used by the Hayes modem. This seems a trivial point until we begin to look at the popular communications software packages that are actually in use on campus. Most of these packages expect to be running on personal computers that are connected to Hayes or compatible modems and, therefore, "speak" to the modem using the Hayes AT command set. The switch, however, does not accept AT commands, and most communications software packages are not written with the IBM 9751 CBX call-placement dialog in mind. How can these software packages be made to work with the new CBX? @subheading To accommodate software packages that require the Hayes command language for dialing, IBM offers the 244PC. This is a special four-line data-equipped ROLMphone which contains a built-in Hayes AT command set interpreter. But because this is a multiline telephone, the expense to the user is greater than for the normal single-line phone with data. It is also possible to furnish users with analog, rather than digital, telephone sets. But here too, the cost is higher than a for a digital line, in this case because extra interface cards are required in the CBX. Analog phones could be used with Hayes or other direct-connect modems, either internal or external. Furthermore they may be necessary for devices that use modems, but which use nonstandard data transmission techniques on the digital end, such as Telecommunication Devices for the Deaf (TDD's) that use a 5-bit Baudot code. And analog phones are also required for use with facsimile machines and other special-purpose devices that have built-in modems. As third alternative, it was discovered that the ROLMphone can be used at low speeds with acoustically coupled modems, or acoustic adapters for direct-connect modems. But these devices cannot be used for autodialing because the CBX does not respond to the pulse or DTMF dialing tones which are generated by autodial modems, in their mimicry of real telephones. Nevertheless, the growth of the digital PBX market could result in a mini-boom for acoustic couplers and adapters, catering to those who would rather live with low speeds and without autodialing than pay the monthly data service surcharge: one step forward, two steps back... In a large organization like Columbia University, a great deal of money can be saved by avoiding the 244PC and the analog phone wherever possible. This can be done if the popular communication software packages can be adapted to the CBX's normal call setup procedure. @subheading Why should there be such a fuss over what the user must type to place a data call? Let's look at the question in more detail. The dialing language of an autodial modem allows users to place calls by typing simple commands from a terminal or personal computer. But first, the cables must be correctly connected and the modem turned on (blunders along these lines can happen to the best of us). Then the communications software must be set for the desired transmission speed and parity, and the personal computer or terminal must be sending the Data Terminal Ready (DTR) signal to the modem. Then the software can be connected to the modem, and the user can type dialing commands. The Hayes AT command language is simple but powerful. A typical dialog with a Hayes modem (or a 244PC, which emulates the Hayes modem) goes something like this: @begin ATZ F1 Q0 V1 X1 S0=0 @i<(User types modem initialization string)> OK @i<(Modem responds "OK")> ATDT 9,7654321 @i<(User types dialing command)> CONNECT 1200 @i<(Normal modem response)> @end The user's commands begin with @q, the modem's command introducer. The initialization string puts the modem in a known state, so that the software can control it properly. In the sample shown above, the @q resets the modem to default settings; @q puts it in full-duplex no-echo mode; @q instructs it to produce result codes; @q specifies that the result codes should be words (for example, CONNECT or BUSY) rather than digits; @q selects the extended result code set (for example, CONNECT 1200); and @q disables auto-answer. Once initialized, the modem replies "OK", and the user types the dialing command ATDT followed by the phone number. When the other modem answers, the user sees the message "CONNECT 1200". Most software packages expect to be controlling a Hayes modem. The user simply supplies the telephone number; the software supplies the appropriate AT commands to the modem and interprets the modem's responses (OK, CONNECT, BUSY, NO ANSWER, etc.), all of which is invisible to the user. Packages like Smartcom (Hayes Microcomputer Products, Inc.) and Crosstalk (DCA/Crosstalk Communications) are able to present the user with a dialing directory, from which the user chooses the number to be dialed. The package does the rest. On the IBM 9751 CBX, call placement dialog is through Interactive Call Setup (ICS), which is markedly different from the Hayes dialog: @begin(enumerate,spread 0.5) The user selects the desired communications speed and parity (for example, 1.2 Kbit/s, even parity) and ensures that the personal computer is asserting the DTR signal. The user transmits a carriage return so the CBX can determine the transmission speed. ICS, after some delay, responds with "CALL, DISPLAY OR MODIFY?". The user should not transmit until this prompt has appeared. The user transmits "call 976543210" (or any desired number), followed by carriage return (the first two digits represent a request for an external line). There is a delay while the CBX attempts to make the connection. Various messages may appear, such as "CALLING 74250", which should be ignored. Characters transmitted to the CBX during this period will be lost. If the call was placed to a local host, and it was completed, the message "CALL COMPLETE" is issued, and the user is connected with the host. If the user was dialing out through the modem pool, the connection is made silently, with no call complete indication. If the connection could not be made, the message "CONNECTION FAILED" is issued. Characters may now be transmitted to the host computer. In most cases a carriage return is required to get the host's attention. @end(enumerate) @subheading(Making the Software Connection) In general, communication software packages can provide three ways to establish a connection to a remote computer: @begin(enumerate) @b, meaning there is no dialing procedure. The user just "connects" and starts interacting with the remote computer immediately. This method is generally provided for use with PCs that are hardwired to computers with no intervening modems, but it allows the user to get at the dialing language of a modem (or data switch) that the package doesn't support. @begin @b, usually configured for Hayes and/or other types of modems, where the user can configure the package to dial new kinds of modems (or data switches) not explicitly supported by the program. Since no known software package has built-in dial support for ICS, the dial feature can only be used with ICS if the user can tailor the dialing mechansism. The dial feature is important because it is often associated with a phone directory, in which each entry contains not only the phone number, but also the associated communications settings. @end @begin A @b