FinchDoc.tioga
Copyright © 1986 by Xerox Corporation. All rights reserved.
Dan Swinehart, July 20, 1986 10:57:04 pm PDT
Etherphone (Finch and Lark) Manual
CEDAR 6.0 — FOR INTERNAL XEROX USE ONLY
Etherphone (Lark and Finch) Manual
Dan Swinehart
© Copyright 1985, 1986 Xerox Corporation. All rights reserved.
Abstract: This document describes the Etherphone system: the Lark voice terminal hardware and software and the Finch telephone control program which runs in Cedar. It also describes an extension to the Walnut electronic mail system that supports voice messages.
Created by: Severo Ornstein, Larry Stewart, Dan Swinehart, Ken Pier, Polle Zellweger
Maintained by: LarkSupport <LarkSupport.pa>
Keywords: Cedar, Synthesized voice, Telephones, Voice Mail
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
1. Introduction
The Etherphone system presently provides conventional telephone capabilities, a simple voice message service, and a synthesized voice service.
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 equipped with a speaker, a switch, and a light. 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.)
A Cedar program, called Finch, can help you to make and recieve telephone calls, manage voice messages, and have your text read to you. This document first describes the use of the telephone without the aid of the workstation, then adds a description of Finch.
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.)
2. How to use your telephone
Placing and Receiving Calls
Your telephone can be used to place and receive telephone calls as usual. There are some minor differences between an Etherphone and a standard PARC telephone:
Dial-tone vanishes after dialing the first digit, even if it's 8 or 9.
Xerox Intelnet numbers do not require you to enter your extension as an authorization code; the system does it for you.
Embarcadero Place (SDD) numbers can be dialed as four-digit extensions (6xxx). The system supplies the leading (9-496).
Dial either 911 or 9-911 to reach the local emergency dispatch number. After you have reported the problem, please also call PARC security at 4003, so that they'll know what to expect.
It's important to handle 911 right. But other numbers, like 9-411 (directory assistance), 9-611 (phone repair), 8*141 (Xerox directory assistance), and international calls (e.g., 9-011-44-....) are of variable length or belong to a class of numbers that isn't published anywhere, so it's hard for the system to keep track of them all just so that it can know when you're done dialing them. Your Etherphone won't place these calls until you terminate them with a #-tone (think carriage return). See the appendix in Section 5 for a more complete description of how phone numbers are handled.
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.
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 pre-recorded or synthesized voice messages, or it may be combined with the microphone to form a speakerphone arrangement (the microphone quality is seldom satisfactory; use this feature with discretion; and be sure to turn the microphone switch on if you plan to use it.)
Move the speakerbox toggle switch from the center to the up position to turn the speakerphone on. Your calls will then be switched to the speakerphone whenever the handset is in its cradle (on hook); lift the handset to speak privately or to use the telephone keypad, replace it to return to the speaker. Returning the switch to the center position ends the conversation or (if the handset is off hook) returns it to a conventional telephone call.
The speaker switch is spring-loaded in the downward direction. Depressing it and releasing it immediately is called a click. You can turn the speakerphone on by clicking; the subsequent behavior is subtly different from the other kind. It makes sense, but it's hard to describe. There's $5 in it for the first person who can describe how all this works, in writing, clearly and accurately (including the interactions with Finch).
Using other standard PARC phone system features
In normal use, the Etherphone system takes care of the back door telephone line, connecting it to your telephone when necessary. Sometimes it is necessary to override the system manually; whenever you hear a dial tone, you can dial **0 to make this connection.
N.B! Important! Once an incoming non-Etherphone call has transferred to the CSL receptionist, and the receptionist has answered the call, it stops ringing in your office. The Etherphone system has no way of knowing that the call is still available on your back door telephone line, so you'll get a dial tone when you try to answer it. Dial **0 to pick up the call.
Call-forwarding is a feature that has yet to be integrated into the Etherphone system; it is not available through Etherphone or Finch commands. When there's no call in progress, dial **0 to get the telephone company's dial tone, then dial 106 or 107 and so on, as usual.
Other features, such as call-trasfer or 3-way conferencing, are also not yet directly available thorugh the Etherphone system. From a standard PARC telephone, these features require that you depress the telephone hookswitch briefly (for a second or two), then release it, an action known as flashing. The Etherphone designers do not believe in flashing: depressing the Etherphone hookswitch hangs up the call. You can get the desired effect on one of two ways:
Dial **0, which should release and sieze (flash) the phone line, simulating a flash. You'll get another telephone company dial tone, and can dial the additional number or whatever. Every **0 will flash the line again, while there's a call in progress. The other party will hear these actions as very loud touch-tone noises.
Turn the Lark box's power off. Your phone will revert to a conventional PARC phone, with all its features directly available. This action will drop an Etherphone (front door) call, but will not lose a back door call. Turn power back on right away, or after the call is completed.
Phone by name, not number
The Etherphone system maintains an up to date telephone directory for PARC people, and a less up-to-date version for SDD (osbuNorth and osbuBayshore) and Versatec. If you know someone's number, it's still quicker to use it. Otherwise, consider spelling out their name on the telephone keypad instead of looking up the number.
To do it, dial *0, followed by the digits corresponding to the recipient's Grapevine RName, terminated with #. Three or four digits are often enough. You'll get a fast busy signal if you haven't uniquely identified your party; try again using more digits.
Although the telephone keypad does not say so, you can use the digit 7 for the letters PQRS, the digit 9 for WXYZ, and the digit 1 for punctuation (notably - and . ).
Examples: to reach Pier.pa, dial *07437172#. To call Willie-sue.pa, *09455431# is enough.
Control of Ringing for incoming calls
Ringing Tunes
An Etherphone can be taught to play a little song instead of ringing to announce incoming calls. You may specify your own tune, in one of a number of ways. Notify LarkSupport.pa if you would like to have a ring tune, or to change your current one. If you wish to change it frequently, you can be instructed in the arcane methods required.
You must have a dial tone to issue any of the requests in the remainder of this section.
**1 Do-Not-Disturb
Dial **1 to disable audible ringing for all incoming calls until further notice (cancelled every midnight). Callers will think your phone is ringing, but it won't be. Finch, if in use, will give visual indication of the call, but not very vigorously.
**2 Cancel Do-Not-Disturb
Dial **2 to restore normal ringing. This cancels any of the special ringing features in this section.
**4 Do-Not-Disturb very much
Dial **4 to select this option. For each incoming call, your phone will ring just once -- briefly and more quietly than usual. This option persists until you cancel it.
**3n# Do-Not-Disturb for a while.
This is a timed version of Do-Not-Disturb. **345# silences ringing for 45 minutes. **3# selects this option for 30 minutes. You can cancel at any time using **2.
**5n# Do-Not-Disturb very much for a while.
This is a timed version of Do-Not-Disturb very much. **5120# subdues ringing for two hours, and so on.
When things don't work
Please log the difficulties you have with as much detail as you can remember, and send them to LarkSupport.pa. Since your phone still works when you turn your Lark off, we might otherwise not learn of the problems.
Whenever the Lark loses power, 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 bit for the Lark to discover that it's in trouble. You should hear the telephone company's dial tone within fifteen seconds. If the Lark recovers from its difficulty, the Etherphone features will return the next time you hang up.
You may occasionally find that waiting doesn't help. Find the power switch on the power-cord end of the Lark box. Turn it off, then back on. You should now hear the telephone company's dial tone, and be ready for business. Again, if the Etherphone system recovers, it will regain control after you hang up.
If things continue to cause difficulty, 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 has not yet removed from most offices. Additional difficulties are now almost certainly not the fault of the Etherphone system.
3. How to use Finch
Finch is a Cedar program that provides a manual user interface for controlling the telephone. It also supplies a limited programming interface; consult the implementors.
Running Finch
Obtain Finch from CedarChest (Environment.df includes Finch, so you may already have it.)
Add a tailored version of the entries from Finch.profile to your user profile. Finch.profile includes definitions for several Commander buttons, some of which you may not need. You may also include the full path names of one or more personal telephone directories (do not use short names; Finch will not understand which working directory you would like it to use). The value of the user profile entry Finch.InitialDirectoriesLeft determines whether the directory viewers will be created automatically whenever you start Finch. Note: If you previously installed a Finch.InitialDirectoriesRight entry (which behaved like InitialDirectoriesLeft) in your profile based on bad advice in an earlier FinchDoc, consider making the change.
Create your telephone directories based on the template and instructions provided by Sample.TelephoneDirectory. You might want to copy TelephoneDirectory.Style to your root directory and to use to format your directories. See that file for a discussion of how to use 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.
Start Finch by issuing the Finch command to a Command Tool. This command will create the various Finch viewers, if they do not already exist, and start the program.
You can include a running Finch in a checkpoint.
Finch Viewers
Finch creates a Finch viewer (its icon is a telephone) and one or more telephone Directory viewers. The Finch tool viewer has a menu line, a one-line Called/Calling party area, a typescript subviewer that serves as a catchall for system messages, and a Conversations subviewer. The Conversations subviewer logs each voice conversation that you have had during this session, and highlights the entry corresponding to the current active conversation, if any. The directory viewers are just your directory files, converted to Tioga Buttons. More about each of these later.
You may destroy a Directory viewer whenever you choose. Destroying the Finch viewer destroys all the directories, too.
Menu Buttons
The Finch viewer includes a specialized set of menu buttons. Here is a brief description of the menu buttons:
Phone Call the party specified by the current primary Tioga selection. If you select a telephone number, it must follow the rules described briefly in Section 2 and in detail in Section 5. If it's not a number, the selection must contain an RName (PA registry assumed) unless you have created one or more Directory viewers. In that case, it may be either an RName or (part of) some name in one of your directory viewers.
 Left-button or middle-button Phone to call the office number for the selected party. Right-button Phone to call the home number.
 If there is a call in progress when you button Phone, the command will hang up the current call, wait long enough to clear the line, and place the new call. You can use this to redial busy numbers, or to be extremely rude.
