Telecommunications System and Method

A telecommunications system includes switching circuitry for coupling a call to a extension coupled to the system, voice processing circuitry for automatically interacting with the call, a microprocessor, a first data bus connected, between the microprocessor and the switching circuitry, and a second data bus connected between the microprocessor and the voice processing circuitry. In the telecommunications system, a method includes coupling, with the switching circuitry, a call to a telecommunications extension coupled to the system, and the voice processing circuitry automatically interacting with the call when the telecommunications extension does not answer the call.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 13/487,762, which issued as U.S. Pat. No. 8,538,002 on Sep. 17, 2013. which is a continuation of U.S. application Ser. No. 12/200,330, which issued as U.S. Pat. No. 8,194,845, which is a continuation of U.S. application Ser. No. 09/805,395, which issued as U.S. Pat. No. 7,421,066, which is a continuation of U.S. application Ser. No. 08/873,215, which issued as U.S. Pat. No. 6,252,944, and which was reissued as RE39,722, which claims benefit of priority to U.S. Provisional Application No. 60/023,749, filed Jun. 12, 1996.

TECHNICAL FIELD

The present invention relates in general to a telecommunications system.

BACKGROUND INFORMATION

Referring to FIGS. 2 and 13, there is illustrated a prior art technique for combining telephone and voice mail systems. The dilemma is how to provide communication between the switching system (“PBX”) 200 and the voice mail (“VM”) system 201. Communication with the PBX 200 is typically done through either the CO lines or on the station (extension) side. Since CO lines are more of a precious resource than the station connections, the prior art system shown in FIG. 2 communicates between the voice mail system 201 and the PBX 200 on the station side using connection 202. Connection 202 may be an analog telephone line or via an EKT (electronic key telephone) integrated connection. Alternatively, a proprietary EKT line 204 may be coupled to an analog telephone adapter 205, which uses analog line 203 to couple to voice mail system 201.

Such systems are typically configured by programming the PBX 200 to perform a transfer to an extension that is connected to the voice mail system 201 upon one or more occurrences, such as when the outside call received by the PBX 200 intended for a particular extension receives a busy signal or the extension rings a certain number of times. At this point in time, the call resides within the PBX 200 (step 1301). Next, the PBX 200 transfers the call using a flash-hook and then dialing the extension number (step 1302) pertaining to the voice mail system 201 in order to transfer the call to the voice mail system 201. At this point in time, the call cow resides within the voice mail system 201, which may play a greeting to the incoming call (step 1303). In response to the greeting played by the voice mail system 201, the call may send a signal, which is detected by the voice mail system 201 (step 1304). Thereafter, die voice mail system may record a message received from the call (the incoming call resides in the voice mail system 201; step 1306), or the voice mail system 201 may transfer the call to a desired destination, such as a station extension (the incoming call is now resident within the telephone system 200; step 1305). In-band signaling, a serial connection, etc. may he added to farther improve the system, but it is still configured as two separate systems—a PBX 200 coupled to a separate voice mail system 201.

Another prior art system not shown herein is the use of a personal computer with a voice adapter card inserted therein for interconnecting to a switching system. Again, the same problems arise, since there is a separate voice mail system coupled to a telephone system where software in the personal computer operates the voice mail portion.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates, in block diagram form, components of embodiments of the present invention;

FIG. 2 illustrates a prior art system coupling a switching system and a voice mail system;

FIG. 3 illustrates, in block diagram form, components of a port card implemented within embodiments of the present invention;

FIG. 4 illustrates a flow diagram of a process for recording an incoming call;

FIG. 5 illustrates a flow diagram of a process for implementing a beep timer;

FIG. 6 illustrates a flow diagram for terminating a recording;

FIGS. 7A-7D illustrate a flow diagram implementing interactive help;

FIG. 8 illustrates a flow diagram for implementing context sensitive help;

FIG. 9 illustrates a flow diagram implementing real-time call screening;

FIG. 10 illustrates functions implemented within a signal processing circuit within embodiments of the present invention;

FIG. 11 illustrates an electronic key telephone interface;

FIG. 12 illustrates a loop start CO interface;

FIG. 13 illustrates a prior an process for call processing;

FIG. 14 illustrates an EKT;

FIG. 15 illustrates a process for implementing an auto attendant within embodiments of the present invention; and

FIGS. 16-17 illustrate processes for implementing Quick Groups.

DETAILED DESCRIPTION

In the following description, numerous technical details are set forth such as specific word length and specific hardware interfaces, etc. to provide a thorough understanding of embodiments of the present invention. However, it will be obvious to those skilled in the art that embodiments of the present invention may be practiced without such specific details. In other instances, well-known circuits have been shown m block diagram form in order not to obscure embodiments of the present invention in unnecessary detail For the most part, details concerning timing considerations and the like have been omitted inasmuch as such details are not necessary to obtain a complete understanding of embodiments of the present invention and are within the skills of persons of ordinary skill in the relevant art.

The use of the word “a” or “air” when used in conjunction with the term “comprising” in the claims and/or the specification may mean “one,” but it is also consistent with the meaning of “one or more, ”“at least one,” and “one or more than one.” The use of the term “or” in the claims is used to mean “and/or” unless explicitly indicated to refer to alternatives only or the alternatives are mutually exclusive, although the disclosure supports a definition that refers to only alternatives and “and/or.” Throughout this application, the terms “about” or “approximately” are used to indicate that a value includes the inherent variation of error for the device, the method being employed to determine the value, or the variation that exists among the study subjects.

As used in this specification and claim(s), the words “comprising” (and any form of comprising, such as “comprise” and “comprises”), “having” (and any form of having, such as “have” and “has”), “including” (and any form of including, such as “includes” and “include”), and “containing” (and any form of containing, such as “contains” and “contain”) are inclusive or open-ended and do not exclude additional, unrecited elements or method steps.

