Adding Voice to an Office Computer Network Larry Stewart Xerox PARC Computer Science Laboratory SU-Slides.tioga, Title November 9, 1983 Acknowledgements Voice Project Dan Swinehart Severo Ornstein Consultants Students Cedar Project Dorado Project SU-Slides.tioga, Acknowledgements November 9, 1983 OVERVIEW Main points: Voice and the office, not technology but . . . Ethernet Voice Works Motivation Architecture Ethernet Transmission Etherphone Slide Show SU-Slides.tioga, Overview November 9, 1983 Issues -- Caller Addressing Responsiveness Annoying or Unnerving Treatment Issues -- Callee Missed Calls Intrusion Value Added: Broadcasts Value Added: Background Calls SU-Slides.tioga, Issues -- Caller November 9, 1983 Issues -- Transcription Messages Editing Annotation Synthesized Voice (Speech recognition) Issues -- Noises Attention, Progress, Games SU-Slides.tioga, Issues -- Transcription November 9, 1983 Two Areas of Exploration Taming the Telephone Better placement and receipt of calls Better handling of special features Better human assisted call handling Voice messages Voice annotated documents Interactive integrated voice Voice as Data SU-Slides.tioga, Areas to Explore November 9, 1983 User Functions Conventional Telephone Call placement using Workstation Mouse and directory Intercom, Phone Call, Recorded message Leaving Messages Electronic Message Form Speak/type message body Edit voice (using visual clues) SU-Slides.tioga, User Functions November 9, 1983 Show cartoons here Advanced call placement Advanced call forwarding SU-Slides.tioga, Cartoons November 9, 1983 User Model Workstation with control software Handset, speakerphone Instant Connections to: Other voice-workstation terminals Voice recording-playback facilities Outside phone lines Database access Phone directory User profiles SU-Slides.tioga, User Model November 9, 1983 Basic Capabilities Terminal equipment Transmission Control & status Voice composition and editing Voice filing Data bases SU-Slides.tioga, Basic Capabilities November 9, 1983 Architectural Principles 1. Ethernet for both control and data 2. Keep Etherphone simple 3. High availability and reliability 4. Use workstation when available for wonderful user interface. SU-Slides.tioga, Architectural Principles November 9, 1983 Architecture Components: 1. Etherphone 2. Etherphone Server 3. Voice File Server 4. POTS gateway SU-Slides.tioga, Architecture November 9, 1983 Show system block diagram here SU-Slides.tioga, Block Diagram November 9, 1983 Ethernet Telephony Bottom Line 10 Mbps Ethernet -- ~ 225 telephones 3 Mbps Ethernet -- ~ 100 telephones 1.5 Mbps Ethernet -- ~ 60 telephones SU-Slides.tioga, Block Diagram November 9, 1983 More Ethernet Telephony Conservative design! 64 Kbps voice encoding 50% net utilization for ~0 collisions 50 packets/second for low delay 50% overhead -- 90 Kbps 55 one-way voice streams or 28 "trunks" TASI = 1.6 -- 45 conversations 20% in use -- 225 subscribers SU-Slides.tioga, Ethernet telephony November 9, 1983 Transmission Issues Compression Silence detection a good idea? State of the art ~ 8 Kbps, but . . . Doesn't help Ethernet much, short packets are mostly overhead Disks are cheap -- 300 Mb = 9.5 hours Echos Outside and speakerphone calls may need echo suppression or cancellation One-chip digital echo cancellers exist SU-Slides.tioga, Ethernet telephony November 9, 1983 More Transmission Issues Capacity limits Scaling to multiple networks with very fast gateways? Traffic engineering Sharing with data traffic has problems Economics Ethernet is within range of PBX costs. SU-Slides.tioga, Transmission Issues November 9, 1983 Reminder Our goals are: Taming the telephone Better integration of voice Necessary capabilities are: Fast control of telephone switching Access to state of the telephone system Access to voice data SU-Slides.tioga, Reminder November 9, 1983 Telephone Server Responsibilities Voice connections Telephone user interface Coordination Data base services Etherphone assignments Directory assistance SU-Slides.tioga, Server responsibilities November 9, 1983 Voice File Server Responsibilities Record voice files Play them back Directory services Backup Houskeeping SU-Slides.tioga, VFS responsibilities November 9, 1983 Workstation Responsibilities User interface for telephony Call status White pages User interface for voice filing Mail system User interface for . . . SU-Slides.tioga, Workstation responsibilities November 9, 1983 Etherphone Responsibilities: Voice and Ethernet I/O Hardware Digital - two 8088 microprocessors Analog - crossbar switch plus interfaces Software Small operating system Communications Applications Real-time SU-Slides.tioga, Etherphone November 9, 1983 Main Processor Software Remote Procedure Call (control) Voice Protocol Event Reporter off hook, ringing, speakerphone switch, touch tone buttons Command interpreter set up connection generate dial tone, busy signal, . . . Remote debugging, processes, "glue" SU-Slides.tioga, Main CPU software November 9, 1983 Slave Processor Software Voice IO driver Silence detection Echo suppression Conference calls Shared memory: "smart" DMA Main loop runs in 125 microseconds SU-Slides.tioga, Slave CPU software November 9, 1983 Digital Hardware Main Processor 8 MHz 8088 8 K bytes EPROM DES Encryption, Ethernet, Parallel IO 6 Timer channels, 2 RS-232 channels, Shared Memory -- 64 K bytes Slave CPU 8 MHz 8088 8 K bytes EPROM, 2 K bytes local RAM SU-Slides.tioga, Digital hardware November 9, 1983 Analog Hardware 8 by 8 Analog crossbar switch Interfaces Two Codec / Filter chip sets Microphone and Speaker amplifiers Telephone set, Telephone line Two line level inputs and outputs DTMF (touch tone) decoder Relays for power-fail line-transfer SU-Slides.tioga, Analog hardware November 9, 1983 Status 12 Users in place ~60 Etherphones built Control Server running Voice File Server running Some workstation software Personal directory Whitepages access to phone book Voice recording and playback Preliminary interface to mail system SU-Slides.tioga, Status November 9, 1983 ΚZ–"slides" style˜Ititle˜*K˜K˜ K˜ ˜Icenter˜I pageBreakšΡdis)˜)˜L˜IbodyšΠbx ˜ Iindentšž ˜ Ošž˜Ošž ˜ Ošž˜Nšž ˜ Nšž˜N˜Mš4˜4—šœ˜Nšž ˜ Ošž$˜$Ošž˜N˜Nšž ˜ Nšž ˜ Nšž˜Nšž ˜ Nšž ˜ Mš,˜,—˜Nšž ˜ Nšž˜Nšž˜—šΟb˜Nšž ˜ Nšž ˜ Nšž˜Nšž˜Mš4˜4—šŸ œ ˜Nšž˜Nšž˜Nšž ˜ Nšž˜Nšž˜—šŸ œ˜Nšž˜Mš;˜;—˜Nšž˜Ošž%˜%Ošž#˜#Ošž#˜#Ošž˜Ošž˜Ošž˜Nšž ˜ Mš4˜4—˜Nšž˜Nšž ˜ Ošž˜Ošž&˜&Nšž˜Ošž˜Ošž˜Ošž˜Mš2˜2—K˜K˜˜Mš,˜,—˜ Nšž!˜!Nšž˜Nšž˜Ošž!˜!Ošž#˜#Ošž˜Nšž˜Ošž˜Ošž ˜ Mš.˜.—˜Nšž˜Nšž ˜ Nšž˜Nšž˜Nšž ˜ Nšž ˜ Mš6˜6—˜Ošž'˜'Ošž˜Ošž&˜&OšžB˜BMš;˜;—˜ Nšž ˜ Ošž˜Ošž˜Ošž˜Ošž˜Mš0˜0—˜Mš1˜1—˜Nšž ˜ Ošž'˜'Ošž'˜'Ošž&˜&O˜—Mš1˜1˜Nšž˜Ošž˜Ošž%˜%Ošž˜Ošž˜Ošž'˜'Ošž˜Ošž˜O˜Mš6˜6—˜Nšž ˜ Ošž˜Ošž$˜$Ošž=˜=Ošž%˜%Nšž˜OšžH˜HOšž'˜'O˜Mš6˜6—˜Nšž˜Ošž5˜5Ošž˜Ošž&˜&Nšž ˜ Ošž&˜&Mš7˜7—˜Nšž˜Ošž˜Ošž˜Nšž˜Ošž#˜#Ošž'˜'Ošž˜Mš,˜,—˜!Nšž˜Nšž˜Nšž ˜ Nšž˜Ošž˜Ošž˜Mš;˜;—˜"Nšž˜Nšž˜N˜Nšž˜Nšž˜Nšž ˜ Mš8˜8—˜Nšž˜Ošž ˜ Ošž ˜ Nšž˜Ošž ˜ Nšž˜Mš@˜@—˜ Nšž)˜)Nšž˜Ošž"˜"Ošž(˜(Nšž˜Ošž˜Ošž˜Ošž ˜ Ošž ˜ Mš.˜.—˜Nšž˜Nšž˜Nšž˜Ošž'˜'Ošž˜Nšž˜Ošž˜Ošž&˜&Nšž#˜#Mš5˜5—˜Nšž˜Nšž˜Nšž˜Nšž˜Nšž˜Nšž"˜"Mš6˜6—˜Nšž˜Ošž ˜ Ošž˜Ošž%˜%Ošž$˜$Nšž˜Nšž ˜ Ošž ˜ Ošž$˜$Mš4˜4—˜Nšž˜Nšž ˜ Ošž˜Ošž!˜!Ošž˜Ošž!˜!Ošž˜Nšž#˜#Mš3˜3—˜Nšž˜Nšž˜Nšž˜Nšž˜Nšž˜Ošž˜Ošž˜Ošž˜Ošž$˜$Mš*˜*———…—&†