Answer Answer the phone, if it's ringing. This will put the call on the speakerphone. Pick up the handset to switch to a conventional telephone call.
Disconnect Hang up the current call.
SpeakText Place a call to the Text-to-Speech server and have it utter the text indicated by the current Tioga primary selection. The speaker will be used unless you pick up the handset. If you plan to use this feature extensively, please notify LarkSupport.
 Left-button SpeakText to add text to the list currently scheduled to be spoken. Right-button SpeakText to flush whatever remains to be spoken before scheduling the new text.
 This service is also available to client programs. Consult an implementor for details. Both English-language speech and various other noises can be manufactured by the server.
 SpeakText does not do anything if you are already using the phone.
StopSpeech Flush whatever remains to be spoken.
Directory Create one phone Directory viewer from each of the directory files specified in your user profile. If your user profile includes Finch.InitialDirectoriesLeft: TRUE, you will not need to use this command to create your directories.
 You cannot edit directory entries directly in a Directory viewer, but the viewer will be updated whenever you edit the corresponding file.
Drop Out Deactivate Finch, disconnecting it from the telephone server that controls the Etherphone system. The next command that needs the connection will reactivate Finch.
Called Party: This button operates on the text field that follows it in the Called/Calling area. This field will be filled in whenever you place a call from the Etherphone or using any of the methods described in this manual. You can also edit it manually. Left-button Called Party: to select the entire field, pending-delete.
 Middle-button Called Party: to call the office number for the indicated party. Right-button Called Party: to call the home number.
 As with Phone, this button will hang up any call in progress in order to place the requested call. It replaces the Redial button in previous versions.