The term “or combinations thereof” as used, herein refers to all permutations and combinations of the listed items preceding the term. For example, “A, B, C, or combinations thereof” is intended to include at least one of: A, B, C, AB, AC, BC, or ABC, and if order is important in a particular context, also BA, CA, CB, CBA, BCA, ACB, BAC, or CAB. Continuing with this example, expressly included are combinations that contain repeats of one or more item or term, such as BB, AAA, MB, BBC, AAABCCCC, CBBAAA, CABABB, and so forth. The skilled artisan will understand that typically there is no limit on the number of items or terms in any combination, unless otherwise apparent from the context.

While the hardware and methods of this invention have been described in terms of described embodiments, it will be apparent to those of skill in the art that variations may be applied to the hardware and/or methods and in the steps or in the sequence of steps of the methods described herein without departing from the concept, spirit, and scope of the invention.

Refer now to the drawings wherein depicted elements are not necessarily shown to scale and wherein like or similar elements are designated by the same reference numeral through the several views.

Referring to FIG. 1, there is illustrated, in block diagram form, system 100 for integrating call processing and voice processing using a single processing means, which in this example is a microprocessor 101. Microprocessor 101, which may be a Motorola 68000 class microprocessor, communicates with hard disk 107 using driver circuitry 108. Hard disk 107 may store program data, voice prompts, voice mail messages, and all other types of speech used within system 100.

Microprocessor 101 may also include a watchdog timer 109 and real-time clock source 110.

Microprocessor 101 may be coupled via bus 105 to flash memory 111 and dynamic random access memory (“DRAM”) 112. Flash memory 111 may be used to store bootstrap data for use during power up of system 100. DRAM 112 may store a program accessed by microprocessor 101 during operation of system 100.

Bus 105 also couples microprocessor 101 to signal processing circuitry, which may be a digital signal processor (“DSP”) 102. Digital signal processor (“DSP”) 102 may implement a number of functions traditionally implemented by discrete analog components.

Referring next to FIG. 10, there are illustrated some functions that may be

implemented in DSP 102. DTMF receivers 1001 may be implemented using frequency domain filtering techniques. DTMF receivers 1001 may detect standard DTMF (touch-tone) signals or digits.

Automatic gain control (“AGC”) 1002 may be a closed-loop gain control system, which normalizes received audio levels during recording.

Recording buffers 1003, which are coupled to AGC 1002, may receive and store speech samples after they have passed through AGC block 1002. These speech samples may be converted to μ-law PCM (Pulse Code Modulation) and double buffered (several samples per buffer). Microprocessor 101 may copy the record data out of DSP buffers 1003 into RAM buffers (not shown), which may be located in the microprocessor 101 data RAM area.

Fax tone detector 1004 may be implemented using frequency domain filtering techniques. Fax tone detector 1004 may detect a standard 1100 Hz FAX CNG tone (also referred to as the Calling Tone).

Caller ID modems 1005 may be 1200 band FSK modems similar to Bell 202-type modems. Caller ID modems 1005 may be implemented as a frequency discriminator where a time delayed (e.g., quadrature) signal is multiplied by the original signal, low pass filtered, then sliced, which produce the square wave caller ID data stream.

Call processing tone generators 3007 may be free running oscillators, which generate the appropriate tones (and tone pairs) that make up industry standard call processing tones. These tones may include dial tone, busy/reorder tone, ring back tone, single frequency (440 Hz) tone, and DTMF dialer tones.

Play buffers 1008 may replay data from hard disk 107 through microprocessor 101 and place this play data in buffers 1008. This data may be converted from an 8-bit μ-law PCM signal to 14-bit linear data.

Conference bridges 1006 may allow multiple conference bridges to mix together conferees into a multi-party conference. These conferees may be a mixture of inside and outside parties. A combination of “loudest speaker” and “summing” may be utilized.

DSP 102 may communicate with microprocessor 101 via a host interface port (“HIP”) via bus 105. The HIP link may support a command-based protocol which may be used to directly read or write DSP memory locations. DSP 102 may be a RAM-based part and may have its program downloaded from microprocessor 101. Once downloaded and running, microprocessor 101 (the host) may poll, for events or receive interrupts indicating that data is available. DSP 102 speech connections may be made over an industry standard 32-time slot, 2.048 megabits per second. (Mb/s) digital serial link 124. Link 124 may occupy one of the digital highways implemented by digital cross-point matrix 103. Each service of DSP 102 may occupy a single time slot. For example, DTMF receiver 1001 may occupy time slot 0 while conference bridge circuit 12 may occupy time slot 31.

Digital cross-point matrix 103 may also be coupled to bus 105 and operate to connect any voice path to any other voice path. Digital cross-point matrix 103 may be a VLSI (Very Large Scale Integration) integrated circuit. An example of digital cross-point matrix 103 is manufactured by MITEL Semiconductor Corporation as part No. 8980. Digital cross-point matrix 103 may communicate with microprocessor 101 via a memory mapped input/output (“I/O”) scheme. A command/control protocol may be used for communication between microprocessor 101 and digital cross-point matrix 103 via bus 105. Cross-point matrix 103 may be coupled by highway 124 to DSP 102. Cross-point matrix 103 may be coupled by connection 325 to highway 121. Cross-point matrix 103 may also be coupled to peripheral cards by highways 122 and 123. The peripheral cards are described in further detail below with respect to FIG. 3.

Connections 121-125 are also referred to herein as “highways,” which may be transmission links using time-division multiplexing (“TDM”) as a means for transmitting and receiving data.

Digital cross-point matrix 103 may be capable of making 256 simultaneous fully non-blocking connections within system 100. However, system 100 may be upgraded by adding additional DSPs and/or cross-point matrices.

Cross-point matrix 103 may make connections using the TDM highway by receiving instructions from microprocessor 1.01 to interconnect channels within the frames of the TDM bit stream. This results in the non-blocking capability of cross-point matrix 103, and also allows for a single voice resource, caller, or voice message to be simultaneously coupled to multiple other voice resources, station or CO originated callers, and/or voice messages.

