Plot
· User interface and system overview (video)
· Project goals
original, functional goals
architectural goals
· Towards an architecture for voice integration
· Voice ropes: management of recorded voice
· Conclusions
Original Voice Project Goals
· Taming the telephone
better placement and receipt of calls
better handling of special features
better human-assisted call handling
· Voice as data
recorded voice messages
synthesized text-to-speech messages
speech recognition (not yet)
voice-annotated documents
integration with other interactive applications
· Programmer control over all of the above
Overall Goal: A Voice Systems Architecture
· User-programmable
language-level interfaces
simple things are simple
complicated things make sense
acceptable impact on reliability
· Supports interoperability
multiple workstations and environments
multiple networks and protocols
multiple telephone transmission and switching choices
· Extensible
admits new applications
admits new services
admits new workstations, networks, . . .
Cedar Voice Architecture Layering
· Application
client applications that use voice
· Service
telephony, recording, speech synthesis, speech understanding, etc.
· Conversation
conversation establishment and management
· Transmission
voice transmission protocol
remote procedure call protocol
· Physical
communication media
Conversation Management
· one or more parties per conversation
sources and sinks of voice
non-voice participants, e.g. workstations
· conversation establishment
state machine (idle, notified, ringing, ringback, active, ...)
parties act autonomously
notifications of state changes
· authenticated or presumed identities
· active parties use Voice Transmission Protocol
· broadcast reports during active conversation
encryption key distribution
recording started, playback finished, etc.
Conversation Management -- Challenges
· Novel conversation models
background calls, lectures, "watercooler" simulators
unsymmetric participation in (multiple) conversations
under workstation program control
· Workstation/telephone partnership
workstation decisions override telephone decisions
workstation tracks telephone-initiated activities
default behavior when workstation fails or drops out
· Reliability in the face of:
simultaneous actions by all parties
possibly-unreliable client code in workstation
distributed control, failures
real-time nature of the activity