Inter-Office Memorandum
To  Voice Interest  Date April 4, 1984
From Dan Swinehart, Ken Pier  Location Palo Alto
Subject Use of the Etherphone System Organization PARC/CSL
Filed on: [Indigo]<Voice>Documentation>FinchDoc.Tioga
 [Indigo]<Voice>Documentation>FinchDoc.Press
Use of the Etherphone System (Lark and Finch)
Introduction
The Etherphone system is a first round implementation that includes most of the conventional telephone capabilities, a simple voice message service, and a Cedar-based workstation program that makes it easier to use all of these facilities. There are many additional functions, both conventional and exotic, that we plan to introduce in time.
Please assume that we are not aware of any shortcomings in the system and report everything untoward that happens to you. We would also appreciate your suggestions and comments. Send them to LarkSupport.pa (not LarkSupport^.pa.)
As delivered, your conventional looking telephone instrument (the thing with the handset and the pushbuttons) has been replaced by another conventional looking telephone instrument, a beige-colored box (called a Lark), a microphone, and a box with a speaker, a switch, and a light on it. The Lark is connected to all of these other objects, to the Ethernet (sometimes called the front door) and to your office telephone line (often referred to as the back door.)
We have also developed a Cedar program, called Finch, that can help you to make telephone calls and manage voice messages. This document first describes the use of the telephone without the aid of the workstation, then adds a description of Finch.
Finally, there is a voice message service, called Bluejay, that is accessible from your telephone, with or without the assistance of Finch.
This version of the system does not provide access to the voice message service. A new approach, based on Walnut, will be available shortly after the Cedar 5 release.
Changes since last issue (January 15, 1984)
User interface changes only; some bug fixes. New capabilities include redial button and phone button in the Finch menu (as well as the original phone button), middle button the selection in the directory will call office, right button the selection in the directory will call residence. Middle or right button the Call or CallResidence button in the directory will advance to the next entry before calling. Directory will be constructed from a list of files specified in the User profile. For example:
FinchTelephoneDirectory: "
/ivy/VoiceUser/PublicList.TelephoneDirectory
Test.TelephoneDirectory
Information.TelephoneDirectory
User.TelephoneDirectory
"
There have been other changes since the very first release of this system, so you might want to browse through this document.
How to use your telephone
Your telephone can be used to place and receive telephone calls as usual. There may be some minor variations in the dial tone sequences and so on, but it is intended to behave like a telephone. One difference: when dialing Intelnet numbers (those that start with 8), you don't have to wait after dialing 8, and you are not asked to supply an extension as an authentication code.
If the party you are calling also has a Lark, the telephones will be connected using the Ethernet. Otherwise, the Lark will make a back door call by taking the back door telephone line "off hook" and issuing the proper touch tone signals to the telephone company.
A number of our existing CSL telephone system features are at present either unavailable or difficult to get to. To compensate, we have included a number of new features that you can use the telephone to invoke. Each of these groups of activities is the subject of a later section.
How to use the speakerphone
The speaker is used in place of the telephone bell to tell you the phone is ringing. So you should leave it plugged in. The speaker may also be used to play voice messages, or it may be combined with the microphone to form a speakerphone arrangement. Here is how it works:
Whenever your telephone handset is in its cradle (on hook) and the toggle switch on the speaker box is in the up position, the speakerphone is on. This means you will hear a dial tone, ringing tones, a recorded message, or the other party in the conversation through the speaker, depending on the state of the call. The other party, if any, will hear what you say into the microphone (effective up to about 4 feet.) Return the speaker box switch to the middle position to terminate the call or connection to the voice message service. Lift the handset off its cradle (take it off hook) to mute the speakerphone and listen privately. Hang up to turn the speakerphone on again. You also have to be off hook to use the telephone touchpad. Would that it were not so.
Warning: Once you have returned the speakerphone toggle switch to the center position and have put the handset onhook, the call will end. To convert a conventional telephone call to a speakerphone call, you must turn the speakerphone switch on before hanging up the phone.
How to use CSL telephone system features
There are two common situations that require special access to the back door telephone line. You may need to arrange to forward calls to another line, or you may need to pick up an incoming back door call that has already transferred to the CSL receptionist. Other situations may also arise when you'll want direct access to the back door telephone line. In all such instances, pick up the handset and enter **0. You should now hear the telephone company's dial tone, or the conversation between your caller and the receptionist.
Some of the existing features require that you depress the telephone switchhook briefly (for a second or two), then release it. This action, called flashing, is used in setting up conferences, putting people on hold, that sort of thing. These features are not available at all if your Lark is up and running. If you need to use them, turn off Lark power to connect your telephone directly to the telephone line.
Turning off power with a back door call in progress works OK. A front door call will of course effervesce, but flashing wouldn't do it any good anyway.
Bells and Whistles
We have implemented a number of additional features that you can control from your telephone. They are described here by category. The last page is a pictorial summary of these commands.
To issue a command on your telephone, you push the * button on your touchpad once or twice, enter a command digit, then sometimes a numeric argument terminated by the # button. For most numeric arguments there are defaults that will obtain if you leave them out. You can hang up to start over. There is no backspace facility. Just like telephones.
A number of commands of the form "*n" related to the voice message services that are being reworked, so they have been eliminated. That's why most of the commands need two *'s.
Do Not Disturb Features
Enter **1 to disable any audible ringing indication for incoming calls until further notice. Your callers will think your phone is ringing, but it won't be. If you are using the Finch workstation program, Finch will give visual indication of the incoming call, but not very vigorously. This setting will persist until you change it, even if your Lark or the server is restarted.
**2 will cancel any of the ringing variants in this section and turn standard ringing back on.
If you think you might forget to turn ringing back on, you might prefer to use a variation of disabled ringing that will time out. Enter **3n# to disable ringing for n minutes, or until cancelled with **2. If you leave out n (i.e., enter **3#), you will not hear any incoming calls for 30 minutes.
You may want to know about incoming calls without wanting to be pestered by those you choose not to answer. **4 will arrange things so that your phone will ring just once -- briefly and quietly -- for each incoming call. **5n# will put this mode in effect for n minutes (default 30 minutes.)
Call by Numerically-specified Rname
You can spell out a person's RName instead of the corresponding extension by using the letters on the telephone touchpad. The recipient has to have an RName in the local (PA) registry. Enter *0n#, where n is the first three or four digits corresponding to the RName (e.g., 676 for Ornstein.) If you get an error indication (a fast busy signal), try more digits or give up and look up the phone number.
We may expand the directory to include other registries. To include the registry in the name you enter, use "1" to stand for the "." ("Ornstein.pa" is "67678346172".) Similarly, use "1" to stand for any other punctuation ("Willie-sue.pa" is "9455431783172"!)
Call Management (not implemented yet)
The *'1, *'3, *'7, and *'9 commands are reserved for things like call forwarding, call holding, and conference calls. These capabilities are not yet available.
More on the speakerphone
If you push the speakerphone toggle switch down instead of up, it won't stay down, but will return to the center position when you release it. This allows us to recognize a momentary closure of the switch (less than a half second or so) as click, and to interpret it differently.
We do indeed distinguish between turning the speakerphone switch on (up) and clicking it down momentarily. The results make a lot of sense in use, but I haven't found a clean way of describing the algorithms yet. The basic idea is that if you have clicked the speakerphone on, it is "less on" than it is when left in the up position. When the other party hangs up, or you use a Finch command to terminate the call, or you pick up the handset and later hang up, the speakerphone turns off rather than presenting you with a new dial tone. One more note: if you have the handset off hook and the speaker switch off, you can click the switch once, hang up , and continue your call on the speakerphone. Usually. I think. Play with it yourself or see me and I'll show you how it works.
When the system fails
Whenever power fails, communication with the phone server fails, or serious trouble develops in the Lark's programs, the Lark will give up and connect your telephone directly to the back door telephone line. This will allow you to place and receive telephone calls while repairs are made. If you lift the handset and do not hear a dial tone, wait a few seconds. A relay should click inside the Lark cabinet, and you should then hear the telephone company's dial tone. If your Lark and its friends manage to recover, they will return things to normal after you hang up.
You may occasionally find that waiting doesn't help. Find the power switch on the end of the Lark box containing the power cord. Turn it off, then back on (may take a few tries to get the circuit breaker to hold.) You should now hear the telephone company's dial tone, and be ready for business. Again, if the system recovers, it will regain control after you hang up.
If things continue to cause difficulty, feel free to turn Lark power off and leave it off.
Finally, if you are still not able to use your telephone satisfactorily, remove the telephone cord from the Lark socket labelled "Telewall", and plug it into your old trusty black telephone, which we have not yet removed from your office. Additional difficulties are now almost certainly not our fault.
Please log the difficulties you have with as much detail as you can remember, and send them to LarkSupport.pa. Pretend that we don't think there are any bugs in the system, and report everything.
How to use Finch
Finch is a Cedar program that provides a manual user interface for controlling the telephone. It also supplies some interfaces that will allow pioneers to control some of the Lark facilities from their own programs (a preliminary "CedarVoice" interface -- see me.)
Obtaining Finch
Bringover /a /p [Indigo]<Voice>Top>Finch.df.
Along with the Finch program, this will obtain the files Finch.profile, a user profile fragment that you should tailor and add to your profile, and user.tdir, a prototype telephone directory file. If your name is Doe, you might want to rename "user.tdir" to "Doe.tdir", and change the profile entry. Later sections will describe the syntax of the directory so that you can put your own entries in it.
It is also necessary for your workstation's Ethernet number to be registered with the telephone system. This should have been done before you received your Lark, but if you have trouble getting started, let us know and we'll check it.
Running Finch
Finch.bcd registers the Finch command with the Commander. This command will produce the basic Finch tool and attempt to connect it to the Thrush telephone server. Wait until the Conversations viewer appears on the desktop and until the Drop Out menu item appears in the Finch viewer menu.
Whenever Finch is disconnected from the telephone server, the Finch tool's menu includes the Participate button, which will try to connect Finch when invoked. Whenever Finch is connected, Participate becomes Drop Out, inviting you to disconnect. Destroying the Finch tool viewer will also disconnect cleanly; the Finch viewer takes all of its related viewers with it when it goes. Issue the Finch command again to get a new copy.
Finch's user interface is patterned after Walnut's. (At present, Walnut is in the process of being extended to incorporate voice capabilities, as well.) Let us know your ideas for reducing the amount of real estate that the present system uses.
You can include a running Finch in a checkpoint; Finch attempts to Drop Out cleanly before making the checkpoint, then to Participate again when a rollback is completed. Or you can deactivate Finch before making the checkpoint.
Finch Viewers
If Finch is not active (connected to the Thrush server), the only valid viewers are the Finch viewer itself and possibly a telephone Directory viewer. The Finch viewer has a command and status region, and a typescript subviewer that serves as a catchall for system messages.
When Finch is active, there will also be a Conversations viewer, which logs each voice conversation that you have. This will be more useful later when you will be able to maintain more than one active conversation at a time.
You may destroy the Finch or Directory whenever you choose; you can only get rid of the Conversations viewer by destroying the Finch viewer. Destroying the Finch viewer disconnects Finch from the server first.
Menu Buttons
Each of the Finch-related viewers contains a number of menu buttons. Some buttons appear in more than one viewer. Such a button has the same meaning wherever it appears.
For the purpose of this discussion, a call (or conversation) would include a connection to Bluejay (the voice file server) if any were permitted.
The present system allows but one call to be active at a time. Finch normally selects the single active call entry in the Conversations viewer as soon as it becomes aware of the call, so most of these commands may be issued without worrying about making selections first.
The meanings of these buttons should be reasonably clear, but a brief description of each might be useful.
Drop Out Deactivate Finch (only available if Finch is active).
Participate Reactivate Finch (only available if Finch is not active).
Answer Accept the (selected) incoming call. If the handset is onhook, turn on the
 speakerphone. (In most viewers. There's another "Answer" button in the
 Messages viewer that means something else. This is a bug. Someday. See
 below.)