Gate array 104 may be an SRAM (Static Random Access Memory) based device. An example of gate array 104 is manufactured by XILINX. Gate array 104 may be responsible for generating system timing. A master clock signal may be provided by microprocessor 101 at 16.384 MHz. This clock signal may be divided down to provide a number of phase coherent system clocks such as 4.096 MHz, 2.048 MHz, and 8 KHz (frame sync). In addition, a 5-bit time slot counter may be implemented, which allows all the system CODECs to detect the appropriate time slot to use (e.g., 0-31). An additional divider chain may be included to divide the system clock down to 20 Hz, which may be used by the ringing generator power supply (not shown).

Gate array 104 may be downloaded at boot-up by system software. Gate array 104 may be based on a SRAM architecture. That is, the internal fusible links commonly found in programmable logic may be actually stored in volatile SRAM. Because of this architecture, gate array 104 may be downloaded after power-up. Also, note the added flexibility of being able to modify the logic by simply loading new system software.

Bus 105 may also be coupled to modem 106, which may provide a capability of calling into system 100 on a remote basis to load additional programs, voice prompts, etc., or updates thereto, into hard disk 107. Modem 106 may be coupled to coder/decoder (“CODEC”) 113, which may be coupled to highway 121. This connection may allow coupling of modem 106 through cross-point matrix 103 to CO lines through highway 122 and the p-card described below with respect to FIG. 3.

Highway 121 may also be coupled to a dual subscriber line access chip 114, which is well-known in the art, and which may be coupled to analog ports 115 and 116, which may provide an ability for system 100 to communicate to analog-type connections such as cordless telephones and fax machines.

Highway 121 may also be coupled to CODEC 117, which may be coupled to transformer 118 to a music source 119, which may provide an ability to couple an external music source to a received call through cross-point matrix 103 for such things as providing the received call with music on hold.

Power to system 100 may be provided through switching power supply 120, which may convert AC to the various DC supply voltages needed by circuitry within system 100.

Referring next to FIG. 3, there is illustrated peripheral-card (“p-card”) 300, which may be coupled to main board 190 of system 100. Main board 190 may communicate with p-card 300 via a multi-drop async serial link 307. This connection 307 may be made directly to microprocessor 101 (via butlers not shown). P-card 300 may provide interconnections between CO lines and extension lines to system 100.

Microcontroller 301 may be an 8-bit microcontroller, an example of which is manufactured by Hitachi as Part No. H8, which may control all the real-time functions associated with p-card 300. Microcontroller 301 may be responsible for all low-level communication with the EKTs 1400 (electronic key telephones) (see FIG. 14) and CO lines. A low-level event is an event which is specific to the hardware and is required to be handled in real-time. These events may be unique to the EKT or CO trunk protocol. In contrast, high-level events can be abstracted to have no correlation to actual hardware. An example of a high-level event might be “Turn the SPKR LED On.” The corresponding low-level event would be “Send HEX Code 21 to EKT Address 4.” This level of abstraction helps stabilize the complex system software. Another example would be that system software can send a command to seize a CO trunk without being concerned with the low-level differences between a ground start or DID trunk. Some of the low-level tasks may include updating EKT LEDs and LCD displays, decoding key press messages from the EKTs 1400, scanning the CO status bits, and filtering RING and CO seizure events.

Microcontroller 301 may convert these low-level real-time events to high-level events, which may form a protocol referred to as the ESi Command Language (“ECL”). This ECL protocol may be implemented on multi-drop async serial channel 307 between main board 190 and all p-cards 300 in system 100. Microcontroller 301 may contain 2 async serial ports. One of these serial ports may be connected to main board 190, and the other port drives data transceiver and multiplexer 302.

When p-card 300 is plugged into main board 190 (e.g., via ribbon cable (not shown)) a card address is assigned to p-card 300. This card address may be read by microcontroller 301 and used to filter commands over communication link 307. When main board 190 software wants to communicate with the specific p-card 300, the address may be sent in a message packet, which all p-cards 300 receive. P-cards 300 may match the address in the message to the hard wired address on the ribbon cable. If a match is made, that p-card 300 responds to the command set.

Microcontroller 301 may contain an internal program memory (not shown), and may be connected to an external SRAM 303. The internal program memory may contain a bootstrap program, which upon reset or power-up, may request a fresh firmware load from main board 190. This firmware load may be transferred to SRAM 303. Upon download completion, the program may be run from within SRAM 303. This scheme may allow for microcontroller 301 -firmware to be updated and loaded at any time.

Main board 190 may source all system timing through block 304. Timing signals to p-card 300 may include a 2.048 MHz clock signal, an 8 KHz frame sync, which may signify the first time slot of a 32 time slot highway, and 5 time slot counter bits, which may represent a binary count from 0 to 31.

As mentioned above, p-card 300 may be assigned a card slot address when it is connected to main board 190. This card slot address may be used to calculate which time slots p-card 300 should be using. The time slots used for the CO CODECS 1204 (see FIG. 12) may be generated by time slot assignment circuitry contained in the DSLAC chip. There may be two separate 2.048 MHz (32 time slot) highways 122 and 123 that run between main board 190 and p-card 300. One (123) may be for the EKTs 1400 and the other (122) may be for the COs.

Referring to FIGS. 3 and 11, EKT interface 306 describes a connection between system 100 and electronic key telephone (“EKT”) 1400. This interlace may include two physical pairs of wires running between system 100 (often referred to as a Key System Unit (“KSU”)) and EKT 1400. One of these pairs may support an analog bi-directional audio path, and the other may support a bi-directional digital control channel.

EKT 1400 may be connected to the KSU via transformers 1101 and 1102, providing a high degree of isolation as well as longitudinal balance. Transformer 1101 may be for the audio path, and transformer 1102 may be for the data path on each end of the connection. Power may be supplied to EKT 1400 by phantoming the power through the center taps of transformers 1101 and 1102. The KSU may supply a nominal voltage of 36 volts DC, which may pass through a positive temperature co-efficient varistor (“PTC”) 1103. PTC 1103 may act as a resettable fuse, which may become very resistive during excessive current flow (such as when a short in the station wiring occurs). EKT 1400 may regulate down to +12 and +5 volts.

