Device and method of interfacing voice data between a switch and a computer system

An interface device and a method according to the invention interfaces between a user and a switch according to programming parameters.

BACKGROUND INFORMATION

The invention relates generally to devices and methods of transmitting voice data between a switch and a computer system, such as those found in telephony systems. Existing means of transmitting voice data between a switch and a computer system require a communication device that is designed to facilitate communications with one type of switch operating on a switch protocol, and one type of computer system operating on a computer system protocol. If either the switch protocol or the computer system protocol, or both, are changed, the communication device must also be changed. It is costly to purchase and install a new communication device.

DETAILED DESCRIPTION

Briefly, an embodiment of the invention comprises an interface device which includes a user voice data transmission system adapted for connection to a user such as a computer system found in telephony systems, a switch voice data transmission system adapted for connection to a switch such as a private branch exchange (“PBX”), and a programmable controller in communication with the user voice data transmission system and the switch voice data transmission system. The controller is programmable according to programming parameters to enable receipt of voice data via the user voice data transmission system and to enable sending of voice data via the switch voice data transmission system. Thus, the interface device may be programmed to accommodate a user operating on one protocol, and if the user is replaced with another user operating on a different protocol, the interface device need not be replaced but simply reprogrammed.

FIGS. 1 and 2show an interface device10in accordance with one embodiment of the invention. The interface device10may have a user voice data transmission system13and a switch voice data transmission system16. When in use, the user voice data transmission system13may be capable of reading and storing voice data provided by a user (herein referred to as “user voice data”), and may be capable of providing the user voice data to a switch19, such as a private branch exchange (“PBX”). The switch voice data transmission system16may be capable of reading and storing voice data from the switch19(herein referred to as “switch voice data”), and providing the switch voice data to the user. The user may be a computer system, such as those found in telephony systems. For example, the user may be a voice processing device on a localized time division multiplexed (“TDM”) interface, such as a voice bus resource card.

FIG. 2shows the interface device10in more detail. The user voice data transmission system13may be in the form of a user data storage device22that may be capable of storing user voice data provided by the user, and that may be capable of providing that user voice data to the switch19at the proper time. The user data storage device22may include a receiving storage device25and a sending storage device28. The receiving storage device25may be capable of storing the user voice data until the sending storage device28is ready to accept the user voice data stored in the receiving storage device25. The sending storage device may be capable of storing the user voice data from the receiving storage device25until the switch19is ready to accept the user voice data stored in the sending storage device28.

The receiving storage device25may include a serial-parallel register31, an intermediate register34having a receiving port37in communication with the serial-parallel register31, and a sending port40in communication with the sending storage device28. The sending storage device28may include a parallel-serial register, and the intermediate register34may include a parallel-parallel register.

The switch voice data transmission system16may be in the form of a switch data storage device43that is capable of storing switch voice data provided by the switch19and providing that switch voice data to the user at the proper time. The switch data storage device43may include a receiving storage device46and a sending storage device49. The receiving storage device46may be capable of storing the switch voice data until the sending storage device49is ready to accept switch voice data stored in the receiving storage device46. The sending storage device49may be capable of storing the switch voice data from the receiving storage device46until the user is ready to accept the switch voice data stored in the sending storage device49. The sending storage device49may include a parallel-serial register.

The receiving storage device46may include an intake register52and an intermediate register55. The intermediate register55may have a receiving port58in communication with the intake register52and has a sending port61in communication with the sending storage device49. The intermediate register55may include a parallel-parallel register, and the intake register52may include a serial-parallel register.

Referring toFIG. 1, the interface device10may also include a programmable controller64in communication with the user voice data transmission system13, and in communication with the switch voice data transmission system16. The controller64may be programmable according to programming parameters. The programming parameters may be provided by an application developer via a control logic interface67using, for example, a personal computer to view a display provided by the control logic interface67. The programming parameters may include a clock polarity, a polarity of a frame synchronization signal, a clock signal rate, and a frame synchronization signal location. The programming parameters may also include a source of a clock signal and a source of a frame synchronization signal. By knowing information about the type of user to be connected to the interface device10, the application developer can program the interface device10so that user voice data is properly read by the user voice data transmission system13, and so that the switch voice data is properly provided to the user by the switch voice data transmission system16.