Directory Create a phone directory viewer with entries from the directory files
 specified in your user profile. Directory entries are retrieved from the last
 file listed in your user profile first, working back to the first file listed.
Phone Call the party specified in the Party viewer. If you invoke a call using the
 Directory buttons, the selected party will appear in the associated Party viewer.
Redial Equivalent to buttoning Disconnect, wait four seconds, then buttoning Phone.
Disconnect Hang up the selected call, if it is not idle. Produce a new dial tone or turn off
 the speakerphone, depending on the states of the handset and speakerphone
 switch.
Stop Terminate any recording or playback in progress. If the speakerphone is in use,
 this will also disconnect the connection to Bluejay. Currently not implemented.
New Directory Recreate the contents of the Directory viewer from the directory files specified
 in your user profile. This allows you to incorporate changes.
Call Call the party selected in the Directory viewer. See the Directory section for
 details.
Call Residence Use the telephone number in the residence field of the selected Directory
 entry to make a call. See the Directory section for details.
Placing calls by name or number
The Finch viewer provides the facility for calling a telephone number or calling somebody by name. Fill in the called party field, then use the Phone button. The UserExec/Commander Phone command behaves the same way.
Party: Selects the following called party field, pending delete, so you can edit it.
 Syntax:
<telephone number> (almost any reasonable number will do, with or without the
  leading "9" for outside calls; Intelnet numbers require the leading "8."
<name> If there's a directory viewer open, its name column is first searched for
  a substring equal to name. If the search is successful, Finch performs the
  operations corresponding to the directory viewer's Call button (below).
  Otherwise, it attempts to locate a local user with the specified name (an RName,
  default registry .PA) in a system-wide white pages directory.
<name> at home Calls the named party at a listed residence number rather than
  office number (see directory viewer section.) At present, the only available
  residence numbers are the ones you store in your local directory.
home Performs the <name> at home operation using your logged-in name for
<name>.
Phone Calls the party that you selected by filling in the Party: field.
Directory viewer entries
Each line in the Directory viewer is a button that can be selected using the left button or invoked using the middle or right one. Invoking a directory entry places a telephone call to the indicated party; invoking with middle button will call the office number and invoking with right button will call the residence number. The Call menu button will place a call to the currently selected entry office number when invoked with left button. The Call menu button will place a call to the next entry in the directory when invoked with middle or right button. Similarly, CallResidence will call the selected residence number (left button) or the next residence number (middle or right button). Whenever a call is placed in this way, the Party: field in the Finch viewer will be filled in, so that it is easy to retry a busy number, or to call the same individual again to follow up a call.
Directory entries are derived from the files named in the FinchTelephoneDirectory field of the user profile (default: User.TDir.) The syntax of the FinchTelephoneDirectory field is
FinchTelephoneDirectory: "
/ivy/VoiceUser/PublicList.TelephoneDirectory
Test.TelephoneDirectory
Information.TelephoneDirectory
User.TelephoneDirectory
"
The syntax of a line in a directory file is
name office number residence number comment
where the spaces between fields are tabs, and all fields after the first are optional. To omit a field and include a later one, put an asterisk (*) in the omitted field. If the party name includes any string in angle brackets, that string is interpreted as an RName (default .PA).
Pressing the Call menu button or invoking a directory entry with the middle button uses the office number field if there is one (exception: if the name field has an RName and the named party has a Lark (Etherphone), the RName is used directly. If no local number is supplied, and the party name field contains an RName, a system-wide telephone directory is consulted. The Thrush server performs the mapping from RNames to other Larks or to the corresponding telephone numbers. In the absence of an RName, the office number must be present and will be used. Intelnet numbers that really refer to local offices are converted to simple extensions when making back door calls.
The Call Residence menu button places a call to the residence number in the selected entry, if any, whether or not there is an RName.
Conversation viewer entries
The Answer and Disconnect menu buttons have already been described.
Clicking a conversation entry with the middle mouse button will also answer the corresponding call, if appropriate.
Clicking a conversation entry with the control-left will also disconnect the corresponding call, if appropriate.
Commander/UserExec Commands
The Phone command is registered with the Commander after Finch has been run. If Finch is also active, this will place a call to the party named as an argument in the command. The accepted syntax is the same as in the Phone button in the Finch viewer.
ET command. (You guessed it. Blame J. Horning.)
Glossary
Back door Conventional telephone line connected to a Lark.
Bluejay The voice file server that will support an audio message service.
Cradle The thing you put the handset in when you're not using the phone.
Finch A Cedar program providing a reasonably urbane user interface to the
 telephone system.
Flash (v. t.) A primitive signalling method, still used in some telephone systems, involving the
 depression of the telephone switchhook for a brief interval (.5 to 1.5 seconds or so.)
Front door Ethernet as used to carry telephone calls and other voice traffic to and from a Lark.
Handset The dumbell-shaped thing that you talk and listen to when you're on the phone.
Hookswitch See Switchhook.
Lark The hardware and programs comprising an Etherphone, not counting the telephone
 and speaker contraptions.
Offhook Telephone set removed from its cradle, or other voice peripheral so configured to
 allow the Lark to be actively engaged in signalling, conversation, or badinage.
Onhook Not Offhook.
Switchhook The button-switches that open when you put the handset in the cradle.
Telephone The conventional-looking telephone instrument that is connected to your Lark.
Thrush The telephone control server that manages call placement activities.
Touchpad The 12-button keyboard on a telephone.
Summary -- Using your telephone without Finch
When things don't work
Lift the handset and wait a few seconds for telephone company dial tone.
If still in trouble, turn Lark power off, then back on.
If trouble continues, turn Lark power off and leave it off.
As a last resort, remove telewall connection from Lark and connect to old phone.
Log the problem.
To answer a call
Lift handset, or turn speakerphone toggle on (up).
To place a call from the telephone
Lift handset and "dial" as usual. Do not supply extra codes for Intelnet calls.
To use the speakerphone
Lift toggle switch up to enable; if handset is offhook, it takes precedence.
To reach the "back door" without placing a call, forward or unforward calls, or pick up a call that has already forwarded to the receptionist
Enter **0
Features
Chart.press leftMargin: 1 in, topMargin: 2 in, width: 7 in, height: 4 in