WO1999034579A1 - An on-hold device - Google Patents

An on-hold device Download PDF

Info

Publication number
WO1999034579A1
WO1999034579A1 PCT/US1998/026237 US9826237W WO9934579A1 WO 1999034579 A1 WO1999034579 A1 WO 1999034579A1 US 9826237 W US9826237 W US 9826237W WO 9934579 A1 WO9934579 A1 WO 9934579A1
Authority
WO
WIPO (PCT)
Prior art keywords
audio
audio content
memory
broadcast
broadcasting
Prior art date
Application number
PCT/US1998/026237
Other languages
French (fr)
Inventor
Giora Eyran
Michael D. Lynes
David Erik Ostergren
Original Assignee
Bogen Communications, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bogen Communications, Inc. filed Critical Bogen Communications, Inc.
Priority to AU20863/99A priority Critical patent/AU2086399A/en
Publication of WO1999034579A1 publication Critical patent/WO1999034579A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/80Telephone line holding circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/64Automatic arrangements for answering calls; Automatic arrangements for recording messages for absent subscribers; Arrangements for recording conversations
    • H04M1/642Automatic arrangements for answering calls; Automatic arrangements for recording messages for absent subscribers; Arrangements for recording conversations storing speech in digital form

Definitions

  • the present invention relates to on-hold telephone devices. More specifically, the invention relates to an interface between on-hold devices and pagers in a PBX environment and
  • peripheral for a PBX is an "on-hold" player, which provides music or other announcements to callers who are placed on hold.
  • on-hold players are Bogen Communication Corporation's HSR product, Neltech's TELink700 product and Premier's 10H2000RU product.
  • the second limitation is noticed when it is desired to change the operating system software or other software. Such a change generally requires that the equipment be taken off- line so that it can be connected to a controller while the new software is downloaded.
  • Today's on-hold devices also have other limitations. For example, they are not capable of
  • a pager and an on-hold device that includes memory to store audio tracks are provided.
  • An audio output from the on-hold device is connected to the pager and the music on-hold device causes the stored audio tracks to be selectively played over the pager.
  • the audio tracks can either be played periodically or upon the occurrence of an event; for example, when a customer enters a store.
  • the audio track can be anything; for example, an announcement of sales or other promotional news.
  • the on-hold device includes sufficient memory to store a plurality of audio tracks and instructions for playing the audio tracks.
  • the on-hold device causes a selected one of the audio tracks to be played over the pager in accordance with the instructions.
  • the audio tracks can be played back in an order specified by the user.
  • the on-hold device can cause specified audio tracks to be played based upon the time of day.
  • the user can select an audio track to be broadcast as a default when no other audio track is played.
  • the on-hold device includes a digital communication interface, such as a modem, that allows digital signals to be transferred.
  • the on-hold device further includes a microcontroller for responding to an incoming download command signal on the modem interface and then storing the download signals that follow in memory.
  • the downloading is selective in that it can remove or replace specific pieces of
  • the downloaded digital signal transmitted can be an audio signal for use by the
  • FIG. 1 illustrates a PBX system with peripherals arranged in a known arrangement
  • FIG. 2 illustrates a PBX system configured in accordance with a preferred embodiment of the present invention
  • FIG. 3 illustrates an on-hold device in accordance with a preferred embodiment of the present invention
  • FIG. 4 illustrates the use of one aspect of the present invention in a store
  • FIG. 5 illustrates another block diagram of the on-hold device
  • FIG. 6 illustrates the steps performed by a microcontroller in the on-hold device to control the distribution of audio signals to a pager in accordance with the present invention
  • FIG. 7 illustrates the modem interface of the present invention
  • FIG. 8 shows the supervisor circuit, the microcontroller and the memory of the on-hold device
  • FIG. 9 illustrates the steps performed by the on-hold device when downloading operating system signals
  • FIG. 10 illustrates the steps performed by the on-hold device when downloading audio content files
  • FIG. 1 1 illustrates the logic of the supervisor circuit in state diagram format
  • FIG. 12 illustrates a network of on-hold devices
  • FIG. 13 illustrates the steps performed by the server on the network of FIG. 12 to download signals to the networked on-hold devices.
  • FIG. 14 illustrates the steps performed by the on-hold device when downloading device control instruction files
  • the on-hold device of the present invention provides audio output subject to software control.
  • the on-hold device provides this audio output signal either entirely from stored digital audio content, entirely from input audio, or from a mixture of stored digital content and input
  • This audio output is an analog signal that may be connected to virtually any type of amplification or audio broadcast device.
  • the broadcast device can be any type of amplification or audio broadcast device.
  • the broadcast device can be any type of amplification or audio broadcast device.
  • the broadcast device can be any type of amplification or audio broadcast device.
  • FIG. 1 a PBX 10 and several peripherals, arranged in a known configuration, are illustrated.
  • the peripherals include an auto attendant 12 that has the capability to interactively
  • a caller on the telephone lines 14 to enter the proper extension so that the call can be routed on a bus 16.
  • a voice mail system 18 that allows a caller to leave a message for particular persons.
  • an overhead pager 20 that typically allows the operator and others to send paging messages over a speaker 22.
  • Another peripheral frequently used is a known on-hold device 24, which stores music or other announcements which are sent to the on-hold bus 26 of the PBX 10 and then played to a caller on the telephone lines 14 when a caller is placed on-hold.
  • the announcements can include hours of operations, upcoming promotional information, or any other audio track.
  • These on-hold devices are well known in the art. See, for example. Bogen's HSR system, Neltech's TELink700 product and Premier's 10H2000RU product.
  • FIG. 2 a system that uses a new on-hold device 30 in accordance with a preferred embodiment of the present invention is illustrated.
  • This system allows the new on-hold device 30 to be utilized to selectively broadcast stored audio from memory in the on-hold device 30 and/or from another audio source (e.g., a CD music source) to the pager 20.
  • another audio source e.g., a CD music source
  • the new on-hold device 30 includes a microcontroller 50, an audio content memory 52, a device control information memory 53, a modem 54 and audio processing and conditioning circuitry 56.
  • the microcontroller 50 includes an input 58 for a TRIGGER signal.
  • the modem interface 54 includes an input/output 60 for a communications line.
  • the audio processing and conditioning circuit 56 includes several inputs and outputs. First, it includes a standard output 62 for the PBX on-hold bus. Additionally, it includes another audio output 64 (AUX OUT) and two audio inputs 66 (AUX IN) and 68 (MUSIC SOURCE). Additionally, the output 62 can be expanded to multiple outputs 62A to provide an interface to multiple on-hold PBX buses.
  • the operation of the on-hold device 30 in a mode referred to as the "storecasting" mode will be explained.
  • the announcements or other audio tracks that are to be played over the pager 20 are stored in the audio content memory 52.
  • Device control instructions are stored in the device control information memory 53.
  • the device control information memory 53 can be any type of memory; however, an EERAM is preferably used as it affords minimal hardware requirements, possesses a small footprint, and performs read/write access on individual bytes with high reliability— as will be appreciated by one skilled in the art.
  • the device control instructions can specify which audio track or audio tracks should be played in response to various events, such as a trigger or a certain time of day.
  • the device control instructions can also specify an order in which the audio tracks should be played back, or an audio track to be broadcast as a default when no other audio track is played.
  • the device control instructions can also include broadcast control instructions that specify characteristics of the broadcast of an audio track. Such characteristics could include, by means of example only, the volume and time interval for playing the audio content.
  • the audio content memory 52 can be any type of memory; however, a flash memory device is preferably used as it permits data integrity without a battery, as will be appreciated by one skilled in the art.
  • the microcontroller 50 accesses the device control information memory 53 to retrieve new instructions.
  • the microcontroller 50 then accesses the audio content memory 52 to retrieve the specified stored audio track(s) according to the device control instructions and sends the audio track(s) to the audio processing and conditioning circuitry 56.
  • the microcontroller 50 further controls the audio processing and conditioning circuitry 56 so that audio signals are output on the AUX OUT output 64 (in other modes, the output can be on other outputs, such as the PBX hold bus output 62).
  • the audio processing and conditioning circuitry 56 sends the specified audio track(s) to the pager 20 which then causes the audio track(s) to be broadcast on the speaker 22.
  • the microcontroller 50 can selectively route any audio signals to any desired zone by selectively directing the signal on the outputs 64 and 69.
  • the microcontroller 50 can operate in the same manner as just described, except instead of operating periodically, the microcontroller 50 can be triggered by an external device on the TRIGGER input 58.
  • the microcontroller 50 every time a signal is received on the TRIGGER input 58, the microcontroller 50 retrieves a specified audio track or specified audio tracks from the appropriate location in the audio content memory 52 and causes the audio processing and conditioning circuit 56 to output the audio track(s) to the pager 20.
  • FIG. 4 the use of the on-hold device 30 to provide triggered broadcasts is shown.
  • the on-hold device 30 and the pager 20 are shown -- the PBX 10 and its other peripherals can be present, but are not shown.
  • a device 72 that detects the presence of persons or the occurrence of events is strategically positioned in a store 74.
  • the detection device 72 is positioned near a door 76 to detect the entrance of a person through the door.
  • the detection device 72 could, however, be placed near a sales rack or near another desired area.
  • the detection device 72 can be any type of detector.
  • the device 72 can be an infrared detector, an acoustic detector, an ultrasound detector or a contact/pressure switch.
  • the device 72 need not be very complex and can be a relatively inexpensive detector.
  • the detection device 72 When the detection device 72 detects the presence of a person or the occurrence of an event, it sends a trigger signal to the on-hold device 30 over the line 58.
  • the microcontroller 50 then accesses specific portions of the device control information memory 53 in response to said trigger to retrieve the device control instructions associated with said trigger.
  • the microcontroller 50 then accesses the audio content memory 52 as directed by the device control instructions to retrieve the appropriate audio track(s) and then sends the audio track(s) through the audio processing and conditioning circuitry 56.
  • the circuitry 56 causes the stored audio track(s) to be transmitted on the AUX OUT output 64 so that the stored audio track(s) is (are) passed to the pager 20 and then broadcast over the speaker 22, as previously described.
  • the present invention provides the capability of announcing audio tracks to store customers based on their location within the store or based on the occurrence of an event.
  • the on-hold device 30 includes means for determining the time of day 79. Such devices are well known to those skilled in the art.
  • the microcontroller 50 reads the time of day from the time of day device 79 and polls the device control instruction memory 53 for device control instructions programmed for use at that time of day. If there are device control instructions for that time of day, the appropriate audio track(s) is (are) retrieved and sent to the pager 20 for broadcasting over the speaker 22, as previously described.
  • the on-hold device 30 has other audio inputs 66 and 68.
  • the audio processing and conditioning circuit 56 can be controlled to send audio signals from these inputs 66 and 68 to the pager 20.
  • the PBX 10 output which normally is connected to the pager 20 is preferably connected instead to the AUX IN input 66. Then, when the operator or one of the extensions attempts to send a page message, the message is routed through the PBX 10. to the on-hold device 30 and then to the pager 20 and the speaker 22.
  • the audio processing and conditioning circuitry 56 connects the signal on the AUX IN input 66 to the AUX OUT output 64 so that the page is broadcast on the speaker 22.
  • a music source such as a CD or tape player, can be connected to the audio input 68 of the on-hold device 30.
  • the microcontroller 50 When there is no page and no stored announcement, the microcontroller 50 causes the audio processing and conditioning circuitry 56 to connect the audio input 68 to the output AUX OUT 64 so that the music source is connected to the paging system 20 and 22, thereby allowing background music to be played.
  • the microcontroller circuit 50 includes a microcontroller chip 80, a supervisor circuit 81 (the operation of which will be explained in greater detail later), and a portion of the audio content memory 52, referred to herein as the microcontroller memory 82. which is used during the processing steps performed by the circuit 50.
  • the modem interface 54 preferably includes a modem chip set 83 and a Data Access Arrangement (DAA) circuit 84. Additionally, as referred to earlier, other digital communication links 85 and 86 can be provided. By way of example only, ISDN, LAN, WAN, TI and Internet links can be used.
  • the audio processing and conditioning circuit 56 is also illustrated in greater detail in FIG. 5. It includes a codec 88, an energy detection circuit 89, volume control circuitry 90 and interface components 91 to 97.
  • the microcontroller 80 causes music or other messages from the input 68 to be processed through the codec 88.
  • the audio transmitted can either be stored internally in the music on-hold device in the audio content memory 52 or it can be an audio signal received on the analog inputs 66 or 68. If the signal is selected from 66 or 68, then the selection of the signal is done by the codec 88 under microcontroller 80 control.
  • analog circuitry 92 could select between the signals, also under microcontroller 80 control, and then fed through the codec 88. Further, the signals on the inputs 66 and 68 could be processed independently with separate input channels, but this would increase the hardware costs of the product.
  • the PBX paging output is received on the analog input 66.
  • the reception of the PBX paging output signal is detected by the energy detection circuit 89.
  • the energy detection circuit 89 The energy detection circuit
  • the microcontroller 80 then causes the codec 88 to process the paging signal and to send the signal out on the output 64.
  • the microcontroller 80 determines that an audio track should be broadcast over the pager 20, either because a signal is received on the trigger line 58 or because the microcontroller 80 determines through the time of day device 79 that it is time for a time of day event to occur, it controls the codec 88 to process an audio signal stored in the audio content memory 52 to be output on the line 64.
  • the steps taken by the on-hold device 30 to transmit audio signals to the pager 20 are illustrated.
  • the microcontroller 80 controls the audio processing and conditioning circuitry to connect the input 68 to the output AUX OUT 64 so that the music source is connected to the pager 20 and background music is thus broadcast from the speaker 22.
  • the microcontroller 80 is issued a start command.
  • This command can be issued in a number of different ways, as previously discussed.
  • the start command could be a signal from the PBX that activates the energy detector 89.
  • the start command could also be caused by a signal generated by the on-hold device 30 (for example, from the time of day device 79).
  • the start command could also be generated by the trigger line 58.
  • the microcontroller 50 starts its process, in step 102, by attenuating the connection from the input source 68 to the output AUX OUT 64 so that the background music from the music source fades out. Then, in
  • step 104 the microcontroller 80 causes the audio track in the audio content memory 52 or the page from the PBX 10 to be sent to the audio processing and conditioning circuitry 56 where it is
  • step 106 the microcontroller 80 causes the audio processing and conditioning circuitry 56 to re-connect the input 68 to the
  • the codec 88 When the fading occurs in step 102, it is preferred to program the codec 88 to reflect bandwidth differences between the various audio inputs.
  • the bandwidth of various audio inputs and outputs is programmable.
  • other variables can be changed in accordance with the particular needs of each input or output. For example, the compression algorithm and the volume control can be changed, if necessary.
  • the microcontroller 80 selects the proper settings within the codec 88 for each source of audio to effectuate the fading in step 102 so that overall audio quality is maintained.
  • the on- hold device 30 also includes a communication interface 54.
  • the communication interface 54 preferably allows signals, including operating system files and audio content files, to be digitally downloaded from a source over a communication link.
  • the communication interface 54 can be any type of device, including, but not limited to, a dial up modem connected to the public service telephone network (PSTN), an ISDN transceiver or a LAN.
  • PSTN public service telephone network
  • ISDN ISDN transceiver
  • a LAN LAN
  • a dial up modem is utilized.
  • a variety of signals can be downloaded, including the microcontroller 50 operating system, new audio tracks, and new device control instructions.
  • the modem interface 54 includes a DAA 112 and a data modem 114.
  • the DAA 112 is illustrated.
  • the data modem 114 is standard circuitry that provides an interface to telephone lines.
  • the data modem 114 is also well known circuitry. For example, part number RC144ACX, available from Rockwell International, configured to operate in the data transfer mode, can be used.
  • the on-hold device of the present invention can be downloaded with a new operating system and with new audio signals.
  • the audio content memory 52 that stores the operating system and the audio signals is shown subdivided into sections. The first two sections. Block A and Block B, store operating system code and the third section. Block C, stores audio signals.
  • the operating system code of the microcontroller 50 is stored in a portion of the audio content memory 52, referred to herein as the microcontroller memory 82.
  • the microcontroller memory 82 is comprised of memory blocks "A" and "B". Blocks A and B are not physically separate from Block C; rather, they are logically partitioned via the actions of the supervisor circuit 81.
  • the operating system code is comprised of the set of microcontroller instructions necessary for proper operation of the specific application.
  • the operating system code instructs the microcontroller to perform the required polling and processing operations inherent to the desired system behavior and properties.
  • step 120 the microcontroller 80 boots. On a power up boot, the operating system code in Block A is used. On a "warm" boot (also known as a reset), the block used is determined by supervisor logic, as will be explained in more detail later. Assume for now that Block A is determined to be the appropriate block.
  • step 122 the microcontroller 80 determines whether the operating system code in the block of microcontroller memory (i.e., Block A) is good or faulty. If the code is good, then the microcontroller 80 causes the main program, which is located in the same block of microcontroller memory 82 being accessed (Block A), to start in step 124. On the other hand, if the operating system code is bad, then the download function assumes control in step 126. During this time, the microcontroller 80 enters a state where it is waiting for the download procedure to start, indicating this state by blinking a LED.
  • Block A the operating system code in the block of microcontroller memory
  • the microcontroller 80 erases the block in the microcontroller memory 82 which is not being used, except for a small area of the block which stores the boot code. This area of the microcontroller memory 82, the boot section, must be left intact in both Block A and Block B to allow proper operation. Thus, in this example, where the operating system code in Block A is used, all of Block B, except for the boot section, would be erased.
  • step 130 the microcontroller 80 fills the block of the microcontroller memory 82 that was erased (i.e., Block B) with the operating system received from the base station.
  • the process is handled by the Rockwell RCN336ACX, using the Rockwell Protocol Interface, preferably with error correction and data compression enabled.
  • step 132 the microcontroller 80 determines that the downloading process is completed.
  • step 134 the accuracy of the new operating system code is verified via a checksum. If the checksum is verified, the microcontroller 80 goes to step 124 and starts the new operating system code (i.e., the now-filled Block B). If the checksum is not verified, the microcontroller 80 goes to step 122 and either requests that the process be repeated or at least informs the base station of the failure.
  • the on-hold device 30 can also receive a download command from the base station.
  • the microcontroller 80 recognizes the command in step 136 and then goes to step 126 to repeat the process previously described.
  • the on-hold device 30 can receive a download command from the base station for audio content, i.e.. for the content that contains the audio tracks to be broadcast by the on-hold device 30. These signals are stored in Block C of the audio content memory 52. While dual blocks of memory could be used to store these signals, it is preferred not to, due to the large size of the files containing these signals.
  • the on-hold device 30 can receive a download command from the base station for device control instructions, i.e., for the content that instructs the microcontroller to respond to various events.
  • device control instructions are stored in the device control instruction memory 53.
  • dual blocks of memory could be used to store these signals, it is preferred not to. due to the large size of the files containing these signals.
  • step 140 the microcontroller 80 recognizes the audio content download command. Then, in step 142, the microcontroller 80 starts the download procedure. In step 144, the microcontroller 80 erases the Block C in the audio content memory 52. The microcontroller 80 can either erase the entire Block C or, alternatively, the microcontroller 80 can erase a portion of the Block C that is specified in the audio download command. In step 146. the microcontroller 80 fills Block C with digital data for audio signals from the download signal. Due to the large size of the audio content files typically downloaded, the downloading generally takes place in blocks of data.
  • step 148 the microcontroller 80 determines whether the download process has been completed. If not. the processing continues at step 144. If the download process has been completed, the process returns to the main operating system software. Multiple audio content files, containing multiple audio tracks, can be downloaded in this fashion.
  • step 240 the microcontroller 80 recognizes the device control instruction download command. Then, in step 242, the microcontroller 80 starts the download procedure. In step 244, the microcontroller 80 erases the device control instruction memory 53. The microcontroller 80 can either erase the entire device control instruction memory 53 or, alternatively, the microcontroller 80 can erase a portion of the device control instruction memory 53 that is specified in the audio download command. In step 246. the microcontroller 80 fills device control instruction memory 53 with digital data for device control instructions from the download signal. Due to the large size of the audio content files typically downloaded, the downloading generally takes place in blocks of data.
  • step 248 the microcontroller 80 determines whether the download process has been completed. If not, the processing continues at step 244. If the download process has been completed, the process returns to the main operating system software. Multiple device control instruction files, containing multiple device control instructions, can be downloaded in this fashion.
  • the access of Block A and Block B in the microcontroller memory 82 is preferably
  • the supervisor circuit 81 includes a write decode circuit 160, a
  • the watchdog timer 164 is a well known device, preferably implemented with a DS1232, available from Dallas Semiconductor.
  • the microcontroller 80 includes code that addresses the timer 204 from time to time to restart its count period. If for some reason, the microcontroller 80 fails to restart the timer 204, then the timer 204 generates a reset signal to the microcontroller 80. As is usual with watchdog timer 204 designs, the timer circuit should not cause spurious,
  • the write decode circuit 160 is provided to expand the address bus of the microcontroller 80 to allow the spectrum of addresses provided by the audio content memory 52 and the device control instruction memory 53 to be addressed.
  • the audio content memory 52 and the device control instruction memory 53 are divided into sections, with the microcontroller 80 first specifying to the write decoder 160 the section being written to and then specifying the address within the section.
  • the particular configuration of the write decode circuit 60 is dependent on the amount of memory used.
  • the write decoder 160 does not play a role in the downloading procedure, other than allowing the full range of memory to be addressed.
  • the read decode circuit 162 provides control of memory read operations and implements the preferred method of switching between Block A and Block B of the microcontroller memory 82 to allow bad operating system code to be ignored.
  • the read decode circuit 162 directs the
  • the read decode circuit 162 and the write decode circuit 160 are both preferably implemented in a programmable logic device (PLD).
  • PLD programmable logic device
  • FIG. 11 the state diagram of the PLD is illustrated in accordance with a preferred embodiment of the present invention.
  • State 1 is the idle state, that is. the microcontroller 80 is not accessing memory. If the microcontroller 80 needs to perform a write to Block A or Block B of the microcontroller memory 82, as detected by the PLD by monitoring the microcontroller's 80 write control line and the address bus, then the PLD moves to State 2 to perform the write operation by outputting its own write controls. Under normal operation, the PLD returns to State 1 after State 2. However, if a reset is received from the watchdog timer 168. the PLD state will go to the reset event, which will be described shortly.
  • the PLD determines which block of microcontroller memory 82 is currently being used, Block A or Block B. and moves to the next state in accordance with this determination. If Block A is currently being used, the PLD moves to State 3 to cause Block A to be read by outputting its own read controls. On the other hand, if Block B is currently being used, the PLD moves to State 4 to cause Block B to be read.
  • the watchdog timer 164 can output a reset to the microcontroller 80 as previously described.
  • the PLD in the read decode logic 162, detects the reset event and enters State 5. In State 5, the PLD determines which block of memory (A or B) was being used last and then causes a switch of the memory block in step 170. Thus, if Block A was being used last, Block B will be used next. But. if Block B was being used last, Block A will be used next.
  • the supervisor circuit 81 controls the accessing of microcontroller memory 82 to allow the downloading of the operating system code.
  • a plurality of on-hold devices 200 to 202 are shown connected to a communication link 204, such as a PSTN line, with a base station or a server 206.
  • the communication link 204 is preferably a digital link, which can again be implemented in a variety of ways, for example, via modem.
  • the base station or server 206 is preferably a personal computer with recording functionality, for example, a Sound Blaster audio card. This provides the personal computer with the capability to store analog signals representative of an audio track into the hard drive of the personal computer.
  • the audio tracks can be music, announcements or other audio tracks that need to be conveyed.
  • the audio tracks that are downloaded to the on-hold devices 200 to 202 can be composed at the server 206 using the sound capabilities of the server 206 or the audio tracks can be generated elsewhere and stored on the server 206. Similarly, changes to the operating system of the on-hold devices 200 to 202 can be generated at the server 206 or simply stored on the server 206.
  • the server 206 preferably includes a multiport computer telephony interface (CTI), which is available from many sources, such as Dialogic, to provide the capability of downloading multiple on-hold devices simultaneously.
  • CTI computer telephony interface
  • both audio content and operating system files can be downloaded to unique on-hold units at the same time.
  • different audio content files may be sent to unique on-hold devices at the same time.
  • the operation during a multi-port download is unchanged from what has been discussed.
  • the server 206 transmits the audio content in accordance with the steps of FIG. 13.
  • the server 206 calls — in accordance with the protocol of the communication medium —
  • Step 300 is the on-hold device, which, from the server's perspective, is a remote device.
  • step 306 the server 206 transmits a download command in step 306, specifying whether it is an operating system download, an audio download, or a device control instruction download, as well as any other needed parameters.
  • step 308 the server 206 waits for an acknowledgment signal from the on-hold device that indicates that the on-hold device is ready for the download.
  • step 310 the server 206 begins the download procedure.
  • step 312 the server 206 transmits the operating system, audio content files, or device control instructions in block data transfer format.
  • step 314 the server 206 determines that all of the download file has been transmitted. If the download is an operating system download, in step 316. the server requests that the on-hold device transmit a checksum which is determined from the operating system downloaded to verify the accuracy of the download. If the checksum is bad, then the server 206 returns to the start of the process. If the checksum is good, then the download procedure ends. If the download is for an audio content file or device control instruction, then it is preferred not to check the checksum, but this procedure could just as easily be performed. It is understood that changes may be made in the above description without departing from the scope of the invention. It is accordingly intended that all matter contained in the above description and in the drawings be interpreted as illustrative rather than limiting.