For example, in known TDM systems the polarity of the frame synchronization signal may be inverted or non-inverted, and so the interface device10may be programmed to accommodate both types of systems. Other variations between known TDM systems, such as the clock signal rate, the clock polarity (the time, relative to a rising edge or a falling edge of the clock signal, when data is sampled) and the frame synchronization signal location (relative to the start of a frame) may be programmed into the interface device10. For example, the interface device10may be programmed to accommodate a clock signal rate of 4.096 MHz, 2.048 MHz or 8.192 MHz. For any particular clock signal rate, existing TDM systems have a standard number of time slots and the location of the time slots containing voice data is also standard. Therefore, when the user is a TDM system, by programming the clock signal rate the controller is also programmed for the number of time slots per frame, and is also programmed for which time slots may contain voice data. To accommodate users that do not operate on the existing TDM system formats, the number of time slots per frame and the time slots within a frame that may contain voice data may be included among the programming parameters.

The interface device10may be programmed to accommodate a frame synchronization signal location that straddles a frame boundary, occurs during the last bit time of a previous frame, occurs during a first bit time of a frame, or envelopes a voice data slot. The source of the clock signal may be programmed to be the interface device10or the user. The source of the frame synchronization signal may also be programmed to be the interface device10or the user.

Once programmed with the programming parameters, the controller64may be capable of (a) instructing the user voice data transmission system13to read the user voice data according to the programming parameters, (b) instructing the user data storage device22to store the user voice data, and (c) instructing the user data storage device22to provide the stored user voice data to the switch19. The programmed controller64may also be capable of (a) instructing the switch voice data transmission system16to read the switch voice data according to the programming parameters, (b) instructing the switch data storage device43to store the switch voice data, and (c) instructing the switch data storage device43to provide the stored switch voice data to the user in a format according to the programming parameters.

As shown inFIG. 2, the interface device10may further include a bit clock70that is capable of providing a clock signal to the user at the programmed clock signal rate. When the interface device10is provided with the bit clock70, the programming parameters may include a clock signal source programming parameter to specify whether the clock signal is provided by the bit clock70of the interface device10or by the user. To accommodate users that provide the clock signal, the interface device may include a clock signal port73for receiving a clock signal from the user. The clock signal port73may also be used to provide the clock signal to the user.

The clock signal (regardless of its source) may be used by the controller64to control the user voice data transmission system13and the switch voice data transmission system16. For example, the controller64may be capable of instructing the user voice data transmission system13to read and shift data into the user data storage device22on a rising edge or a falling edge of the clock signal. An additional programming parameter may be provided to allow an application developer to specify whether the controller64should instruct user voice data to be read and shifted into the user data storage device22on a rising edge or a falling edge of the clock signal. Furthermore, the controller64may be capable of being programmed to instruct the switch voice data transmission system16to shift data out of the switch data storage device43to the user on a falling edge or a rising edge of the clock signal. An additional programming parameter may be provided to allow the application developer to specify whether the controller64should instruct user voice data to be shifted out of the switch data storage device43on a falling edge or a rising edge of the clock signal.

In one embodiment of the invention, a programming parameter referred to herein as the “clock polarity” may be used to program the controller64to shift data into (from the user) and out of (to the user) the voice data transmission systems13,16. In this embodiment, when the controller64is programmed such that the clock polarity is programmed as a “non-inverted” state, user voice data is shifted into the user data storage device22on a rising edge of the clock signal, and switch voice data is shifted out of the switch data storage device43on a falling edge of the clock signal. However, when the controller64is programmed such that the clock polarity is programmed as an “inverted” state, user voice data is shifted into the user data storage device22on a falling edge of the clock signal, and switch voice data is shifted out of the switch data storage device43on a rising edge of the clock signal.