The audio path may be a dry analog bi-directional path including a traditional hybrid (2:4 wire converters) on each end. The audio path on p-card 300 may be converted to a 4-wire path by the hybrid circuit in interface 306. The separate transmit and receive paths may be gain adjusted and connected to CODEC 1104. CODEC 1104 may convert the analog signals to digital and may present these voice signals to EKT highway 123. EKT highway 123 may include a 2.048 Mb/s serial stream, which may be divided into 32 64 Kb/s time slots. Each CODEC 1104 may occupy one time slot on highway 123. System 100 may reserve two time slots per EKT 1400 for future migration to a fully digital 2B+D EKT where two 64 Kb/s digital channels may be available to each station instrument.

Timing for CODECs 1104 may be supplied by time slot generation block 304, which may be coupled to the time slot counter output from system timing block 104 (see FIG. 1).

The EKT data may be produced by a UART (Universal Asynchronous Receiver/Transmitter) in microcontroller 301. This NRZ transmit and receive data may be presented to data transceiver and multiplexer 302. A single data transceiver may be used for all 8 EKT circuits and may be multiplexed through an 8-channel analog mux to each EKT data transformer 1102 in a round-robin fashion.

Messages to EKT 1400 may include commands such as POLL, TURN_ON_LED, WRITE_LCD_CHARACTER, RING PHONE, etc. Response messages from EKT 1400 may include a lower level key command in the first 5 bits and a single hook switch bit in the 8th bit. If the 7th bit of the response message is set, a high level response command such as FIRMWARE_VERSION or TERMINAL_TYPE may be present in the first 5 bits.

Referring next to FIGS. 3 and 12, the loop start central office (“CO”) lines may be supplied by a local telecommunications company and may include a wet balanced differential audio pair. The term “wet” refers to the fact that a voltage (e.g., −48 volts) is present on the pair. System 100 may request dial tone from the CO by providing a nominal 200 ohm loop across the TIP and RING conductors and may release the connection by opening the loop.

The CO may ring system 100 by placing a 90 vrms AC, 20 Hz sine wave on the TIP and RING conductors. System 100 may seize the line by going off hook.

P-card 300 may incorporate a unique circuit, which may monitor the voltage present across TIP and RING of each CO. This line voltage monitor circuit 1202 may serve to detect the ring voltage present during ringing (ring detection) and monitoring the CO line status for conditions, such as whether the CO is plugged in or if someone is off hook in front of system 100. The latter may be used to detect theft of sendee or allow a credit card verification terminal to be used without interfering with normal system operation.

Voltage monitor 1202 may include a balanced differential op-amp connected across TIP and RING of the CO lines through a very high impedance (e.g., >10 Mohms). The output, of the four voltage monitor op-amps may be fed to an analog-to-digital converter with a built-in analog multiplexer (not shown). Microcontroller 301 firmware may monitor the line voltages.

There may also be a balanced differential AC coupled op amp across the CO TIP and RING to monitor the low level audio tones present during caller ID. The output of these op-amps may be selected via an analog switch during the idle period and may be connected to the CO line CODEC 1204.

To correctly terminate the CO line (seizure) care may be taken to satisfy the DC loop requirements (e.g., −200 ohms) and the AC Impedance requirements (e.g., −600 ohms). The classic approach has been to terminate TIP and RING with an inductor (called a holding coil), which has a large inductance (e.g., >1 Hy) and a DC resistance of (e.g., −200 ohms). The inductor separates the AC and DC components to give the desired effect. The problem is that the Inductor must be large enough not to saturate with currents as high as 100 milliamps. An inductor that satisfies these requirements is physically cumbersome.

P-card 300 may incorporate a solid state inductor circuit called a gyrator (not shown) to implement the holding coil function. This single transistor may emulate an inductor with the above requirements while taking up very little PCS space.

A small solid state relay (not. shown) may be used as the hook switch. When energized, the gyrator holding coil may be placed across TIP and RING closing the loop. The audio present on TIP and RING maybe AC coupled to a small dry transformer 1203. The secondary of this transformer 1203 may be connected to the AC termination impedance and to the CODEC 1204, which may be implemented on a dual subscriber line access chip (“DSLAC”).

High voltage protection may be provided for all paths on the TIP and RING connections. These paths may include TIP to RING, TIP to GROUND, RING to GROUND, and TIP and RING to GROUND. This high voltage protection is accomplished by first passing the TIP and RING conductors through positive temperature coefficient varistors (not shown). These varistors may act as resectable fuses. When excessive current flows through these varistors, they become resistive thus limiting the current flow. When the excessive current is stopped, the original resistance is restored.

DSLAC 1204 may include two identical circuits, which may contain the CODEC, DSP-based echo canceller, gain control, and time slot assignment circuit. DSLAC 1204 may be controlled by microcontroller 301 to set parameters such as echo canceller coefficients, gain coefficients, and time slots.

Referring next to FIG. 15, the following is an example of how a. call may be processed by system 100. A call may come in on one of the available central office (“CO”) lines (step 1501), wherein a speech path, for the CO line may be coupled through digital cross-point matrix 103 to an available “play” channel (e.g., play buffer 1008) in DSP 102 (step 1502). Also during set-up, a connection may be made to an available DTMF receiver 1001. A connection may also be made to one of the available fax tone detector channels 1004 in case the incoming call is a facsimile transmission. In step 1503, microprocessor 101 may access hard disk 107 and transfer, speech data to play buffers 1008. Next, in step 1504, a determination may be made whether or not FAX tones have been detected by FAX tone detector 1004. If FAX tones are detected, then in step 1505, microprocessor 101 may instruct digital cross-point matrix 103 to connect the incoming call to one of analog ports 115 or 116 coupled to DSLAC 114. If FAX tones are not detected, then the process may determine whether or not DTMF tones have been detected in step 1506. If yes, then in step 1507, digital cross-point matrix 103 may be instructed to connect the incoming call to an extension coupled to p-card 300. If DTMF tones are not detected, then the process may determine whether nor not a predetermined amount of time has passed in step 1508. If yes, then the call may be terminated by freeing resources in step 1509 and tearing down the call in step 1510 to place the system in an idle state (step 1511).