Abstract

An on-hold device (30) capable of digitally storing audio content and device control instructions is presented. Each item of the audio content has a unique identification code that can be referenced in ordered lists in the device control instructions. The on-hold device (30) is responsive to the device control instructions via a user programmable device that allows control of the order and manner in which the audio content is broadcast. The on-hold device further includes a signal directing device for broadcasting audio output made up of the stored audio content, audio from an audio source, or both. The audio content and device control instructions are provided to the on-hold device (30) via a digital communication interface. The on-hold device (30) further provides for fading the signal from the audio source prior to broadcasting the audio content, and mixing the audio content with the signal from the audio source prior to outputting a mixed audio signal.

Description

AN ON-HOLD DEVICE
Background of the Invention
The present invention relates to on-hold telephone devices. More specifically, the invention relates to an interface between on-hold devices and pagers in a PBX environment and
to the digital downloading of signals to the on-hold devices.
Many businesses use PBX equipment to provide their telephone service. One standard
peripheral for a PBX is an "on-hold" player, which provides music or other announcements to callers who are placed on hold. Examples of on-hold players are Bogen Communication Corporation's HSR product, Neltech's TELink700 product and Premier's 10H2000RU product. Businesses with chains of stores commonly use on-hold devices. Each store in the chain typically has common messages that announce sales, store hours and other information that is common to all stores in the chain. In many cases, these chains prefer that each on-hold device be programmed to play the same message or messages.
Existing on-hold devices have several drawbacks, particularly as far as chains of stores are concerned. First, the ability of the chains to change the messages of the on-hold devices at each store is limited. One method of changing messages in use today is to send a tape through the mail. The tape is then inserted into the equipment and the new message downloaded into the equipment. This method is slow - typically taking several days to accomplish. A newer method allows messages to be downloaded in an analog format from a remote location, usually over a telephone line. This method is problematic due to the noise from the telephone line, which can be considerable, finding its way into the message.
The second limitation is noticed when it is desired to change the operating system software or other software. Such a change generally requires that the equipment be taken off- line so that it can be connected to a controller while the new software is downloaded. This
severely limits the ability to update the equipment.
Today's on-hold devices also have other limitations. For example, they are not capable of
interfacing with equipment other than a PBX. Therefore, they offer limited functionality. In view of these and other limitations, new and improved on-hold devices are needed.
Summary of the Invention
In accordance with one aspect of the present invention, a pager and an on-hold device that includes memory to store audio tracks are provided. An audio output from the on-hold device is connected to the pager and the music on-hold device causes the stored audio tracks to be selectively played over the pager. The audio tracks can either be played periodically or upon the occurrence of an event; for example, when a customer enters a store. The audio track can be anything; for example, an announcement of sales or other promotional news.
In accordance with a further aspect of the present invention, the on-hold device includes sufficient memory to store a plurality of audio tracks and instructions for playing the audio tracks. The on-hold device causes a selected one of the audio tracks to be played over the pager in accordance with the instructions. For example, the audio tracks can be played back in an order specified by the user. As a further example, the on-hold device can cause specified audio tracks to be played based upon the time of day. As yet another example, the user can select an audio track to be broadcast as a default when no other audio track is played.
In accordance with another aspect of the present invention, the on-hold device includes a digital communication interface, such as a modem, that allows digital signals to be transferred. The on-hold device further includes a microcontroller for responding to an incoming download command signal on the modem interface and then storing the download signals that follow in memory. The downloading is selective in that it can remove or replace specific pieces of
information in the memory of the on-hold device without affecting the remaining pieces of stored information. The downloaded digital signal transmitted can be an audio signal for use by the
PBX during on-hold situations, an audio signal for use by the pager, instructions for plating the audio signals, the operating system of the on-hold device, or a combination thereof.
The invention will now be described in connection with certain illustrated embodiments;
however, it should be clear to those skilled in the art that various modifications, additions and subtractions can be made without departing from the spirit and scope of the claims. Brief Description of the Drawings
FIG. 1 illustrates a PBX system with peripherals arranged in a known arrangement;
FIG. 2 illustrates a PBX system configured in accordance with a preferred embodiment of the present invention;
FIG. 3 illustrates an on-hold device in accordance with a preferred embodiment of the present invention;
FIG. 4 illustrates the use of one aspect of the present invention in a store;
FIG. 5 illustrates another block diagram of the on-hold device;
FIG. 6 illustrates the steps performed by a microcontroller in the on-hold device to control the distribution of audio signals to a pager in accordance with the present invention;
FIG. 7 illustrates the modem interface of the present invention;
FIG. 8 shows the supervisor circuit, the microcontroller and the memory of the on-hold device;
FIG. 9 illustrates the steps performed by the on-hold device when downloading operating system signals; FIG. 10 illustrates the steps performed by the on-hold device when downloading audio content files;
FIG. 1 1 illustrates the logic of the supervisor circuit in state diagram format;
FIG. 12 illustrates a network of on-hold devices: and
FIG. 13 illustrates the steps performed by the server on the network of FIG. 12 to download signals to the networked on-hold devices.
FIG. 14 illustrates the steps performed by the on-hold device when downloading device control instruction files; Description of the Preferred Embodiment
The on-hold device of the present invention provides audio output subject to software control. The on-hold device provides this audio output signal either entirely from stored digital audio content, entirely from input audio, or from a mixture of stored digital content and input
audio. This audio output is an analog signal that may be connected to virtually any type of amplification or audio broadcast device. By way of example only, the broadcast device can be
an overhead pager or a local area pager with audio capabilities.
In FIG. 1, a PBX 10 and several peripherals, arranged in a known configuration, are illustrated. The peripherals include an auto attendant 12 that has the capability to interactively
guide a caller on the telephone lines 14 to enter the proper extension so that the call can be routed on a bus 16. Also included is a voice mail system 18 that allows a caller to leave a message for particular persons. Further, there is an overhead pager 20 that typically allows the operator and others to send paging messages over a speaker 22.
Another peripheral frequently used is a known on-hold device 24, which stores music or other announcements which are sent to the on-hold bus 26 of the PBX 10 and then played to a caller on the telephone lines 14 when a caller is placed on-hold. The announcements can include hours of operations, upcoming promotional information, or any other audio track. These on-hold devices are well known in the art. See, for example. Bogen's HSR system, Neltech's TELink700 product and Premier's 10H2000RU product.
In FIG. 2, a system that uses a new on-hold device 30 in accordance with a preferred embodiment of the present invention is illustrated. This system allows the new on-hold device 30 to be utilized to selectively broadcast stored audio from memory in the on-hold device 30 and/or from another audio source (e.g., a CD music source) to the pager 20.
Referring now to FIG. 3, the new on-hold device 30 is illustrated. The preferred embodiment of the on-hold device 30 includes a microcontroller 50, an audio content memory 52, a device control information memory 53, a modem 54 and audio processing and conditioning circuitry 56. The microcontroller 50 includes an input 58 for a TRIGGER signal. The modem interface 54 includes an input/output 60 for a communications line. The audio processing and conditioning circuit 56 includes several inputs and outputs. First, it includes a standard output 62 for the PBX on-hold bus. Additionally, it includes another audio output 64 (AUX OUT) and two audio inputs 66 (AUX IN) and 68 (MUSIC SOURCE). Additionally, the output 62 can be expanded to multiple outputs 62A to provide an interface to multiple on-hold PBX buses.
Referring now to FIGS. 2 and 3 together, the operation of the on-hold device 30 in a mode referred to as the "storecasting" mode, will be explained. The announcements or other audio tracks that are to be played over the pager 20 are stored in the audio content memory 52.
Device control instructions are stored in the device control information memory 53. The device control information memory 53 can be any type of memory; however, an EERAM is preferably used as it affords minimal hardware requirements, possesses a small footprint, and performs read/write access on individual bytes with high reliability— as will be appreciated by one skilled in the art. The device control instructions can specify which audio track or audio tracks should be played in response to various events, such as a trigger or a certain time of day. The device control instructions can also specify an order in which the audio tracks should be played back, or an audio track to be broadcast as a default when no other audio track is played. The device control instructions can also include broadcast control instructions that specify characteristics of the broadcast of an audio track. Such characteristics could include, by means of example only, the volume and time interval for playing the audio content.
The audio content memory 52 can be any type of memory; however, a flash memory device is preferably used as it permits data integrity without a battery, as will be appreciated by one skilled in the art. On a periodic basis, such period either programmed or downloaded into the microcontroller 50, the microcontroller 50 accesses the device control information memory 53 to retrieve new instructions. The microcontroller 50 then accesses the audio content memory 52 to retrieve the specified stored audio track(s) according to the device control instructions and sends the audio track(s) to the audio processing and conditioning circuitry 56. The microcontroller 50 further controls the audio processing and conditioning circuitry 56 so that audio signals are output on the AUX OUT output 64 (in other modes, the output can be on other outputs, such as the PBX hold bus output 62). Thus, the audio processing and conditioning circuitry 56 sends the specified audio track(s) to the pager 20 which then causes the audio track(s) to be broadcast on the speaker 22. Further, while it is presently preferred to broadcast, it is also possible to implement zoned messaging by the use of additional auxiliary outputs 69 (as well as additional pagers and speakers). In this case, the microcontroller 50 can selectively route any audio signals to any desired zone by selectively directing the signal on the outputs 64 and 69. In accordance with an alternative embodiment of the present invention, the microcontroller 50 can operate in the same manner as just described, except instead of operating periodically, the microcontroller 50 can be triggered by an external device on the TRIGGER input 58. In accordance with this embodiment, every time a signal is received on the TRIGGER input 58, the microcontroller 50 retrieves a specified audio track or specified audio tracks from the appropriate location in the audio content memory 52 and causes the audio processing and conditioning circuit 56 to output the audio track(s) to the pager 20.
In FIG. 4, the use of the on-hold device 30 to provide triggered broadcasts is shown. In FIG. 4, only the on-hold device 30 and the pager 20 are shown -- the PBX 10 and its other peripherals can be present, but are not shown. A device 72 that detects the presence of persons or the occurrence of events is strategically positioned in a store 74. For example, in FIG. 4, the detection device 72 is positioned near a door 76 to detect the entrance of a person through the door. The detection device 72 could, however, be placed near a sales rack or near another desired area.
The detection device 72 can be any type of detector. By way of example only, the device 72 can be an infrared detector, an acoustic detector, an ultrasound detector or a contact/pressure switch. In general, the device 72 need not be very complex and can be a relatively inexpensive detector.
When the detection device 72 detects the presence of a person or the occurrence of an event, it sends a trigger signal to the on-hold device 30 over the line 58. The microcontroller 50 then accesses specific portions of the device control information memory 53 in response to said trigger to retrieve the device control instructions associated with said trigger. The microcontroller 50 then accesses the audio content memory 52 as directed by the device control instructions to retrieve the appropriate audio track(s) and then sends the audio track(s) through the audio processing and conditioning circuitry 56. The circuitry 56 causes the stored audio track(s) to be transmitted on the AUX OUT output 64 so that the stored audio track(s) is (are) passed to the pager 20 and then broadcast over the speaker 22, as previously described. Thus, the present invention provides the capability of announcing audio tracks to store customers based on their location within the store or based on the occurrence of an event.
In accordance with another embodiment of the present invention, the on-hold device 30 includes means for determining the time of day 79. Such devices are well known to those skilled in the art. In accordance with this embodiment, the microcontroller 50 reads the time of day from the time of day device 79 and polls the device control instruction memory 53 for device control instructions programmed for use at that time of day. If there are device control instructions for that time of day, the appropriate audio track(s) is (are) retrieved and sent to the pager 20 for broadcasting over the speaker 22, as previously described.
The on-hold device 30 has other audio inputs 66 and 68. When the on-hold device 30 is not causing an audio track to be broadcast on the paging system 20 and speaker 22. the audio processing and conditioning circuit 56 can be controlled to send audio signals from these inputs 66 and 68 to the pager 20.
To take advantage of this functionality, the PBX 10 output which normally is connected to the pager 20 is preferably connected instead to the AUX IN input 66. Then, when the operator or one of the extensions attempts to send a page message, the message is routed through the PBX 10. to the on-hold device 30 and then to the pager 20 and the speaker 22. When a page from the PBX 10 is sensed, the audio processing and conditioning circuitry 56 connects the signal on the AUX IN input 66 to the AUX OUT output 64 so that the page is broadcast on the speaker 22. Additionally, a music source, such as a CD or tape player, can be connected to the audio input 68 of the on-hold device 30. When there is no page and no stored announcement, the microcontroller 50 causes the audio processing and conditioning circuitry 56 to connect the audio input 68 to the output AUX OUT 64 so that the music source is connected to the paging system 20 and 22, thereby allowing background music to be played.
Referring now to FIG. 5, the on-hold device 30 is illustrated in greater detail. The microcontroller circuit 50 includes a microcontroller chip 80, a supervisor circuit 81 (the operation of which will be explained in greater detail later), and a portion of the audio content memory 52, referred to herein as the microcontroller memory 82. which is used during the processing steps performed by the circuit 50. The modem interface 54 preferably includes a modem chip set 83 and a Data Access Arrangement (DAA) circuit 84. Additionally, as referred to earlier, other digital communication links 85 and 86 can be provided. By way of example only, ISDN, LAN, WAN, TI and Internet links can be used.
The audio processing and conditioning circuit 56 is also illustrated in greater detail in FIG. 5. It includes a codec 88, an energy detection circuit 89, volume control circuitry 90 and interface components 91 to 97. During the normal mode of operation, the microcontroller 80 causes music or other messages from the input 68 to be processed through the codec 88. the volume control circuit 90, the amplifier 93 and the low pass filter 94 to the AUX OUT output 64. The audio transmitted can either be stored internally in the music on-hold device in the audio content memory 52 or it can be an audio signal received on the analog inputs 66 or 68. If the signal is selected from 66 or 68, then the selection of the signal is done by the codec 88 under microcontroller 80 control. Alternatively, the analog circuitry 92 could select between the signals, also under microcontroller 80 control, and then fed through the codec 88. Further, the signals on the inputs 66 and 68 could be processed independently with separate input channels, but this would increase the hardware costs of the product.
The PBX paging output is received on the analog input 66. The reception of the PBX paging output signal is detected by the energy detection circuit 89. The energy detection circuit
89, upon detection of the paging signal, informs the microcontroller 80 of the arrival of the
paging signal. The microcontroller 80 then causes the codec 88 to process the paging signal and to send the signal out on the output 64.
When the microcontroller 80 determines that an audio track should be broadcast over the pager 20, either because a signal is received on the trigger line 58 or because the microcontroller 80 determines through the time of day device 79 that it is time for a time of day event to occur, it controls the codec 88 to process an audio signal stored in the audio content memory 52 to be output on the line 64.
In FIG. 6, the steps taken by the on-hold device 30 to transmit audio signals to the pager 20 are illustrated. Normally, the microcontroller 80 controls the audio processing and conditioning circuitry to connect the input 68 to the output AUX OUT 64 so that the music source is connected to the pager 20 and background music is thus broadcast from the speaker 22. In FIG. 6, in step 100, the microcontroller 80 is issued a start command. This command can be issued in a number of different ways, as previously discussed. For example, the start command could be a signal from the PBX that activates the energy detector 89. The start command could also be caused by a signal generated by the on-hold device 30 (for example, from the time of day device 79). The start command could also be generated by the trigger line 58.
Regardless of what event triggers the microcontroller 50 in step 100, the microcontroller 50 starts its process, in step 102, by attenuating the connection from the input source 68 to the output AUX OUT 64 so that the background music from the music source fades out. Then, in
step 104. the microcontroller 80 causes the audio track in the audio content memory 52 or the page from the PBX 10 to be sent to the audio processing and conditioning circuitry 56 where it is
sent to the pager 20. Once the audio track has been broadcast, in step 106, the microcontroller 80 causes the audio processing and conditioning circuitry 56 to re-connect the input 68 to the
output AUX OUT 64, so that the playing of background music starts again.
When the fading occurs in step 102, it is preferred to program the codec 88 to reflect bandwidth differences between the various audio inputs. In the preferred codec 88, a Crystal Semiconductor CS4231A, the bandwidth of various audio inputs and outputs is programmable. Additionally, other variables can be changed in accordance with the particular needs of each input or output. For example, the compression algorithm and the volume control can be changed, if necessary. In the preferred embodiment of the present invention, the microcontroller 80 selects the proper settings within the codec 88 for each source of audio to effectuate the fading in step 102 so that overall audio quality is maintained. Digital Downloading
Referring to FIG. 3. in accordance with a further aspect of the present invention, the on- hold device 30 also includes a communication interface 54. The communication interface 54 preferably allows signals, including operating system files and audio content files, to be digitally downloaded from a source over a communication link. As previously discussed, the communication interface 54 can be any type of device, including, but not limited to, a dial up modem connected to the public service telephone network (PSTN), an ISDN transceiver or a LAN. In accordance with a presently preferred embodiment, a dial up modem is utilized. A variety of signals can be downloaded, including the microcontroller 50 operating system, new audio tracks, and new device control instructions.
Referring now to FIG. 7, a preferred embodiment of the modem interface 54 is illustrated. The modem interface 54 includes a DAA 112 and a data modem 114. The DAA 112
is standard circuitry that provides an interface to telephone lines. The data modem 114 is also well known circuitry. For example, part number RC144ACX, available from Rockwell International, configured to operate in the data transfer mode, can be used.
The on-hold device of the present invention can be downloaded with a new operating system and with new audio signals. In FIG. 8, the audio content memory 52 that stores the operating system and the audio signals is shown subdivided into sections. The first two sections. Block A and Block B, store operating system code and the third section. Block C, stores audio signals.
The operating system code of the microcontroller 50 is stored in a portion of the audio content memory 52, referred to herein as the microcontroller memory 82. The microcontroller memory 82 is comprised of memory blocks "A" and "B". Blocks A and B are not physically separate from Block C; rather, they are logically partitioned via the actions of the supervisor circuit 81.
The operating system code, as will be apparent to one skilled in the art, is comprised of the set of microcontroller instructions necessary for proper operation of the specific application. The operating system code instructs the microcontroller to perform the required polling and processing operations inherent to the desired system behavior and properties.
In FIG. 9, the steps performed by the microcontroller 50 to effectuate the download of operating system code are shown. In step 120, the microcontroller 80 boots. On a power up boot, the operating system code in Block A is used. On a "warm" boot (also known as a reset), the block used is determined by supervisor logic, as will be explained in more detail later. Assume for now that Block A is determined to be the appropriate block.
Next, in step 122, the microcontroller 80 determines whether the operating system code in the block of microcontroller memory (i.e., Block A) is good or faulty. If the code is good, then the microcontroller 80 causes the main program, which is located in the same block of microcontroller memory 82 being accessed (Block A), to start in step 124. On the other hand, if the operating system code is bad, then the download function assumes control in step 126. During this time, the microcontroller 80 enters a state where it is waiting for the download procedure to start, indicating this state by blinking a LED.
Once a download command is received from a server (also known as a base station) located at the other end of the communication link, in step 128, the microcontroller 80 erases the block in the microcontroller memory 82 which is not being used, except for a small area of the block which stores the boot code. This area of the microcontroller memory 82, the boot section, must be left intact in both Block A and Block B to allow proper operation. Thus, in this example, where the operating system code in Block A is used, all of Block B, except for the boot section, would be erased.
Then, in step 130, the microcontroller 80 fills the block of the microcontroller memory 82 that was erased (i.e., Block B) with the operating system received from the base station. The process is handled by the Rockwell RCN336ACX, using the Rockwell Protocol Interface, preferably with error correction and data compression enabled. In step 132, the microcontroller 80 determines that the downloading process is completed. Then, in step 134, the accuracy of the new operating system code is verified via a checksum. If the checksum is verified, the microcontroller 80 goes to step 124 and starts the new operating system code (i.e., the now-filled Block B). If the checksum is not verified, the microcontroller 80 goes to step 122 and either requests that the process be repeated or at least informs the base station of the failure.
During normal operation of the operating system, the on-hold device 30 can also receive a download command from the base station. When this occurs, the microcontroller 80 recognizes the command in step 136 and then goes to step 126 to repeat the process previously described.
Also during the normal operation of the operating system, the on-hold device 30 can receive a download command from the base station for audio content, i.e.. for the content that contains the audio tracks to be broadcast by the on-hold device 30. These signals are stored in Block C of the audio content memory 52. While dual blocks of memory could be used to store these signals, it is preferred not to, due to the large size of the files containing these signals.
Further, during the normal operation of the operating system, the on-hold device 30 can receive a download command from the base station for device control instructions, i.e., for the content that instructs the microcontroller to respond to various events. These device control instructions are stored in the device control instruction memory 53. As with the audio content, dual blocks of memory could be used to store these signals, it is preferred not to. due to the large size of the files containing these signals.
Referring now to FIG. 10, the steps performed by the on-hold device 30 to download the audio signals are illustrated. In step 140, the microcontroller 80 recognizes the audio content download command. Then, in step 142, the microcontroller 80 starts the download procedure. In step 144, the microcontroller 80 erases the Block C in the audio content memory 52. The microcontroller 80 can either erase the entire Block C or, alternatively, the microcontroller 80 can erase a portion of the Block C that is specified in the audio download command. In step 146. the microcontroller 80 fills Block C with digital data for audio signals from the download signal. Due to the large size of the audio content files typically downloaded, the downloading generally takes place in blocks of data. At the end of each block, in step 148, the microcontroller 80 determines whether the download process has been completed. If not. the processing continues at step 144. If the download process has been completed, the process returns to the main operating system software. Multiple audio content files, containing multiple audio tracks, can be downloaded in this fashion.
Referring now to FIG. 14, the steps performed by the on-hold device 30 to download the device control instructions are illustrated. In step 240, the microcontroller 80 recognizes the device control instruction download command. Then, in step 242, the microcontroller 80 starts the download procedure. In step 244, the microcontroller 80 erases the device control instruction memory 53. The microcontroller 80 can either erase the entire device control instruction memory 53 or, alternatively, the microcontroller 80 can erase a portion of the device control instruction memory 53 that is specified in the audio download command. In step 246. the microcontroller 80 fills device control instruction memory 53 with digital data for device control instructions from the download signal. Due to the large size of the audio content files typically downloaded, the downloading generally takes place in blocks of data. At the end of each block, in step 248, the microcontroller 80 determines whether the download process has been completed. If not, the processing continues at step 244. If the download process has been completed, the process returns to the main operating system software. Multiple device control instruction files, containing multiple device control instructions, can be downloaded in this fashion. The access of Block A and Block B in the microcontroller memory 82 is preferably
controlled by the apparatus of FIG. 8, more specifically, by the supervisor circuit 81 which uses the process illustrated in FIG. 11. The supervisor circuit 81 includes a write decode circuit 160, a
read decode circuit 162 and a watchdog timer 164.
The watchdog timer 164 is a well known device, preferably implemented with a DS1232, available from Dallas Semiconductor. The microcontroller 80 includes code that addresses the timer 204 from time to time to restart its count period. If for some reason, the microcontroller 80 fails to restart the timer 204, then the timer 204 generates a reset signal to the microcontroller 80. As is usual with watchdog timer 204 designs, the timer circuit should not cause spurious,
unintentional resets to be sent to the microcontroller 80.
The write decode circuit 160 is provided to expand the address bus of the microcontroller 80 to allow the spectrum of addresses provided by the audio content memory 52 and the device control instruction memory 53 to be addressed. Thus, the audio content memory 52 and the device control instruction memory 53 are divided into sections, with the microcontroller 80 first specifying to the write decoder 160 the section being written to and then specifying the address within the section. The particular configuration of the write decode circuit 60 is dependent on the amount of memory used. The write decoder 160 does not play a role in the downloading procedure, other than allowing the full range of memory to be addressed.
The read decode circuit 162 provides control of memory read operations and implements the preferred method of switching between Block A and Block B of the microcontroller memory 82 to allow bad operating system code to be ignored. The read decode circuit 162 directs the
operating system read operations to either Block A or to Block B. The read decode circuit 162 and the write decode circuit 160 are both preferably implemented in a programmable logic device (PLD). In FIG. 11, the state diagram of the PLD is illustrated in accordance with a preferred embodiment of the present invention.
State 1 is the idle state, that is. the microcontroller 80 is not accessing memory. If the microcontroller 80 needs to perform a write to Block A or Block B of the microcontroller memory 82, as detected by the PLD by monitoring the microcontroller's 80 write control line and the address bus, then the PLD moves to State 2 to perform the write operation by outputting its own write controls. Under normal operation, the PLD returns to State 1 after State 2. However, if a reset is received from the watchdog timer 168. the PLD state will go to the reset event, which will be described shortly.
When in the idle state, State 1, if the microcontroller 80 needs to perform a read of Block A or Block B of the microcontroller memory 82, as detected by the PLD by monitoring the microcontroller's 80 read control line and the address bus, then the PLD, in step 170, determines which block of microcontroller memory 82 is currently being used, Block A or Block B. and moves to the next state in accordance with this determination. If Block A is currently being used, the PLD moves to State 3 to cause Block A to be read by outputting its own read controls. On the other hand, if Block B is currently being used, the PLD moves to State 4 to cause Block B to be read.
During States 1 to 4, the watchdog timer 164 can output a reset to the microcontroller 80 as previously described. The PLD, in the read decode logic 162, detects the reset event and enters State 5. In State 5, the PLD determines which block of memory (A or B) was being used last and then causes a switch of the memory block in step 170. Thus, if Block A was being used last, Block B will be used next. But. if Block B was being used last, Block A will be used next. Thus, the supervisor circuit 81 controls the accessing of microcontroller memory 82 to allow the downloading of the operating system code.
Referring to FIG. 12, a plurality of on-hold devices 200 to 202 are shown connected to a communication link 204, such as a PSTN line, with a base station or a server 206. The communication link 204 is preferably a digital link, which can again be implemented in a variety of ways, for example, via modem. The base station or server 206 is preferably a personal computer with recording functionality, for example, a Sound Blaster audio card. This provides the personal computer with the capability to store analog signals representative of an audio track into the hard drive of the personal computer. The audio tracks can be music, announcements or other audio tracks that need to be conveyed.
The audio tracks that are downloaded to the on-hold devices 200 to 202 can be composed at the server 206 using the sound capabilities of the server 206 or the audio tracks can be generated elsewhere and stored on the server 206. Similarly, changes to the operating system of the on-hold devices 200 to 202 can be generated at the server 206 or simply stored on the server 206.
If the server 206 is equipped with a single modem, the download to a large chain of stores could be time consuming. Thus, a multiport communication arrangement at the server 206 is preferred in these cases. In this arrangement, the server 206 preferably includes a multiport computer telephony interface (CTI), which is available from many sources, such as Dialogic, to provide the capability of downloading multiple on-hold devices simultaneously. Thus, both audio content and operating system files can be downloaded to unique on-hold units at the same time. Further, different audio content files may be sent to unique on-hold devices at the same time. At the on-hold device, the operation during a multi-port download is unchanged from what has been discussed.
The server 206 transmits the audio content in accordance with the steps of FIG. 13. In step 300, the server 206 calls — in accordance with the protocol of the communication medium —
the on-hold device, which, from the server's perspective, is a remote device. Step 300 is
generally performed in response to a triggering event, for example, a time of day event in step 302 or a user command in step 304. Once a communication link is established between the server and the on-hold device, the server 206 transmits a download command in step 306, specifying whether it is an operating system download, an audio download, or a device control instruction download, as well as any other needed parameters. Then, in step 308, the server 206 waits for an acknowledgment signal from the on-hold device that indicates that the on-hold device is ready for the download. Once the acknowledgment is received, in step 310, the server 206 begins the download procedure. In step 312, the server 206 transmits the operating system, audio content files, or device control instructions in block data transfer format. In step 314, the server 206 determines that all of the download file has been transmitted. If the download is an operating system download, in step 316. the server requests that the on-hold device transmit a checksum which is determined from the operating system downloaded to verify the accuracy of the download. If the checksum is bad, then the server 206 returns to the start of the process. If the checksum is good, then the download procedure ends. If the download is for an audio content file or device control instruction, then it is preferred not to check the checksum, but this procedure could just as easily be performed. It is understood that changes may be made in the above description without departing from the scope of the invention. It is accordingly intended that all matter contained in the above description and in the drawings be interpreted as illustrative rather than limiting.

