As a reaction to a request for development, I designed and built a party-telephone.
The basic idea was to create an audio guestbook that allows to record messages to the host or the main person of a party or event. To achieve a realistic user experience, the system should mimic the original behavior of an old rotary dial telephone.
When the user lifts the receiver, a dial tone is heard. After a time-out, the dial tone changes to a busys tone. If a niumber is dialled, an announcement is played, followed by a signal beep.
There are two types of announcement available. One type summarizes a number of annoncements building a pool. An announcement is picked from that pool by an algorithm based on the dialled number. The other type consists of a set of announcements, each assigned to a specific phone number.
A signal beep is played after the announcement to prepare for recording. the user may record a message after the tone. Recording is ended by putting the receiver on-hook. I plan an extended version of the phone that may ring in configurable intervals to attract attention.
An old rotary dial phone will be modified to allow a micro controller to evaluate changes on the hook contact and read out a phone number from the rotary dial.
The components used in that device allow playing and recording audio files in the compressed OGG format. A micro SD card is used to store data on the phone. The phone may be connected to a computer as a USB drive. The internal battery is charged while connected via USB. The phone may be configured by editing an INI file stored on the SD card. Announcements and system sounds can be copied to the SD card and recorded messages may be read from the SD card. A log file is written to allow usage analysis and to optimize the user experience.
The used components consist of an Arduino based micro controller, an audio encoder and decoder module, the micro SD card, a real-time clock and connectors to read out the rotary dial and the hook switch.
A main switch is placed on the ground plate of a phone. While the microphone needs to be replaced by an amplified microphone, the original speaker can be used and recycled.
Configuration is done through an INI file. The behavior of the phone can be changed by setting parameter values. Setting the real-time is performed through a terminal application from a PC.
To simplify handling, the phone may be run in a simplified (less realistic) mode. This mode doesn’t require knowledge of old rotary dial phones (but is by far not that much fun). In this mode, a single announcement is played without dialling, after lifting the receiver. Recording starts after a signal beep.
To allow late-time configuration of an announcement, a single dedicated announcement may be recorded directly on the phone. A configured dedicated number needs to be dialled to enter announcement recording. A special announcement requests the customer annoncement to be spoken, recording stops when putting the receiver back on-hook. The new announcement is activated immediately after recoding. It maybe checked by dialling a number and listening to the announcement.
Up to now, I modified a model 1961 phone (Austrina Post Office), a 1979 model phone (German Telecom) and a arificially aged phone (Telcer).