If the incoming caller dialed an extension and that extension has answered, a speech path connection may be made between the extension and the incoming CO line.

Referring next to FIG. 14, there is illustrated EKT 1400, which may include many of the well-known features of a typical telephone, such as LCD display 1401, soft feature keys 1402 for such features as Station, Speed Dial, Line Keys, etc, speaker/handset volume control 1404, and message and speaker LEDs 1403. Further described in detail below are the program/help key 1407, the record/monitor key 1406, and the voice mail key 1405, which may be part of the fixed feature keys on EKT 1400.

Referring next to FIG. 4, there is illustrated a process for recording all or a portion of an incoming call after it has been connected to an extension (e.g., EKT 1400) (e.g., by digital cross-point matrix 103 and p-card 300). Such a recording can occur while a user is speaking with an incoming call over the extension (e.g., EKT 1400), However, such a recording of the incoming call may occur using any telecommunications device coupled to system 100 if it is supplied with some type of mechanism for initiating the recording process to be discussed. In step 401, the user presses record key 1406 on the extension (e.g., EKT 1400). One skilled in the art will, surely appreciate that any means for activating a record signal may be utilized, such as the depression of a physical button, the touching of a touch screen (display 1401 could utilize such a touch screen), or even voice activation of the record sequence. Such a record sequence activation signal may be transmitted from the extension (e.g., EKT 1400) to interface 306 via transformer 1102 (see FIG. 11), which may pass the signal to microprocessor 101 through data transceiver and multiplexer 302 and microcontroller 301. Next, in step 402, a determination may be made whether or not the extension (e.g., EKT 1400) is connected to a valid call. A valid call may be defined as energy being detected on the line, and the energy is not dial tone. If not, the process may proceed to step 403 to ignore the record activation signal. However, if the extension (e.g., EKT 1400) is connected to a valid call, the process may proceed to step 404 to determine whether or not a record resource is available. This may be accomplished by determining whether or not a recording buffer 1003 is available in DSP 102. If not, the process may proceed to step 405 to display an error message to the telephone extension user. This may be accomplished by some type of visual (e.g., on display 1401 or via an LED on EKT 1400) or audible indication provided by the extension (e.g., EKT 1400). This may be implemented by sending from microprocessor 101 to microcontroller 301 such an error message, which is then transmitted to the extension (e.g., EKT 1400) through data transceiver and multiplexer block 302 and transformer 1102 within interface 306. Next, in step 406, a counter may be incremented to record that a record resource was not available.

If in step 404, a recording buffer 1003 is available (e.g., in DSP 102), such a recording buffer 1003 may be assigned to the record sequence in step 407. Thereafter, in step 408, the recording buffer 1003 may be connected, to the appropriate speech path via highway 124 and digital cross-point matrix 103. As noted above in the discussion regarding digital cross-point matrix 103, digital cross-point matrix 103 may have the ability to couple multiple resources to each other. Therefore, digital cross-point matrix 103 may be able to couple recording buffer 1003 (along with automatic gain control function 1002) to the incoming call, which has previously been connected (and remains connected) to the pertinent extension (e.g., EKT 1400).

Thereafter, in step 409, the recording process begins. In addition to recording the ongoing phone conservation, system 100 may also store the called extension number, the incoming calling telephone number, and the date and time of the call. These data may be stored in a recording record, which may be associated with the actual recording. The recording data record may be written to hard disk 107, and may be available for display when the recording is accessed. At the time the recording begins, a timer may be started to accumulate the duration of the recording. When the call is completed, the duration may be added to the recording data record, and may be written to hard disk 107. When the recording is played back, the incoming caller phone number, the date and time of the recording, and the duration may be displayed (e.g., on display 1401). Next, in step 410, a determination may be made whether or not a beep tone feature has been enabled. If not the process may proceed to step 601 in FIG. 6, However, if a beep tone feature has been enabled, the process may proceed to step 411 to start a beep timer, which may be required by law in certain jurisdictions. Implementation of step 411 is further described below with respect to FIG. 5.

The recording sequence illustrated in FIG. 4 may be implemented as a software program stored within hard disk 107, which may be up-loaded to DRAM 112 for operation by microprocessor 101.

Referring next to FIG. 6, there is illustrated a process for terminating a recording sequence. In step 601, one of the parties (e.g., the incoming call or EKT 1400) may hang up, or the termination of the recording sequence may be initiated by again pressing record key 1406 (deactivation of the recording sequence). In response to one of these signals, in step 602. the recording process may be stopped. Thereafter, in step 603, the recording, which may have been temporarily stored within recording buffer 1003, may be recorded in the mailbox assigned to the extension (e.g., EKT 1400) that initiated the recording sequence. The other data, such as the called and caller telephone numbers, time and date information, and recording duration may also be stored within the extension telephone's mailbox. Such a mailbox may be stored within hard disk 107. Thereafter, in step 604, the beep timer may be terminated. Thereafter, in step 605, recording buffer 1003, which may have been assigned to this record sequence, may be freed. Then, in step 606, digital cross-point matrix 103 may disconnect the speech path from recording buffer 1003, and the process may end at step 607.

Referring next to FIG. 5, there is a flow diagram illustrating a process for implementing a beep timer. A beep timer may be provided so that an audible beep is heard by both parties during a conservation that is being recorded. The beep may be heard every 15 seconds, and may have a configurable duration between 40 and 500 milliseconds. In step 501, the beep timer has been enabled. In step 502, a determination may be made whether or not recording buffer 1003 is still connected to the pertinent speech path. If not, the process may proceed to step 503 to terminate the beep timer. However, if recording buffer 1003 is still connected to the speech path (e.g., by digital cross-point matrix 103), the process may proceed to step 504 where the speech path transmit is opened. Next, in step 505, the speech path may be connected to a tone produced by call processing tone generator 1007 by DSP 102. As a result, the tone may be heard by one or both of the incoming call and/or extension user. In step 506, a delay period (e.g., 200 milliseconds) may be allowed to pass. After passage of the delay period, the tone generator 1007 may be disconnected from the speech path in step 507. The beep timer process may be started again in step 508. The process may end step 509. An advantage of the recording sequence is that it can he performed without any interruption in the connection between the call and the extension (e.g., EKT 1400), Additionally, it may be performed with merely the activation of a single signal. However, a sequence of signals may be utilized to initiate the recording sequence, such as the entering of a code (e.g., by the user using the touch-tone keypad on EKT 1400).