Claims

Claim 1. A system for selectively broadcasting stored audio from memory, audio
from an audio source, or both, said system comprising:
an audio source; a broadcast device; and
an on-hold device including: a memory for digitally storing audio content, each item of audio content having a unique identification code; a memory for storing device control information, including ordered lists of said identification codes; a user programmable device, responsive to device instructions stored in said device control information memory for randomly specifying and ordering the manner in which said audio content is broadcast; a signal directing device for selectively broadcasting an audio output over said broadcast device comprising said audio content, audio from said audio source, or both; a digital communication interface for downloading to said audio content memory said items and associated identification codes, wherein each download to said audio content memory selectively updates, removes, or replaces at least one of said items and its associated identification code without affecting any other item and its associated identification code;
at least one audio input connectable to an audio source, said on-hold device being connected to said audio source; and at least one audio output connectable to said broadcast device, said on- hold device being connected to said broadcast device.
Claim 2. The system according to claim 1 , wherein said on-hold device further comprises: a fader for attenuating the audio signal from said at least one audio input prior to broadcasting said audio content.
Claim 3. The system according to claim 1, wherein said on-hold device further comprises: an audio mixing circuit for mixing said audio content and the signal from said at least one audio input and directing a mixed audio signal to said at least one audio output.
Claim 4. A system for selectively broadcasting stored audio from memory, audio from an audio source, or both, said system comprising: a broadcast device; and an on-hold device including: a memory for digitally storing audio content; a memory for storing device control information; a user programmable device, responsive to device instructions stored in said device control information memory for randomly specifying and ordering the manner in which said audio content is broadcast; a signal directing device for selectively broadcasting an audio output over
said broadcast device comprising said audio content, audio from said audio source, or both;
at least one audio input connectable to an audio source; and at least one audio output connectable to said broadcast device, said on-
hold device being connected to said broadcast device.
Claim 5. The system according to claim 4, wherein said on-hold device further
composes: a timer for periodically broadcasting specified audio content.
Claim 6. The system according to claim 4, further comprising: a detector for signaling the presence of a person or occurrence of an event with a detection signal, said on-hold device being responsive to said detection signal to broadcast specified audio content.
Claim 7. The system according to claim 4, further comprising: an audio source connected to said on-hold device via one of said at least one audio input.
Claim 8. The system according to claim 7, wherein said on-hold device further compπses: a controllable audio processing circuit for processing an audio signal from said at least one audio input and directing a processed audio signal to said at least one audio output.
Claim 9. The system according to claim 8, wherein said audio processing circuit
further processes said audio signal from said at least one audio input and directs said processed signal to said at least one audio output as background audio.
Claim 10. The system according to claim 7, wherein the on-hold device further comprises:
a fader for attenuating the audio signal from said at least one audio input prior to broadcasting said audio content.
Claim 1 1. The system according to claim 7, wherein said on-hold device further comprises:
an audio mixing circuit for mixing said audio content and the signal from said at least one audio input and directing a mixed audio signal to said at least one audio output.
Claim 12. The system according to claim 4. wherein said system further comprises: a PBX having a paging output connected to one of said audio inputs: and a router for distributing paging messages from the PBX to the broadcast device via said on-hold device.
Claim 13. The system according to claim 12, wherein said on-hold device further comprises: a fader for attenuating said stored audio content prior to broadcasting said output from said PBX.
Claim 14. The system according to claim 4, wherein said audio content comprises one or more audio tracks, each having a unique identification code.
Claim 15. The system according to claim 14, wherein said on-hold device further comprises a digital communication interface for downloading to said audio content memory said audio track(s) and associated identification code(s).
Claim 16. The system according to claim 15, wherein each download to said audio content memory selectively updates, removes, or replaces at least one of said audio tracks and its associated identification code without affecting any other audio track and its associated identification code.
Claim 17. The system according to claim 14. wherein the device instructions in said device control information memory comprise audio track start-times, broadcast control instructions, or ordered lists of said audio track identification codes.
Claim 18. The system according to claim 17, wherein said on-hold device further comprises a digital commimication interface for downloading to the device control information memory said audio track start-times for at least one of said audio tracks, said broadcast control instructions for at least one of said audio tracks, or at least one of said ordered lists of said audio
track identification codes.
Claim 19. The system according to claim 18, wherein each download to said device
control information memory selectively updates, removes, or replaces at least one of said audio track start-times, said broadcast control instructions, or said ordered lists, without affecting any other audio track start-time, broadcast control instruction, or ordered list.
Claim 20. The system according to claim 18, wherein said broadcast control instructions comprise the volume and time interval of the audio content.
Claim 21. The system according to claim 18, wherein the operating system for said on-hold device can be downloaded while the device remains operational.
Claim 22. The system according to claim 18, wherein said user programmable device is responsive to said instructions for selectively broadcasting at least one of said audio tracks according to its identification code.
Claim 23. The system according to claim 22, wherein said selective broadcasting comprises ordered playback based upon one or more of said ordered lists of identification codes.
Claim 24. The system according to claim 22, wherein said user programmable device is responsive to said instructions for default broadcasting of a pre-selected audio track.
Claim 25. The system according to claim 22, wherein said system further comprises:
a timer for generating timing signals indicative of the time of day, wherein said user programmable device is responsive to said timing signals for broadcasting at least one of said audio tracks.
Claim 26. The system according to claim 4, wherein said system further comprises: an interface for remotely downloading said audio content to the audio content storage memory.
Claim 27. The system according to claim 4, wherein said on-hold device further comprises a digital communications interface for digitally downloading audio tracks to the audio content storage memory.
Claim 28. A method of selectively sending to a broadcast device stored audio content, audio from an audio source, or both, via an on-hold device connected to said broadcast device and having an audio content memory and a device control information memory, said
method comprising the steps of: storing said audio content digitally in said audio content memory, each item of audio content having a unique identification code; storing device instructions in said device control information memory, including
lists of said identification codes; downloading to said audio content memory said items and associated identification codes, wherein said downloading selectively updates, removes, or replaces at least one of said items and its associated identification code without affecting any other item or its
associated identification code;
selectively entering instructions in said device control information memory for specifying and ordering said sent audio and the manner in which the audio is broadcast over the
broadcast device, wherein said on-hold device is responsive to said instructions to retrieve the specified audio content from said audio content memory in the instructed order; and broadcasting said sent audio from said broadcast device.
Claim 29. The method of claim 28 further comprising the step of: fading the background audio prior to broadcasting said audio content.
Claim 30. The method of claim 28 further comprising the steps of : mixing said audio content and the audio from said audio source; and broadcasting said mixed audio from said broadcast device.
Claim 31. A method of selectively sending to a broadcast device stored audio content, audio from an audio source, or both, via an on-hold device connected to said broadcast device and having an audio content memory and a device control information memory, said method comprising the steps of: storing said audio content digitally in said audio content memory;
storing device instructions in said device control information memory; selectively entering instructions in said device control information memory for specifying and ordering said sent audio and the manner in which the audio is broadcast over the
broadcast device, wherein said on-hold device is responsive to said instructions to retrieve the specified audio content from said audio content memory in the instructed order; and
broadcasting said sent audio from said broadcast device.
Claim 32. The method according to claim 31 further comprising the step of:
broadcasting specified audio content periodically.
Claim 3 The method according to claim 31. further comprising the steps of: detecting the presence of a person or event: and broadcasting specified audio content when the presence of a person or event is detected.
Claim 34. The method of claim 31 , further comprising the step of: connecting an audio source to said on-hold device.
Claim 35. The method according to claim 34. further comprising the step of:
broadcasting as background audio, audio from said audio source, via the on-hold device.
Claim 36. The method according to claim 35, further comprising the step of: fading the background audio prior to broadcasting said audio content.
Claim 37. The method according to claim 34. further comprising the steps of: mixing said audio content and the audio from said audio source; and
broadcasting said mixed audio from said broadcast device.
Claim 38. The method according to claim 31 , further comprising the steps of: connecting a paging output from a PBX to the on-hold device; and
routing paging audio tracks from the PBX to the broadcast device via the on-hold device.
Claim 39. The method according to claim 38. further comprising the step of: fading said audio content before broadcasting the signal from the PBX.
Claim 40. The method according to claim 31 , wherein said audio content comprises one or more audio tracks, each having a unique identification code.
Claim 41. The method according to claim 40. further comprising the step of: downloading to said audio content memory said audio track(s) and associated identification code(s).
Claim 42. The method according to claim 41, wherein said step of downloading to said audio content memory further comprises the step of: selectively updating, removing, or replacing at least one of said audio tracks and its associated identification code without affecting any other audio track or its associated
identification code.
Claim 43. The method according to claim 42, wherein said device instructions
comprise audio track start-times, broadcast control instructions, or ordered lists of said audio
track identification codes.
Claim 44. The method according to claim 43, further comprising the steps of: downloading to said device control information memory audio track start-times for at least one of said audio tracks, broadcast control instructions for at least one of said audio tracks; or at least one of said ordered lists of said audio track identification codes.
Claim 45. The method according to claim 44, wherein said step of downloading to said device control information memory further comprises the step of: selectively updating, removing, or replacing at least one of said audio track start- times, said broadcast control instructions, or said ordered lists, without affecting any other audio track start-time, broadcast control instruction, or ordered list.
Claim 46. The method according to claim 44, wherein said broadcast control instructions comprise instructions for the volume and time intervals of the audio content.
Claim 47. The method according to claim 44, further comprising the step of: downloading the operating system for said on-hold device while the on-hold device remains operational.
Claim 48. The method according to claim 44, further comprising the step of: selectively broadcasting at least one of said audio tracks according to its identification codes.
Claim 49. The method according to claim 48. further comprising the step of: broadcasting said audio tracks in the order of one or more of said ordered lists of identifications.
Claim 50. The method according to claim 48, further comprising the step of: broadcasting a pre-selected one of said audio tracks as a default.
Claim 51. The method according to claim 48. further comprising the steps of: determining the time of day; and playing at least one of said audio tracks in accordance with the time of day.
Claim 52. The method according to claim 31 , further comprising the step of: downloading a plurality of audio tracks to said audio content memory, each of said audio tracks having a unique identification code.
Claim 53. The method according to claim 31 , further comprising the step of: digitally downloading audio tracks to the audio content memory.
PCT/US1998/026237 1997-12-24 1998-12-23 An on-hold device WO1999034579A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU20863/99A AU2086399A (en) 1997-12-24 1998-12-23 An on-hold device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US6872797P 1997-12-24 1997-12-24
US60/068,727 1997-12-24