The interface device10may further include a frame synchronization signal generator76that may be capable of providing a frame synchronization signal to the user. When the interface device10is provided with the frame synchronization signal generator76, the programming parameters may include the option to specify the source of the frame synchronization signal. For example, the frame synchronization signal source may be programmed to be the interface device10or the user. To accommodate users that provide the frame synchronization signal, the interface device10may include a frame synchronization signal port78for receiving the frame synchronization signal from the user. The frame synchronization signal port78may also be used to provide the frame synchronization signal to the user. The controller64may be capable of using the frame synchronization signal (regardless of the source of the signal) to control the user voice data transmission system13and the switch voice data transmission system16to indicate the location of the start of a frame, and thereby, the slot within the frame that corresponds to the voice data.

The interface device10may further include a network common frame synchronization signal generator79and a frame reference signal port82. The network common frame synchronization signal generator79may be capable of providing to the user a network common frame synchronization signal that is oscillating at a rate substantially equal to an oscillation rate of a frame reference signal provided at the frame reference signal port82. However, when no frame reference signal is provided at the frame reference signal port82, an internal clock85of the interface device10may be used to provide the oscillation rate to the network common frame synchronization signal generator79.

In an embodiment of the invention, the interface device may have a frame synchronization signal generator76, a network common frame synchronization signal generator79, a frame reference signal port82and an internal clock85. The programming parameters may include a source of the frame synchronization signal. In this embodiment, when the source of the frame synchronization signal is programmed to be the interface device10, then (a) if a frame reference signal is provided at the frame reference signal port82, the interface device10may provide the network common frame synchronization signal to the user with an oscillation rate that is substantially equal to an oscillation rate of the frame reference signal, and (b) if no frame reference signal is provided at the frame reference signal port82, the interface device10may provide the network common frame synchronization signal to the user with an oscillation rate that is substantially equal to an oscillation rate of the internal clock85.

In an embodiment of the invention, when the source of the frame synchronization signal is programmed to be the user, synchronization of the frame synchronization signal to the network common frame synchronization signal may be the task of the user. However, when the source of the frame synchronization signal is programmed to be the interface device10, the controller64may be responsible for synchronizing the frame synchronization signal to the network common frame synchronization signal. Therefore, the interface device10may be provided with circuitry capable of accomplishing this synchronization.

FIGS. 3A and 3Billustrate a method of interfacing according to the invention. The method may include providing an interface device100having a user voice data transmission system, a switch voice data transmission system and a programmable controller in communication with the transmission systems. Those are the components designated13,16and64inFIGS. 1 and 2. A user may be connected103to the user voice data transmission system, and a switch may be connected106to the switch voice data transmission system. The controller may be programmed109by setting programming parameters specified by the user. The programming parameters may include a polarity of a frame synchronization signal, a clock signal rate, a frame synchronization signal location, a polarity of a clock signal, a source of a clock signal, a source of a frame synchronization signal, and time slots within the frame that may contain voice data. The number of time slots per frame may be thought of as a programming parameter, however, in existing systems the number of time slots per frame is dictated by the clock rate.

Voice data from the user may be provided112to the user voice data transmission system, and read115according to the programming parameters. The read voice data may be stored118in the user voice data transmission system. Then the stored voice data may be provided121to the switch.

The method may include synchronization of a frame synchronization signal to a network common frame synchronization signal. For example, the programming parameter corresponding to the source of a frame synchronization signal may be set as the interface device. The frame synchronization signal may be provided, and synchronized to the network common frame synchronization signal, for example, by the controller.

The method may also include providing124voice data from the switch to the switch voice data transmission system, reading127the voice data from the switch and storing130the voice data from the switch in the switch voice data transmission system. Then stored voice data from the switch is provided133to the user according to the programming parameters.

It may be appreciated that the invention provides a programmable device for and method of interfacing between a user, such as a TDM interface of a computer system, and a switch, such as a PBX. For example, an interface device according to the invention may be programmed to accommodate a first user operating on one protocol, and if the first user is replaced with a second user operating on another protocol, then the interface device need not be replaced: The interface device only needs to be reprogrammed.

Although the invention has been described with respect to one or more particular embodiments, it will be understood that other embodiments of the invention may be made without departing from the spirit and scope of the invention.