Furthermore, the recording sequence may be initiated while a user is screening an incoming call or while a voice message is being placed in the user's mailbox. These recordings may be accomplished following the process described in FIG. 4 as was described earlier for recording all or a portion of an incoming call.

Referring next to FIGS. 7A-7D, there is illustrated a flow diagram for implementing an interactive help sequence (e.g., verbal user guide) whereby “help” messages may be provided to a user of system 100. This feature can alleviate the need for the user to possess and access a written help manual. Note, however, that one skilled in the art will appreciate that the process illustrated in FIGS. 7A-7D may be utilized to play or display any type of messages to a user, and not just those associated with a help menu.

In step 700, the user may press a key or button 1407 on the extension (e.g., on EKT 1400), wherein the key or button 1407 may be associated with a help menu (or any other information) stored within system 100. A. signal activated by the pressing of key 1407 may be sent from the extension (e.g., EKT 1400) through p-card 300 to microprocessor 101. As noted above with respect to the record sequence, any type of activation signal may be utilized to initiate the sequence. Next, in step 701, microprocessor 101 may assign a play channel or butter 1008 (e.g., within DSP 102) to be coupled to the extension (e.g., EKT 1400) through digital cross-point matrix 103. Next, in step 702, a determination may be made whether or not such a play resource (e.g., buffer 1008) is available (e.g., in DSP 102). If not, the process may proceed to step 713 to display an error message (e.g., on display 1401), or some other type of error indication, such as a tone or LED light 1403, to the user on the extension (e.g., EKT 1400). This may be done in the same manner as described above with respect to step 405 in FIG. 4, Additionally, a reorder tone may be generated (e.g., by call processing tone generator 1007) to be connected to the extension (e.g., EKT 1400). Next, in step 714, a lock-out state may be entered. In this lockout state, all key presses on the extension (e.g., EKT 1400) may be ignored, so that the only option for the user is to hang up the extension. Then, in step 715, the process may wait for the extension (e.g., EKT 1400) to go on hook.

If in step 702 a play buffer 1008 is available, then in step 703, microprocessor 101 may assign, a play buffer 1008 (e.g., within DSP 102) to the extension (e.g., EKT 1400) and digital cross-point matrix 103 may connect (e.g., via highway 124), play buffer 1008 and associated filter 1009 to the time slot with, which the extension (e.g., EKT 1400) is associated. Additionally, microprocessor 101 may couple a DTMF receiver 1001 (e.g., within DSP 102) to a time slot in digital cross-point matrix 103 associated with the extension (e.g., EKT 1400) in order to recognize any DTMF tones actuated on the extension (e.g., EKT 1400) by the user (see steps 705 and 707-710 described below). Thereafter, in step 704, a message may be played to the user on the extension (e.g., EKT 1400). Such a message may be downloaded from hard disk 107 through, microprocessor 101 to play buffer 1008. Such a message may be “To access the help menu, press 0.” Thereafter, in step 705, a determination may be made whether or not a key on the extension (e.g., the “0” key on EKT 1400) has been pressed by the user. If not, the process may proceed to step 712 which operates a time out function. If the designated key (e.g., “0”) has been pressed in step 705, the process may proceed to step 706 where another “Help” prompt may be played by play buffer 1008 to the user (e.g., via the speaker on EKT 1400). Such a message may be “To leant how to program your phone, press 1, to learn how to use voice mail, press 2 . . . . ”

Next, in steps 707-710, determinations may be made whether the user depresses a digit on the touch-tone keys of the extension (e.g., EKT 1400) (or voice activation may be utilized in response to the user stating a number) in response to the introductory prompt message 706. A DTMF receiver 1001, which may have been connected to the speech path associated with the extension (e.g., EKT 1400) initiating the help sequence (see step 703), recognizes which of digits 707-710 have been depressed and may play a corresponding prompt message (see steps 720, 740, 760), in response thereto as programmed within system 100. For example, in step 707, if the “1” key on EKT 1400 is pressed by the user, then the process proceeds to step 720 in FIG. 7B where an introductory prompt is played to the user regarding use of the EKT 1400, which may include options presented to the user for pressing certain digits to access associated help information. For example, if the “1” key is pressed by the user in step 721, then in step 722 a prompt may be played to the user regarding how to answer the extension using the features of EKT 1400. If the “2” key is pressed on EKT 1400 by the user (step 723), then, in step 724, a prompt may be played to the user on how to place a call using EKT 1400, If the “3” key is pressed by the user (step 725), then, in step 726, a prompt may be played to the user on how to transfer a call. Similarly, if the “4” key is pressed by the user (step 727), then a prompt may be played to the user on how to conference a call (step 728). If system 100 determines that the “5” key has been pressed on EKT 1400 by the user in step 729, their a prompt on how to answer a call under Call Waiting may be played to the user in step 730.

After each of prompts 722, 724, 726, 728, and 730 have been played to the user, the process may return to step 720 to repeat the process. However, if the user presses another key (e.g., the key) in step 731, then the process may return to step 706 in FIG. 7A. A time-out feature may be implemented in step 732. Thus, if the user does not press any key after step 720 after a predetermined amount of time, the process may proceed to step 716 in FIG. 7A.