Calling Party: This button operates on the text field that follows it in the Called/Calling area. This field will be filled in whenever you receive an incoming call. Often there is not enough information there to identify the caller (e.g., it simply reports a call from an outside line), but when there is, you can middle-button or right-button Calling Party: to try the office or residence numbers, respectively.
Using a Directory Viewer
Each node in a 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.
Whenever a call is placed in this way, the Called Party field in the Finch viewer will be filled in, so that it is easy to redial a busy number, or to call the same individual again. If there is a call in progress, attempts to use directory entries to place calls will be ignored; the hang-up-and-redial behavior would be too easy to provoke accidently.
Whenever you have made your directory (or directories) available to Finch (by pushing the Directory button or through a user profile option), all of the other Phone buttons or commands search it before consulting the RName directory maintained by the system. This is the only way, at present, to obtain residence numbers. This directory is not available to interpret names specified by number on the telephone keypad.
Command Tool Commands
Phone <number or name>
Calls the specified number or the office number for the named party. This command will cause any existing call to be dropped first. If <number or name> does not begin with a letter, it will be interpreted as a number by changing the letters to the corresponding keypad digits, ignoring punctuation. Example: (800)TheCard. If the number you want to call this way begins with a letter (e.g., the PARC CMS, FAX, or HELP numbers), use a leading period (.) to distinguish it from a name. For instance, .HELP reaches Kathy Sheridan at extension 4357.
Phone <name> at home
Calls the residence number for the named party.
Phone home
Calls the residence number for the current logged-in user.
ET
Equivalent to the previous command.
Redial
Performs the same function as invoking Called Party: with the middle button in the Finch tool.
HangUp
Drops the current call.
Feep <number or character sequence>
If the call has been made to an outside (non-Etherphone) party, this command will send it touch-tone sequences while the call is in progress. This is useful for sending commands to a remote answering machine, voice mail service, or bank. You won't hear the tones.
SpeakText <whatever>
Causes the remainder of the command line to be uttered.
StopSpeaking
Like the StopSpeech button in the Finch Tool.
If you include the Command Tool buttons from Finch.profile in your user profile, it will include a Phone, a Feep, and a SpeakText button, which apply the corresponding commands to the current selection. Right-button Phone to call the residence number (adds " at home" to the command).
4. Voice Messages (WalnutVoice)
This release revives the ability to send and receive voice messages. You must be a Walnut user to use these features. Please read this section carefully, observing all cautions, before using WalnutVoice for the first time.
Running WalnutVoice
WalnutVoice.load is included in Finch.df. It registers the WalnutVoice command, which you should then use instead of the Walnut command. Once you begin using WalnutVoice, you must use it every time. If you run WalnutVoice sometimes and just Walnut at other times, you might mess up the voice message database. No additional profile entries are required to run WalnutVoice.
Sending Voice Messages
Finch has to be running, too. Your Walnut sender will have four new buttons. Button Record, wait for the beep, then record your voice message. You can use the Etherphone's microphone if you wish (be sure to turn it on), but the quality will be better if you use the telephone handset instead. Button STOP! when you're done. Button Play to hear what you said.
After you record a voice message, notice the VoiceFileID field in the header of your Walnut Sender. If you choose not to send the voice message, or if you want to record a different one, delete that line first. You can record more than one message, whereupon you will discover multiple VoiceFileID fields in the message. Play will play them in order (see below).
To copy a voice message from one Walnut message to another — perhaps to forward a copy of the voice attachment that you have received — Button Attach to create a template VoiceFileID field, then fill it in by hand. Or use any other method you like to copy the entire VoiceFileID node into the destination header.
Receiving Voice Messages
Finch does not have to be running when you receive messages with voice in them. But WalnutVoice does have to be running (cf. warning, above)!!! If you don't move a message from the Active message set, its attached voice message is only guaranteed to last for two weeks. If you move or copy it to another message set, voice attachments will be retained indefinitely. If you delete and expunge all your copies of a message, its voice attachment will also be deleted unless somebody else still wants it.
Playing Voice Messages
Finch has to be running, too. Your Walnut message viewer will have two new buttons. If it has voice attachments, there will be one or more VoiceFileID fields in the message header. Button Play to hear the voice attachments associated with a message. Button STOP! to stop it before it's done. The message will be played through the speaker unless the handset is off hook. You won't be able to play the message at all if you are already using the phone.
If you place the primary selection within one of the VoiceFileID fields before invoking Play, Finch will play only that one. You can select and invoke Play sequentially for several VoiceFileIDs, in any order, and they will be queued for playback.
VoiceFileIDs can be placed anywhere within a Walnut Message body, as individual nodes, and they can be played back using this selection method. Only entries that appear in the message header can protect a message from being garbage collected, though.
5. Appendix: How telephone numbers are interpreted
If a telephone number has been submitted by Finch, it may have non-numeric characters in it. Letters of the alphabet are translated to the corresponding keypad digits ('Q => 7, 'Z => '9), and all other non-numeric characters are removed. In the examples that follow, punctuation is included for clarity; a Finch user may include punctuation, but an Etherphone keypad user obviously cannot.
DDD refers to Direct-distance-dialing — conventional long-distance area-code stuff.
<ext> refers to the user's own telephone extension.
In the "System Dials" column, "*" indicates a pause for an amount of time necessary to obtain the next Intelnet phone system dial tone.
When the table indicates that a "#" must terminate a number, this applies only to numbers dialed on the Etherphone keypad. Numbers supplied by Finch do not have the unknown-length problem.
Conventional numbers
User Dials System Dials Remarks
9(303)555-4321 93035554321 No translation needed, DDD choice forced.
8(303)555-4321 8*3035554321*<ext> Intelnet pauses and authentication added.
8*555-4321 8*5554321*<ext> Intelnet pauses and authentication added.
(303)555-4321 8*3035554321*<ext> Intelnet is the system of choice.
Entries in bold italics cannot be dialed in this form from an Etherphone, usually because a leading "9" or "8" is needed to distinguish them from local calls and so on.
9-555-4321 95554321 Local call, no translation needed.
555-4321 95554321 Seven-digits imply local, not Intelnet.
9(415)555-4321 95554321 DDD number in local exchange.
4321 4321 PARC-local call.
9(415)494-4321 4321 PARC-local call.
494-4321 4321 And so on.
8*923-4321 4321 PARC-local call.
6321 94966321 Embarcadero Place.
8*922-6321 94966321 Embarcadero Place, specified as Intelnet.
Numbers with non-standard lengths
User Dials System Dials Remarks
9911 9911 Emergency. IMPORTANT! After reporting, also call
911 9911 PARC security at x4003, so they'll be prepared.
0 0 PARC operator
9411 still waiting Information -- OK in Finch, but
9411# 9411 # required for most short numbers.
011-44-923-1234 still waiting Still waiting for digits, unless from Finch
9011-44-923-1234# 9011449231234  International call.
90# 90 Local telephone company operator.
Intelnet calls to nearby areas
User Dials System Dials Remarks
8(408)555-4321 94085554321 Intelnet can't reach these areas directly.
8(916)555-4321 99165554321 Other nearby areas.
8(707)555-4321 97075554321
8(800)555-4321 98005554321 Intelnet's not interested in free calls.
8(900)555-4321 99005554321 Dial-it numbers, too.
8*928-4321 94089824321 Versatec -- too local for Intelnet.
8*924-4321 96352020 Xerox in Oakland -- too local, reaches their switchboard.
8*925-4321 -- Xerox in Walnut Creek -- too local, switchboard number unknown.
8*926-4321 93931700 Xerox in San Francisco -- too local, reaches their switchboard.
. . . -- And so on, for another 10 sites or so.
6. Glossary
Back door Conventional telephone line connected to a Lark.
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 hookswitch 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 The button-switches that open when you put the handset in the cradle.
Keypad The 12-button keyboard on a telephone.
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 signaling, conversation, or badinage.
Onhook Not Offhook.
Switchhook See Hookswitch.
Telephone The conventional-looking telephone instrument that is connected to your Lark.
Thrush The telephone control server that manages call placement activities.
7. Summary — Using your telephone without Finch
Placing Calls
Lift handset and "dial" as usual. Do not supply extra codes for Intelnet calls. See Section 5 if what you try doesn't work.
Receiving Calls
Lift handset, or turn speakerphone toggle switch on (up).
Direct Access to Back Door
**0 with no call in progress (dial tone). Used to place calls when you suspect the Etherphone system can't do it right, to pick up calls that have transferred to the receptionist, or to issue forwarding instructions.
Hookswitch Flash
**0 with back-door call in progress. Used to transfer calls or set up conferences. The other party will hear the noises — loudly.
Control of Ringing
**1 Do-Not-Disturb — cancels ringing
**2 Cancel Do-Not-Disturb — restores normal ringing
**3n# Do-Not-Disturb for a while (n minutes)
**4 Do-Not-Disturb very much — rings once, quietly
**5n# Do-Not-Disturb very much for a while (n minutes)
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.
Report the problem.