Publications (1)

Publication Number Publication Date
WO1999034579A1 true WO1999034579A1 (en) 1999-07-08

Family

ID=22084345

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/026237 WO1999034579A1 (en) 1997-12-24 1998-12-23 An on-hold device

Country Status (2)

Country Link
AU (1) AU2086399A (en)
WO (1) WO1999034579A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004021662A1 (en) * 2002-08-27 2004-03-11 Barix Ag System for managing and outputting audio data
US6853719B2 (en) * 2001-03-22 2005-02-08 Nortel Networks Limited Provision of media content to telephony callers on-hold

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4602129A (en) * 1979-11-26 1986-07-22 Vmx, Inc. Electronic audio communications system with versatile message delivery
US4811382A (en) * 1986-09-05 1989-03-07 Sleevi Neil F Method and apparatus for applying messages in a telecommunications network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4602129A (en) * 1979-11-26 1986-07-22 Vmx, Inc. Electronic audio communications system with versatile message delivery
US4811382A (en) * 1986-09-05 1989-03-07 Sleevi Neil F Method and apparatus for applying messages in a telecommunications network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6853719B2 (en) * 2001-03-22 2005-02-08 Nortel Networks Limited Provision of media content to telephony callers on-hold
WO2004021662A1 (en) * 2002-08-27 2004-03-11 Barix Ag System for managing and outputting audio data