If the user has pressed the “2” key in step 708, the process may proceed to step 740 (FIG. 7C) to play an Introductory prompt regarding the use of voice mail. Such a message may provide the option to listen to further messages upon the pressing of selected keys on the extension (e.g., EKT 1400). For example, if in step 741, it is determined that the user has pressed the “1” key, then the process, in step 742, may play a message on how to leave a message. Likewise, steps 743 and 744 may implement a process for playing a message on how to transfer a call to voice mail. Steps 745 and 746 may implement a process for informing the user on how to pick up an internal voice mail. Additionally, steps 747 and 748 may implement a process for informing the user on how to pick up an external voice mail. Likewise, steps 749 and 750 may implement a process for informing the user on how to record a personal greeting for their voice mail box.

Again, in a manner similar to that described previously with respect to step 731, in step 751, a process may be Implemented for permitting the user to return to step 706. The time out function may be implemented in step 752 in manner similar to that described previously with respect to step 732.

Returning to FIG. 7A, if, in step 709, the user presses another key (e.g., the “3” key), then the process may proceed to step 760 in FIG. 7D to play an introductory prompt regarding help information on various phone features. In the process illustrated in FIG. 7D, the user may then press any key on the extension (e.g., EKT 1400) and receive help information corresponding to the pressed key. In step 761, the process may determine whether a key has been hit or pressed by the user. If yes, in step 762, whichever key has been pressed by the user, the signal generated by the extension (e.g., EKT 1400) corresponding to the pressed key is analyzed by DTMF receiver 1001, so that microprocessor 101 can access an appropriate help message to play to the user using play buffer 1008. This may be performed in step 763, where the key code may be used as an index into a prompt, or message, array stored within system 100. The playing of the corresponding message may be performed in step 764. The process then may return to step 761 to determine whether or not another key has been pressed by the user. Step 765 may determine whether or not. at this time the key has been pressed by the user. If yes, the process may then returns to step 706.

The time-out feature implemented in step 766 may provide for an exit to step 716 in FIG. 7A if no key is pressed by the user within a predetermined amount of time.

Returning to FIG. 7A, if in step 712, a predetermined amount of time does pass before the “0” key has been pressed by the user as determined by step 705, the process may proceed to step 716 to free any accessed resources. Teasing down of the call may be then performed in step 717 so that the phone is placed in an idle state (step 718). Steps 716-718 may also be entered if a predetermined amount of time passes in steps 711, 732, 752, or 766.

Referring next to FIG. 8, there is illustrated a flow diagram for implementing a context sensitive help menu. Such a help sequence can be implemented so that the help messages sent to the user relate to the particular function the user is currently implementing. Note that. FIG. 8 may apply when the user is already connected to an outside call (a call which is not an intercom call). In step 801, the user may press help key 1407. or performs some other type of activation of the help sequence, such as described, above with respect, to step 701 in FIG. 7A. Thereafter, in step 802, the user may press the specific key that help is required on. For example, if the user is connected to an outside call, and needs to transfer the call, the user may press the help key 1407, followed by the transfer key 1408 to receive instructions. While the user is receiving instructions, the other party may hear music provided via music source 119. Thereafter, in step 804, a determination may be made whether or not a play resource is available in DSP 102. In other words, a determination may be made whether or not a play buffer 1008 is available. If not, an error message may be provided to the user in step 805 in a manner similar to the one described above with respect to step 712 in FIG. 7A.

If a play resource is available in step 804, the process may proceed to step 806 to assign a play resource. Thereafter, in step 807, the play resource (i.e., play buffer 1008 and associated filter 1009) may be connected to the speech path to which EKT 1400 is connected. Thereafter, in step 808, the appropriate help message may be played to the user (e.g., by first downloading the help message from hard disk 107 via microprocessor .101 to the play buffer 1008). Thereafter, in step 809, alter the help message has been played to the user, the user may be reconnected to the other party in the call. The process may end at step 810.

Referring next to FIG. 9, there is illustrated a flow diagram for implementing real-time call screening. It allows a station user to listen to calls being left in their mailbox. If desired, the user can for example lilt the handset of the extension (e.g., EKT 1400) to intercept the call at any time. The process may begin in step 901, where an incoming call has been routed to an extension and the extension has not answered the call After a configurable number of rings, the call is transferred to the extension's mailbox. Thereafter, in step 902, a determination may be made whether or not the call screening application has been enabled. Each extension may enable call screening mode by pressing key 1406 while the extension is idle. If not, system 100 may process the Incoming call normally in step 907 where the incoming call may leave a message in the station's mailbox.

However, if in step 902, call, screening has been enabled, the process may proceed to step 903 where the extension (e.g., EKT 1400) associated with the station that was called continues to ring while the mailbox plays a message to the incoming call. In step 904. the incoming caller may hear a beep, which indicates it is the proper time to leave a message. Next, in step 905, a speech path is set up to the extension (e.g., EKT 1400) that was called, so that the message can be heard on the speaker as it is being left. Thereafter, In step 906, the user is permitted to monitor the message while it is being left by the incoming call. Next, in step 908. the user may for example lift their handset. If so, in step 909, the voice mail messaging may be terminated. In step 910, the incoming call may be connected to the station user by (e.g., digital cross-point matrix 103). If in step 908 the user does not for example lift their handset, then the process may proceed to step 911 when the user presses the record/monitor key 1406 (or a similar action), the process may proceed to step 912 to turn the monitor speaker off and then in step 913 the call may proceed into voice mail in a normal fashion.

Referring next to FIG. 16, there is illustrated a flow diagram for implementing Quick Groups, which allows a user to leave or copy a voice mail message to multiple destination mailboxes by merely pressing the desired Direct Station Select (“DSS”) key or dialing the number of the extension. There may be 16 DSS keys at 1402, on each EKT 1400. These DSS keys can be programmed to provide one button access to extensions and outside lines. In step 1601, the user of the extension (e.g., EKT 1400) is listening to a voice mail message, which may be a “new” or “old ” voice mail message previously recorded into the user's mail box, or the user may be listening to the voice mail message while it is being recorded by another person into the user's mail box. Thereafter, in step 1602, a determination may be made whether or not a specified key (for example, the “6” key) has been pressed by the user. If not, a time-out operation may be implemented with step 1613. If the specified key has been pressed by the user In step 1602, the process may proceed to step 1603 to play a message to the user, which may prompt to the user to enter a destination. Thereafter, in step 1604, the system may receive a code for the entered destination, which may be a pressed DSS key or digits dialed by the user on the extension (e.g., EKT 1400).

Next, in step 1605, another message may be played to the user requesting that the user enter another destination for the voice mail message to be sent. In step 1606, a determination may be made whether or not the user has pressed another DSS key or has entered an extension. If yes, the process may return to step 1604 where the signals associated with the pressed digits or DSS key are received. However, if the user has not entered another destination, a determination may be made in step 1607, whether or not a specified key (for example, the “1” key) has been pressed by the user. If yes, in step 1608, the system may play a message to the user requesting if the user wishes to record a message to be appended to the beginning of the voice mail message sent by the user. Any message entered by the user may be recorded by a record buffer 1003, which may have been coupled to EKT 1400 by digital cross-point matrix 103. Next, in step 1610, the introductory message left by the user and the voice mail message noted in step 1601 may be copied to all mailbox destinations entered by the user in steps 1604-1606. The process may then end at step 1611.

Step 1609 implements a method by which the user can. press a specified key (for example, the “6” key) in order to copy the voice mail message noted in step 1601 to destinations entered by the user in step 1610, in the instance where the user has not decided to record an introductory message (see steps 1607-1608).

Step 1612 permits a return to step 1606 for a specified amount of time. If such a specified amount of time has passed without any buttons pressed by the user, then the process may proceed to step 1614 to tear down the call and enter an Idle state.

Referring next to FIG. 17, there is illustrated another process for implementing Quick Groups. This process enables a user to leave a new message entered by the user for recording into a number of destination mailboxes specified by the user. In step 1701, the user picks up an idle extension (e.g., EKT 1400) for the purpose of leaving a new message in a number of specified destination mailboxes. In response, in step 1702, the extension (e.g., EKT 1400) goes off hook. Thereafter, in step 1703, the user presses voice mail key 1405. Thereafter, in step 1704, the process may provide for the user to press a DSS key or digits associated with a destination extension. In step 1705, the user may press the DSS key or dial the digits associated with each extension which is to be added to the group to receive the message. In step 1706, once all the extensions to receive the message have been selected, the process may proceed to step 1707, where upon hearing the voice mail beep of the destination, the user leaves the desired message. In step 1708. the user may then hang up the extension (e.g., EKT 1400) by going on hook.

Thereafter, in step 1709, the user may copy the message to all other desired destination mailboxes. The process may then end at step 1710.

Although the present invention and its advantages have been described in detail, it should be understood that, various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the disclosed embodiments of the invention.

Claims

1. In a telecommunications system comprising a microprocessor, a first data bus connected between the microprocessor and switching circuitry, and a second data bus connected between the microprocessor and voice processing circuitry, a method comprising:

coupling, with the switching circuitry, a call to a telecommunications extension coupled to the system; and
the voice processing circuitry automatically interacting with the call when the telecommunications extension does not answer the call.

2. The method as recited in claim 1, wherein the first and second data busses share at least one data path.

3. The method as recited in claim 1, wherein the switching circuitry and the voice processing circuitry are controlled by the microprocessor.

4. The method as recited in claim 1, wherein the microprocessor is implemented in a single Integrated chip.

5. The method as recited in claim 1, wherein the voice processing circuitry couples the call to a voice mail box when the telecommunications extension does not answer the call.

6. The method as recited in claim 1, wherein the voice processing circuitry automatically interacts with the call when the telecommunications extension does not go off hook to answer the call.

7. The method as recited in claim 1, wherein the voice processing circuitry further comprises a conference bridge operable for coupling the call to one or more internal or external telecommunications devices.

8. The method as recited in claim 1, wherein the system further comprises circuitry operable for recording all or a portion of the call after the telecommunications extension is connected to the calf wherein the circuitry operable for recording operates in response to an activating signal activating tactilely initiated on the telecommunications extension.

9. The method as recited in claim 1, wherein the voice processing circuitry automatically interacting with the call further comprises:

playing a message to the call;
receiving a signal sent from the call; and
connecting the call to the telephone extension in response to the signal sent from the call.

10. In a system comprising a microprocessor, a first data bus connecting the microprocessor to switching circuitry, and a second data bus connecting the microprocessor to voice processing circuitry, a method comprising:

the switching circuitry coupling a call to an extension coupled to the system; and
the voice processing circuitry automatically interacting with the call.

11. The method as recited in claim 10, wherein the first and second data busses share at least one data path.

12. The method as recited in claim 10, wherein the switching circuitry and the voice processing circuitry are directly controlled by the microprocessor.

13. The method as recited in claim 10, wherein the microprocessor is implemented in a single integrated chip.

14. The method as recited in claim 10, wherein the voice processing circuitry automatically interacting with the call comprises coupling the call to a voice mail box when the telephone extension does not answer the call.

15. The method as recited in claim 10, wherein the extension is operable for establishing a voice channel between the extension and the call.

16. The method as recited in claim 10, further comprising coupling the call to one or more internal or external telecommunications devices.

17. The method as recited In claim 10, further comprising recording at least a portion of the call after the extension is connected to the call.

18. The method as recited in claim 17, wherein the recording of at least a portion of the call is initiated in response to an activating signal tactically initiated on the telephone extension.

19. The method as recited in claim 10, wherein the voice processing circuitry automatically interacting with the call further comprises:

playing a pre-recorded message to the call;
receiving a signal sent from the call; and
connecting the call to the extension in response to the signal sent from the call tones.

20. The method as recited in claim 10, wherein the voice processing circuitry automatically interacting with the call further comprises playing a pre-recorded message to the call when the extension does not answer the call.

Patent History
Publication number: 20140029736
Type: Application
Filed: Sep 16, 2013
Publication Date: Jan 30, 2014
Inventors: Harold E.A. Hansen, II (Plano, TX), Eric G. Suder (Plano, TX)
Application Number: 14/028,274
Classifications
Current U.S. Class: Message Management (379/88.22)
International Classification: H04M 3/533 (20060101);