Adding Voice to an Office Computer Network Larry Stewart Xerox PARC Computer Science Laboratory UCB-SU-Slides.tioga, Title November 9, 1983 Acknowledgements Voice Project Dan Swinehart Severo Ornstein Cedar Project . . . Dorado Project . . . UCB-SU-Slides.tioga, Acknowledgements November 9, 1983 OVERVIEW Main points: Voice and the office, not technology but . . . Ethernet Voice Works Motivation Architecture Ethernet Transmission System Components Etherphone Slide Show UCB-SU-Slides.tioga, Overview November 9, 1983 Show color transparency here (I Hate Phone) UCB-SU-Slides.tioga, Hate telephone pix November 9, 1983 Issues -- Caller Addressing Responsiveness Annoying or Unnerving Treatment Issues -- Callee Missed Calls Intrusion Value Added: Broadcasts Value Added: Background Calls UCB-SU-Slides.tioga, Issues -- Caller November 9, 1983 Issues -- Transcription Messages Editing Annotation Synthesized Voice (Speech recognition) Issues -- Noises Attention Progress Games UCB-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 as Data Voice annotated documents Interactive integrated voice Better human assisted call handling Voice messages UCB-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 Fill in subject/addresses Speak/type message body Edit voice (using visual clues) Deliver as usual UCB-SU-Slides.tioga, User Functions November 9, 1983 Show cartoons here Advanced call placement Advanced call forwarding UCB-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 UCB-SU-Slides.tioga, User Model November 9, 1983 Basic Capabilities Terminal equipment Voice input/output Buttons, lights, etc. Transmission Real-time requirements Control & status Management of connections Voice composition and editing Structuring and handling voice Voice filing Real-time requirements Data bases White pages etc. UCB-SU-Slides.tioga, Basic Capabilities November 9, 1983 Architecture 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. Components: 1. Etherphone -- Voice I/O 2. Etherphone Server -- System control 3. Voice File Server -- real-time requirements 4. POTS gateway -- to outside telephones UCB-SU-Slides.tioga, Architecture November 9, 1983 Show system block diagram here UCB-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 Conservative design! 64 Kbps voice encoding, industry standard 50% net utilization for ~0 collisions -- 5 Mbps 50 packets/second for low delay 50% control overhead -- 90 Kbps per voice stream 55 one-way voice streams or 28 "trunks" TASI advantage = 1.6 -- 45 conversations 20% of telephones in use -- 225 subscribers UCB-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 inexpensive -- 300 Mb = 9.5 hours Echos Outside and speakerphone calls may need echo suppression or cancellation One-chip digital echo cancellers exist Capacity limits Scaling to multiple networks with very fast gateways? Traffic engineering Sharing with data traffic has problems Economics Ethernet voice is within range of PBX costs. UCB-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 switching system Access to voice data UCB-SU-Slides.tioga, Reminder November 9, 1983 Telephone Server Responsibilities Voice connections Telephone user interface Coordination Data base services Etherphone assignments Directory assistance UCB-SU-Slides.tioga, Server responsibilities November 9, 1983 Voice File Server Responsibilities Record voice files Play them back Directory services Backup Houskeeping UCB-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 . . . UCB-SU-Slides.tioga, Workstation responsibilities November 9, 1983 Etherphone Simple, until you look at the details! Responsibilities Voice I/O Ethernet Hardware "Digital" Board -- two 8088 microprocessors "Analog" board -- crossbar switch plus interfaces Software Small operating system Communications Applications Real-time UCB-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, process scheduling, other "glue" UCB-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 UCB-SU-Slides.tioga, Slave CPU software November 9, 1983 Digital Hardware Main Processor 8 MHz 8088 8 K bytes EPROM DES Encryption Ethernet 6 Timer channels 2 RS-232 channels Parallel IO Shared Memory -- 64 K bytes Slave CPU 8 MHz 8088 8 K bytes EPROM 2 K bytes local RAM UCB-SU-Slides.tioga, Digital hardware November 9, 1983 Analog Hardware 8 by 8 Analog crossbar switch Interfaces Two Codec / Filter chip sets (D/A and A/D) Speaker amplifier Microphone preamp Telephone set interface Telephone line interface (with 2-4 wire conversion) Two line level inputs and outputs DTMF (touch tone) decoder Relays for power fail line transfer UCB-SU-Slides.tioga, Analog hardware November 9, 1983 Status 8 Users in place ~50 Etherphones in production to be installed by December Control Server running Voice File Server running Some workstation software Personal directory Whitepages access to company phone book Voice recording and playback Preliminary interface to mail system UCB-SU-Slides.tioga, Status November 9, 1983 Κ –"slides" style˜Ititle˜*K˜K˜ K˜ ˜Icenter˜I pageBreakšΡdis-˜-˜L˜IbodyšΠbx ˜ Iindentšž ˜ Ošž˜Nšž ˜ Ošž˜Nšž˜Ošž˜N˜Mš8˜8—šœ˜L˜Nšž ˜ Ošž$˜$Ošž˜N˜Nšž ˜ Nšž ˜ Nšž˜Nšž˜Nšž ˜ Nšž ˜ Mš0˜0—K˜˜Mš:˜:—˜Nšž ˜ Nšž˜Nšž˜K˜—šΟb˜Nšž ˜ Nšž ˜ Nšž˜Nšž˜Mš8˜8—šŸ œ ˜Nšž˜Nšž˜Nšž ˜ Nšž˜Nšž˜—šŸ œ˜Nšž ˜ Nšž˜Nšž˜Mš?˜?—˜Nšž˜Ošž%˜%Ošž#˜#Ošž#˜#Ošž˜Nšž ˜ Ošž˜Ošž˜Ošž#˜#Ošž˜Mš8˜8—˜Nšž˜Nšž ˜ Ošž˜Ošž˜Ošž ˜ Ošž˜Nšž˜Ošž˜Ošž˜Ošž˜Ošž˜Ošž˜Mš6˜6—K˜K˜˜Mš0˜0—˜ Nšž!˜!Nšž˜Nšž˜Ošž!˜!Ošž#˜#Ošž˜Nšž˜Ošž˜Ošž ˜ Mš2˜2—˜Nšž˜Ošž˜Ošž˜Nšž ˜ Ošž˜Nšž˜Ošž˜Nšž˜Ošž˜Nšž ˜ Ošž˜Nšž ˜ Ošž˜Mš:˜:—˜ Nšž ˜ Ošž'˜'Ošž˜Ošž&˜&OšžB˜BNšž ˜ Ošž˜Ošž)˜)Ošž2˜2Ošž,˜,Mš4˜4—˜Mš5˜5—˜Nšž ˜ Ošž&˜&Ošž&˜&Ošž'˜'Nšž˜Ošž)˜)Ošž1˜1Ošž˜Ošž2˜2Ošž'˜'Ošž+˜+Ošž-˜-O˜Mš:˜:—˜Nšž ˜ Ošž˜Ošž$˜$Ošž=˜=Ošž-˜-Nšž˜OšžH˜HOšž'˜'Nšž˜Ošž5˜5Ošž˜Ošž&˜&Nšž ˜ Ošž,˜,Mš;˜;—˜Nšž˜Ošž˜Ošž˜Nšž˜Ošž#˜#Ošž1˜1Ošž˜Mš0˜0—˜!Nšž˜Nšž˜Nšž ˜ Nšž˜Ošž˜Ošž˜Mš?˜?—˜"Nšž˜Nšž˜N˜N˜N˜Nšž˜Nšž˜Nšž ˜ Mš<˜<—˜Nšž˜Ošž ˜ Ošž ˜ Nšž˜Ošž ˜ Nšž˜MšD˜D—˜ Nšž&˜&Nšž˜Ošž ˜ Ošž˜Nšž˜Ošž,˜,Ošž3˜3Nšž˜Ošž˜Ošž˜Ošž ˜ Ošž ˜ Mš2˜2—˜Nšž˜Nšž˜Nšž˜Ošž&˜&Ošž˜Nšž˜Ošž˜Ošž&˜&Nšž2˜2Mš9˜9—˜Nšž˜Nšž˜Nšž˜Nšž˜Nšž˜Nšž"˜"Mš:˜:—˜Nšž˜Ošž ˜ Ošž˜Ošž˜Ošž˜Ošž˜Ošž˜Ošž ˜ Nšž˜Nšž ˜ Ošž ˜ Ošž˜Ošž˜Mš8˜8—˜Nšž˜Nšž ˜ Ošž+˜+Ošž˜Ošž˜Ošž˜Ošž3˜3Ošž!˜!Ošž˜Nšž#˜#Mš7˜7—˜Nšž˜šž˜Nšž˜—Nšž˜Nšž˜Nšž˜Ošž˜Ošž'˜'Ošž˜Ošž$˜$Mš.˜.———…—~!