Also Published As

Publication number Publication date
AU2086399A (en) 1999-07-19

Similar Documents

Publication Publication Date Title
US5912958A (en) On-hold device
US6542584B1 (en) Digital telephone system with automatic voice mail redirection
CA1303677C (en) Telephone answering machine in paging systems with automatic number identification based message operations
US5987106A (en) Automatic volume control system and method for use in a multimedia computer system
US6442245B1 (en) System and method for providing voice messaging services utilizing a network connection
US20050201531A1 (en) System and method for selection of on-hold media content
SE519177C2 (en) A mobile terminal and a method of a mobile communication system for downloading messages to the mobile terminal
CA2215770A1 (en) A call recording system and method for use with a telephone switch
JPH11331361A (en) Voice message system and voice message method
JP2001518757A (en) How to customize voice mail system interaction
US5729593A (en) Annoucement system and method in a telephone call switching system
JP2006261956A (en) Notice broadcast system
JPH11509699A (en) Telephone exchange
US4951307A (en) Method and apparatus for recording telephone messages
US6546084B1 (en) Voice mail system and method with subscriber selection of agent personalities telephone user interface address book and time zone awareness
WO1999034579A1 (en) An on-hold device
KR20000070162A (en) Telephone exchange
JP3770376B2 (en) On-hold sound transmission system and on-hold sound transmission method in IP network
KR20010029384A (en) A telephone advertizing system and the method
US5923747A (en) Communications system and interface circuit for interconnecting telephonic switch and agent computer
JPS5895490A (en) Key telephone device
JP2600938B2 (en) Emergency simultaneous notification device via telephone network
JP3339305B2 (en) Voice mail device
KR100212745B1 (en) The method for broadcasting recorded message periodically in key phone system connected with vms
JPH0253365A (en) Announcement device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase

Ref country code: KR

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase