US8693646B2 - Packet based network exchange with rate synchronization - Google Patents
Packet based network exchange with rate synchronization Download PDFInfo
- Publication number
- US8693646B2 US8693646B2 US10/858,252 US85825204A US8693646B2 US 8693646 B2 US8693646 B2 US 8693646B2 US 85825204 A US85825204 A US 85825204A US 8693646 B2 US8693646 B2 US 8693646B2
- Authority
- US
- United States
- Prior art keywords
- data rate
- data
- voice
- modem
- network
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M11/00—Telephonic communication systems specially adapted for combination with other electrical systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/20—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
- H04B3/23—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/20—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
- H04B3/23—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
- H04B3/234—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers using double talk detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2801—Broadband local area networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1023—Media gateways
- H04L65/1026—Media gateways at the edge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1033—Signalling gateways
- H04L65/1036—Signalling gateways at the edge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/12—Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
- H04M7/1205—Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
- H04M7/125—Details of gateway equipment
Definitions
- the present invention relates generally to telecommunications systems, and more particularly, to a system for interfacing telephony devices with packet based networks.
- Telephony devices such as telephones, analog fax machines, and data modems, have traditionally utilized circuit switched networks to communicate. With the current state of technology, it is desirable for telephony devices to communicate over the Internet, or other packet based networks.
- an integrated system for interfacing various telephony devices over packet based networks has been difficult due to the different modulation schemes of the telephony devices. Accordingly, it would be advantageous to have an efficient and robust integrated system for the exchange of voice, fax data and modem data between telephony devices and packet based networks.
- a method of transmitting data includes negotiating a data rate between a rate negotiator and a first telephony device, and renegotiating the negotiated data rate between the rate negotiator and a system having a second telephony device to allow data transmission between the first and second telephony devices.
- a method of establishing a data rate includes initializing a data rate, receiving a data rate from a first telephony device, setting a negotiated data rate based on the initial date rate and the data rate for the first telephony device, receiving a data rate from a system, and setting a renegotiated data rate based on the negotiated data rate and the system data rate.
- a method of negotiating synchronizing a data rate includes exchanging data rates between a first data exchange and a first telephony device, negotiating a first data rate based on the exchanged data rates between the first data exchange and the first telephony device, exchanging data rates between a second data exchange and a second telephony device, negotiating a second data rate based on the exchanged rates between the second data exchange and the second telephony device, exchanging the first and the second data rates over a packet based network, and negotiating a third data rate based on the exchanged first and second data rates.
- a data exchange includes a rate negotiator capable of negotiating a data rate with a first telephony device, and renegotiating the negotiated data rate with a system comprising a second telephony device to allow data transmission between the first and second telephony devices.
- a signal transmission system includes a first telephony device having a data rate, a first data exchange having a data rate, a first rate negotiator which exchanges the data rates between the first data exchange and the first telephony device and negotiates a first data rate based on the exchanged data rates between the first data exchange and the first telephony device.
- a second telephony device having a data rate, a second data exchange having a data rate, and a second rate negotiator which exchanges the data rates between the second data exchange and the second telephony device and negotiates a second data rate based on the exchanged data rates between the second data exchange and the second telephony device, wherein the first and the second rate negotiators cooperate to exchange the first and the second data rates and negotiate a third data rate based on the exchanged first and second data rates.
- a packet based network coupling the first data exchange to the second data exchange.
- a computer-readable media embodying a program of instructions executable by a computer performs a method of transmitting data, the method including negotiating a data rate between a rate negotiator and a first telephony device, and renegotiating the negotiated data rate between the rate negotiator and a system having a second telephony device to allow data transmission between the first and second telephony devices.
- a computer-readable media embodying a program of instructions executable by a computer performs a method of synchronizing a data rate, the method including initializing a data rate, receiving a data rate from a first telephony device, setting a negotiated data rate based on the initial date rate and the data rate for the first telephony device, receiving a data rate from a system, and setting a renegotiated data rate based on the negotiated data rate and the system data rate.
- a data exchange includes negotiating means for negotiating a data rate with a first telephony device, and renegotiating means for renegotiating the negotiated data rate with a system comprising a second telephony device to allow data transmission between the first and second telephony devices.
- FIG. 1 is a block diagram of packet based infrastructure providing a communication medium with a number of telephony devices in accordance with a preferred embodiment of the present invention
- FIG. 2 is a block diagram of a signal processing system implemented with a programmable digital signal processor (DSP) software architecture in accordance with a preferred embodiment of the present invention
- DSP digital signal processor
- FIG. 3 is a block diagram of the software architecture operating on the DSP platform of FIG. 2 in accordance with a preferred embodiment of the present invention
- FIG. 4 is state machine diagram of the operational modes of a virtual device driver for packet based network applications in accordance with a preferred embodiment of the present invention
- FIG. 5 is a block diagram of several signal processing systems in the voice mode for interfacing a number of telephony devices with a packet based network in accordance with a preferred embodiment of the present invention
- FIG. 6 is a system block diagram of a signal processing system operating in a voice mode in accordance with a preferred embodiment of the present invention
- FIG. 7 is a block diagram of a method for obtaining voice parameters for future frame loss conditions in accordance with a preferred embodiment of the present invention.
- FIG. 8 is a block diagram of a method for generating estimates of lost speech frames in accordance with a preferred embodiment of the present invention.
- FIG. 9 is a block diagram of several signal processing systems in the fax relay mode for interfacing a number of telephony devices with a packet based network in accordance with a preferred embodiment of the present invention.
- FIG. 10 is a system block diagram of a signal processing system operating in a real time fax relay mode in accordance with a preferred embodiment of the present invention.
- FIG. 11 is a diagram of the message flow for a fax relay in non error control mode in accordance with a preferred embodiment of the present invention.
- FIG. 12 is a block diagram of several signal processing systems in the modem relay mode for interfacing a number of telephony devices with a packet based network in accordance with a preferred embodiment of the present invention
- FIG. 13 is a system block diagram of a signal processing system operating in a modem relay mode in accordance with a preferred embodiment of the present invention
- FIG. 14 is a diagram of a relay sequence for V.32bis rate synchronization using rate re-negotiation in accordance with a preferred embodiment of the present invention.
- FIG. 15 is a diagram of an alternate relay sequence for V.32bis rate synchronization whereby rate signals are used to align the connection rates at the two ends of the network without rate re-negotiation in accordance with a preferred embodiment of the present invention.
- a signal processing system is employed to interface telephony devices with packet based networks.
- Telephony devices include, by way of example, analog and digital phones, ethernet phones, Internet Protocol phones, fax machines, data modems, cable modems, interactive voice response systems, PBXs, key systems, and any other conventional telephony devices known in the art.
- the described preferred embodiment of the signal processing system can be implemented with a variety of technologies including, by way of example, embedded communications software that enables transmission of voice, fax and modem over packet based networks.
- the embedded communications software is preferably run on programmable digital signal processors (DSPs) and is used in gateways, cable modems, remote access servers, PBXs, and other packet based network appliances.
- DSPs programmable digital signal processors
- FIG. 1 An exemplary topology is shown in FIG. 1 with a packet based network 10 providing a communication medium between various telephony devices.
- Each network gateway 12 a , 12 b , 12 c includes a signal processing system which provides an interface between the packet based network 10 and a number of telephony devices.
- each network gateway 12 a , 12 b , 12 c supports a fax machine 14 a , 14 b , 14 c , a telephone 13 a , 13 b , 13 c , and a modem 15 a , 15 b, 15 c .
- Two of the network gateways 12 a , 12 b provide a direct interface between their respective telephony devices and the packet based network 10 .
- the other network gateway 12 c is connected to its respective telephony device through a public switched telephone network (PSTN) 16 .
- PSTN public switched telephone network
- the network gateways 12 a , 12 b , 12 c permit voice, fax and modem data to be carried over packet based networks such as internet protocol (IP), frame relay (FR), asynchronous transfer mode (ATM), or any other packet based system.
- IP internet protocol
- FR frame relay
- ATM asynchronous transfer mode
- the signal processing system can be implemented with a programmable DSP software architecture as shown in FIG. 2 .
- This architecture has a DSP 17 with memory 18 at the core, a number of network channel interfaces 19 and telephony interfaces 20 , and a host 21 that may reside in the DSP itself or on a separate microcontroller.
- the network channel interfaces 19 provide multi-channel access to the packet based network.
- the telephony interfaces 23 can be connected to a circuit switched network, such as a PSTN line, or directly to any telephony device.
- the embedded communications software binds all core DSP algorithms together, interfaces the hardware to the host 21 , and provides low level services such as resource arbitration and task management.
- An exemplary software architecture operating on a DSP platform is shown in FIG. 3 .
- a user application layer 26 provides overall executive control and system management, and directly interfaces a DSP server 25 to the host 21 (see to FIG. 2 ).
- the DSP server 25 provides DSP resource management and telecommunications signal processing.
- the DSP server 25 communicates with external telephony devices (not shown) and the underlying DSP 17 (see FIG. 2 ) via physical devices (PXD) 30 a , 30 b , 30 c and a hardware abstraction layer (HAL) 34 .
- PXD physical devices
- HAL hardware abstraction layer
- the DSP server 25 includes a resource manager 24 which receives commands from, forwards events to, and exchanges data with the user application layer 26 .
- the user application layer 26 can either be resident on the DSP 17 or alternatively on the host 21 (see FIG. 2 ), such as a microcontroller.
- An application programming interface 27 provides a software interface between the user application layer 26 and the resource manager 24 .
- the resource manager 24 manages the internal/external program and data memory of the DSP 17 . In addition the resource manager dynamically allocates DSP resources, performs command routing as well as other general purpose functions.
- the DSP server 25 also includes virtual device drivers (VHDs) 22 a , 22 b , 22 c .
- the VHDs are a collection of software algorithms that control the operation of and provide the facility for real time signal processing.
- Each VHD 22 a , 22 b , 22 c includes an inbound and outbound media queue (not shown) and a library of signal processing services specific to that VHD 22 a , 22 b , 22 c .
- each VHD 22 a , 22 b , 22 c is a complete self-contained software module for processing a single channel of voice, fax and modem. Multiple channel capability can be achieved by adding VHDs to the DSP server 25 .
- the resource manager 24 dynamically controls the creation and deletion of VHDs and services.
- a switchboard 32 in the DSP server 25 dynamically inter-connects the PXDs 30 a , 30 b , 30 c with the VHDs 22 a , 22 b , 22 c providing multi-channel operation.
- Each PXD 30 a , 30 b , 30 c is a collection of software algorithms which provide signal conditioning for one external telephony device.
- a PXD may provide volume and gain control for telephony signals from its respective telephony device prior to communication with the switchboard 32 .
- Voice, fax and modem functionalities can be supported on a single channel by connecting three PXDs, one for each telephony device, to a single VHD via the switchboard 32 .
- Connections within the switchboard 32 are managed by the user application layer 26 via a set of API commands to the resource manager 24 .
- the number of PXDs and VHDs is expandable, and limited only by the memory size and the MIPS (millions instructions per second) of the underlying hardware.
- a hardware abstraction layer (HAL) 34 exchanges telephony signals with the external telephony devices, and interfaces directly with the underlying DSP 17 hardware (see FIG. 2 ).
- the HAL 34 includes basic hardware interface routines, including DSP initialization, target hardware control, codec sampling, and hardware control interface routines.
- the DSP initialization routine is invoked by the user application layer 26 to initiate the initialization of the signal processing system.
- the DSP initialization sets up the internal registers of the signal processing system for memory organization, interrupt handling, timer initialization, and DSP configuration.
- Target hardware initialization involves the initialization of all hardware devices and circuits external to the signal processing system.
- the HAL 34 is a physical firmware layer that isolates the communications software from the underlying hardware. This methodology allows the communications software to be ported to various hardware platforms by porting only the affected portions of the HAL 34 to the target hardware.
- the user application layer 26 creates, opens, issues commands to, and processes events from the VHDs 22 a , 22 b , 22 c via API commands to the resource manager 24 .
- each VHD 22 a , 22 b , 22 c may invoke certain services which perform signal processing algorithms on telephony signals via the PXDs 30 a , 30 b , 30 c .
- a VHD 22 a will be automatically opened by the resource manager 24 to handle the call.
- the VHD 22 a will then communicate to the user application layer 26 that a call is coming in.
- the user application layer 26 will respond to this information by opening a new VHD 22 b , invoking the appropriate services, and commanding the switchboard 32 to route the incoming call between the appropriate PXD 30 b and the VHD 22 b .
- An executive 28 schedules the execution of the VHDs 22 a , 22 b , 22 c and their associated services according to assigned priorities, and controls the multi-tasking function of the services for each VHD 22 a , 22 b , 22 c .
- the executive 28 also communicates in real time the instruction cycle consumption of each VHD 22 a , 22 b , 22 c and services to resource manager 24 .
- the resource manager 24 may reallocate DSP resources as a result.
- an exemplary network VHD includes three operational modes, namely voice mode 36 , fax relay mode 40 , and modem relay mode 42 .
- FIG. 4 shows the various services that are running in each operational mode.
- voice mode 36 call discrimination 44 , packet voice exchange 48 , and packet tone exchange 50 are running.
- packet fax data exchange 52 is running.
- modem relay mode 42 packet data modem exchange 54 is running.
- the network VHD controls each of the services including instantiation and removal.
- the network VHD is open and initialized to the voice mode 36 of operation by the user application layer 26 (see FIG. 3 ) via API commands to the resource manager 24 (see FIG. 3 ).
- the call discriminator 44 is responsible for differentiating between a voice and machine call by detecting the presence of a 2100 Hz. tone (as in the case when the telephony device is a fax or a modem), a 1100 Hz. tone or V.21 channel two modulated high level data link control (HDLC) flags (as in the case when the telephony device is a fax). If a 1100 Hz. tone, or V.21 modulated HDLC flags are detected, a calling fax machine is recognized. The network VHD then terminates the voice mode 36 and invokes the packet fax data exchange service 52 to process the call. If however, 2100 Hz tone is detected, the network VHD terminates voice mode 36 and invokes the packet data modem exchange service 54 .
- a 2100 Hz. tone as in the case
- the packet data modem exchange service 54 further differentiates between a fax and modem by analyzing the incoming signal to determine whether V.21 modulated HDLC flags are present indicating that a fax connection is in progress. If HDLC flags are detected, the network VHD terminates packet data modem exchange service 54 and initiates packet fax data exchange service 52 . Otherwise, the packet data modem exchange service 54 remains operative. In the absence of an 1100 or 2100 Hz. tone, or V.21 modulated HDLC flags the voice mode 36 remains operative.
- Voice mode provides signal processing of voice signals. As shown in the exemplary embodiment depicted in FIG. 5 , voice mode enables the transmission of voice over a packet based system such as Voice over IP (VoIP, H.323), Voice over Frame Relay (VoFR, FRF-11), Voice Telephony over ATM (VTOA), or any other proprietary network.
- VoIP Voice over IP
- VoIPFR Voice over Frame Relay
- VTOA Voice Telephony over ATM
- the voice mode should also permit voice to be carried over traditional media such as time division multiplex (TDM) networks and voice storage and playback systems.
- Network gateway 55 a supports the exchange of voice between a traditional circuit switched 58 and a packet based network 56 .
- network gateways 55 b , 55 c , 55 d , 55 e support the exchange of voice between the packet based network 56 and a number of telephones 57 a , 57 b , 57 c , 57 d , 57 e .
- the described exemplary embodiment is shown for telephone communications across the packet based network, it will be appreciated by those skilled in the art that other telephony devices could be used in place of one or more of the telephones.
- the PXDs for the voice mode provide echo cancellation, gain, and automatic gain control.
- the network VHD invokes numerous services in the voice mode including call discrimination, packet voice exchange, and packet tone exchange. These network VHD services operate together to provide: (1) an encoder system with DTMF detection, voice activity detection, voice compression, and comfort noise estimation, and (2) a decoder system with delay compensation, voice decoding, DTMF generation, comfort noise generation and lost frame recovery.
- the PXD 60 provides two way communication with a telephone or a circuit switched network, such as a PSTN line carrying a 64 kb/s pulse code modulated (PCM) signal, i.e., digital voice samples.
- PCM pulse code modulated
- the incoming PCM signal 60 a is initially processed by the PXD 60 to remove far end echoes.
- echoes in telephone systems is the return of the talker's voice resulting from the operation of the hybrid with its two-four wire conversion. If there is low end-to-end delay, echo from the far end is equivalent to side-tone (echo from the near-end), and therefore, not a problem. Side-tone gives users feedback as to how loud they are talking, and indeed, without side-tone, users tend to talk too loud.
- far end echo delays of more than about 10 to 30 msec significantly degrade the voice quality and is a major annoyance to the user.
- An echo canceller 70 is used to remove echoes from far end speech present on the incoming PCM signal 60 a before routing the incoming PCM signal 60 a back to the far end user.
- the echo canceller 70 samples an outgoing PCM signal 60 b from the far end user, filters it, and combines it with the incoming PCM signal 60 a .
- the echo canceller 70 is followed by a non-linear processor (NLP) 72 which may mute the digital voice samples when far end speech is detected in the absence of near end speech.
- NLP non-linear processor
- the echo canceller 70 may also inject comfort noise which may be roughly at the same level as the true background noise or at a fixed level.
- the power level of the digital voice samples is normalized by an automatic gain control (AGC) 74 to ensure that the conversation is of an acceptable loudness.
- AGC automatic gain control
- the AGC can be performed before the echo canceller 70 , however, this approach would entail a more complex design because the gain would also have to be applied to the sampled outgoing PCM signal 60 b .
- the AGC 74 is designed to adapt slowly, although it should adapt fairly quickly if overflow or clipping is detected. The AGC adaptation should be held fixed if the NLP 72 is activated.
- the digital voice samples are placed in the media queue 66 in the network VHD 62 via the switchboard 32 ′.
- the network VHD 62 invokes three services, namely call discrimination, packet voice exchange, and packet tone exchange.
- the call discriminator 68 analyzes the digital voice samples from the media queue to determine whether a 2100, a 1100 Hz. tone or V.21 modulated HDLC flags are present. As described above with reference to FIG. 4 , if either tone or HDLC flags are detected, the voice mode services are terminated and the appropriate service for fax or modem operation is initiated. In the absence of a 2100, a 1100 Hz.
- the digital voice samples are coupled to the encoder system which includes a voice encoder 82 , a voice activity detector (VAD) 80 , a comfort noise estimator 81 , a DTMF detector 76 , and a packetization engine 78 .
- VAD voice activity detector
- Typical telephone conversations have as much as sixty percent silence or inactive content. Therefore, high bandwidth gains can be realized if digital voice samples are suppressed during these periods.
- a VAD 80 operating under the packet voice exchange service, is used to accomplish this function. The VAD 80 attempts to detect digital voice samples that do not contain active speech. If the comfort noise estimator 81 can accurately regenerate parameters for the digital voice samples without speech, silence identifier (SID) packets will be coupled to a packetization engine 78 . The SID packets contain voice parameters that allow the reconstruction of the background noise at the far end.
- SID silence identifier
- the VAD 80 may be sensitive to the change in the NLP 72 .
- the VAD 80 may immediately declare that voice is inactive. In that instance, the VAD 80 may have problems tracking the true background noise level. If the echo canceller 72 generates comfort noise, it may have a different spectral characteristic from the true background noise.
- the VAD 80 may detect a change in noise character when the NLP 72 is activated (or deactivated) and declare the comfort noise as active speech. For these reasons, the VAD 80 should be disabled when the NLP 72 is activated. This is accomplished by a “NLP on” message 72 a passed from the NLP 72 to the VAD 80 .
- the voice encoder 82 operating under the packet voice exchange service, can be a straight 16 bit PCM encoder or any voice encoder which support one or more of the standards promulgated by ITU.
- the encoded digital voice samples are formatted into a voice packet (or packets) by the packetization engine 78 . These voice packets are formatted according to an applications protocol and outputted to the host (not shown).
- the voice encoder 82 is invoked only when digital voice samples with speech are detected by the VAD 80 . Since the packetization interval may be a multiple of an encoding interval, both the VAD 80 and the packetization engine 78 should cooperate to decide whether or not the voice encoder 82 is invoked.
- the packetization interval is 10 msec and the encoder interval is 5 msec (a frame of digital voice samples is 5 ms)
- a frame containing active speech will cause the subsequent frame to be placed in the 10 ms packet regardless of the VAD state during that subsequent frame.
- This interaction can be accomplished by the VAD 80 passing an “active” flag 80 a to the packetization engine 78 , and the packetization engine 78 controlling whether or not the voice encoder 82 is invoked.
- the VAD 80 is applied after the AGC 74 .
- This approach provides optimal flexibility because both the VAD 80 and the voice encoder 82 are integrated into some speech compression schemes such as those promulgated in ITU Recommendations G.729 with Annex B VAD (March 1996)—Coding of Speech at 8 kbits/s Using Conjugate-Structure Algebraic-Code-Exited Linear Prediction (CS-ACELP), and G.723.1 with Annex A VAD (March 1996)—Dual Rate Coder for Multimedia Communications Transmitting at 5.3 and 6.3 kbit/s, the contents of which is hereby incorporated by reference as through set forth in full herein.
- a DTMF detector 76 determines whether or not there is a DTMF signal present at the near end.
- the DTMF detector 76 also provides a pre-detection flag 76 a which indicates whether or not it is likely that the digital voice sample might be a portion of a DTMF signal. If so, the pre-detection flag 76 a is relayed to the packetization engine 78 instructing it to begin holding voice packets. If the DTMF detector 76 ultimately detects a DTMF signal, the voice packets are discarded, and the DTMF signal is coupled to the packetization engine 78 . Otherwise the voice packets are ultimately released from the packetization engine 78 to the host (not shown).
- the benefit of this method is that there is only a temporary impact on voice packet delay when a DTMF signal is pre-detected in error, and not a constant buffering delay. Whether voice packets are held while the pre-detection flag 76 a is active could be adaptively controlled by the user application layer.
- the decoding system of the network VHD 62 essentially performs the inverse operation of the encoding system.
- the decoding system of the network VHD 62 comprises a depacketizing engine 84 , a voice queue 86 , a DTMF queue 88 , a voice synchronizer 90 , a DTMF synchronizer 102 , a voice decoder 96 , a VAD 98 , a comfort noise estimator 100 , a comfort noise generator 92 , a lost packet recovery engine 94 , and a tone generator 104 .
- the depacketizing engine 84 identifies the type of packets received from the host (i.e., voice packet, DTMF packet, SID packet), transforms them into frames which is protocol independent, transfers the voice frames (or voice parameters in the case of SID packets) into the voice queue 86 , and transfers the DTMF frames into the DTMF queue 88 . In this manner, the remaining tasks are, by and large, protocol independent.
- a jitter buffer 87 is utilized to compensate for network impairments such as delay jitter caused by packets not arriving at the same time or in the same order in which they were transmitted. In addition, the jitter buffer 87 compensates for lost packets that occur on occasion when the network is heavily congested.
- the jitter buffer 87 includes a voice synchronizer 90 that operates in conjunction with a voice queue 86 to provide an isochronous stream of voice frames to the voice decoder 96 .
- Sequence numbers embedded into the voice packets at the far end can be used to detect lost packets, packets arriving out of order, and short silence periods.
- the voice synchronizer 90 can analyze the sequence numbers, enabling the comfort noise generator 92 during short silence periods and performing voice frame repeats via the lost packet recovery engine 94 when voice packets are lost. SID packets can also be used as an indicator of silent periods causing the voice synchronizer 90 to enable the comfort noise generator 92 . Otherwise, during far end active speech, the voice synchronizer 90 couples voice frames from the voice queue 86 in an isochronous stream to the voice decoder 96 .
- the voice decoder 96 decodes the voice frames into digital voice samples suitable for transmission on a circuit switched network, such as a 64 kb/s PCM signal for a PSTN line.
- the output of the voice decoder 96 (or the comfort noise generator 92 or lost packet recovery engine 94 if enabled) is written into a media queue 106 for transmission to the PXD 60 .
- the comfort noise generator 92 provides background noise to the near end user during silent periods.
- the background noise is reconstructed by the comfort noise generator 92 from the voice parameters in the SID packets from the voice queue 86 .
- the comfort noise generator 92 should not be dependent upon SID packets from the far end for proper operation.
- the voice parameters of the background noise at the far end can be determined by running the VAD 98 at the voice decoder 96 in series with a comfort noise estimator 100 .
- the comfort noise estimator 81 should transmit SID packets.
- the SID packets are optional, and other far end users may not support SID packets at all.
- the voice synchronizer 90 must continue to operate properly.
- the voice synchronizer 90 can invoke a number of mechanisms to compensate for delay jitter in these systems if sequence numbers are not embedded in the voice packet. For example, the voice synchronizer 90 can assume that the voice queue 86 is in an underflow condition due to excess jitter and perform packet repeats by enabling the lost frame recovery engine 94 .
- the VAD 98 at the voice decoder 96 can be used to estimate whether or not the underflow of the voice queue 86 was due to the onset of a silence period or due to packet loss.
- the spectrum and/or the energy of the digital voice signals can be estimated and the result 98 a fed back to the voice synchronizer 90 .
- the voice synchronizer 90 can then invoke the lost packet recovery engine 94 during voice packet losses and the comfort noise generator 92 during silent periods.
- DTMF packets When DTMF packets arrive, they are depacketized by the depacketizing engine 84 . DTMF frames at the output of the depacketizing engine 84 are written into the DTMF queue.
- the DTMF synchronizer 102 couples the DTMF frames from the DTMF queue 88 to the tone generator 104 . Much like the voice synchronizer, the DTMF synchronizer 102 is employed to provide an isochronous stream of DTMF frames to the tone generator 104 .
- voice frames should be suppressed. To some extent, this is protocol dependent. However, the capability to flush the voice queue 86 to ensure that the voice frames do not interfere with DTMF generation is desirable.
- old voice frames which may be queued are discarded when DTMF packets arrive. This will ensure that there is a significant inter-digit gap before DTMF tones are generated. This is achieved by a “tone present” message 88 a passed between the DTMF queue and the voice synchronizer 90 .
- the tone generator 104 converts the DTMF signals into a DTMF tone suitable for a standard digital or analog telephone.
- the tone generator 104 overwrites the media queue 106 to prevent leakage through the voice path and to ensure that the DTMF tones are not too noisy.
- DTMF tone may be fed back as an echo into the DTMF detector 76 .
- the DTMF detector 76 can be disabled entirely (or disabled only for the digit being generated) during DTMF tone generation. This is achieved by a “tone on” message 104 a passed between the tone generator 104 and the DTMF detector 76 .
- the NLP 72 can be activated while generating DTMF tones.
- the outgoing PCM signal in the media queue 106 is coupled to the PXD 60 via the switchboard 32 ′.
- the outgoing PCM signal is coupled to an amplifier 108 before being outputted on the PCM output line 60 b.
- the echo canceller can be an adaptive filter which tries to model the transfer characteristics of the hybrid and the tail circuit of the telephone circuit.
- the tail length supported should be at least 16 msec.
- the adaptive filter can be a linear transversal filter or any other suitable filter. With the linear transversal filter, the echo canceller may be unable to cancel all of the resulting echo due to the non-linearities in the hybrid and tail circuit.
- the NLP is used to suppress the remaining echo during periods of far end active speech with no near end speech.
- the NLP can be implemented with a suppressor that suppresses down to the background noise level, or suppresses completely and inserts comfort noise with the spectrum which models the true background noise.
- the echo canceller is compatible with one or more of the following ITU Recommendations G.164 (1988)—Echo Suppressors, G.165 (March 1993)—Echo Cancellers, and G.168 (April 1997)—Digital Network Echo Cancellers, the contents of which are incorporated herein by reference as though set forth in full.
- the AGC can be either fully adaptive or have a fixed gain.
- the AGC supports a fully adaptive operating mode with a range of about ⁇ 30 dB to 30 dB.
- a default gain value can be independently established, and is typically 0 dB. If adaptive gain control is used, the initial gain value is specified by this default gain.
- the VAD in either the encoder system or the decoder system, can be configured to operate in multiple modes so as to provide system tradeoffs between voice quality and bandwidth requirements.
- a first mode the VAD is always disabled and declares all digital voice samples as active speech. This mode is applicable if the signal processing system is used over a TDM network, a network which is not congested with traffic, or when used with PCM (ITU Recommendation G.711 (1988)—Pulse Code Modulation (PCM) of Voice Frequencies, the contents of which is incorporated herein by reference as if set forth in full) in a PCM bypass mode.
- PCM International TDM network
- the voice quality is indistinguishable from the first mode.
- the VAD In transparent mode, the VAD identifies digital voice samples with an energy below the threshold of hearing as inactive speech.
- the threshold may be adjustable between ⁇ 90 and ⁇ 40 dBm with a default value of ⁇ 60 dBm default value.
- the threshold can be adjustable between ⁇ 90 and ⁇ 20 dBm with a default value of ⁇ 20 dBM.
- the transparent mode may be used if voice quality is much more important than bandwidth. This may be the case, for example, if a G.711 voice encoder (or decoder) is used.
- the VAD In a third “conservative” mode, the VAD identifies low level (but audible) digital voice samples as inactive, but will be fairly conservative about discarding the digital voice samples. A low percentage of active speech will be clipped at the expense of slightly higher transmit bandwidth. In the conservative mode, a skilled listener may be able to determine that voice activity detection and comfort noise generation is being employed.
- bandwidth is at a premium.
- the VAD is aggressive about discarding digital voice samples which are declared inactive. This approach will result in speech being occasionally clipped, but system bandwidth will be vastly improved.
- the transparent mode is typically the default mode when the system is operating with 16 bit PCM, companded PCM (G.711) or adaptive differential PCM (ITU Recommendations G.726 (December 1990)—40, 32, 24, 16 kbit/s Using Low-Delay Code Exited Linear Prediction, and G.727 (December 1990)—5-, 4-, 3-, and 2-Sample Embedded Adaptive Differential Pulse Code Modulation).
- G.711 companded PCM
- adaptive differential PCM ITU Recommendations G.726 (December 1990)—40, 32, 24, 16 kbit/s Using Low-Delay Code Exited Linear Prediction, and G.727 (December 1990)—5-, 4-, 3-, and 2-Sample Embedded Adaptive Differential Pulse Code Modulation.
- the user is most likely concerned with high quality voice since a high bit-rate voice encoder (or decoder) has been selected. As such, a high
- the transparent mode should also be used for the VAD operating in the decoder system since bandwidth is not a concern (the VAD in the decoder system is used only to update the comfort noise parameters).
- the conservative mode could be used with ITU Recommendation G.728 (September 1992)—Coding of Speech at 16 kbit/s Using Low-Delay Code Excited Linear Prediction, G.729, and G.723.1.
- the aggressive mode can be employed as the default mode.
- the mechanism in which the VAD detects digital voice samples that do not contain active speech can be implemented in a variety of ways.
- One such mechanism entails monitoring the energy level of the digital voice samples over short periods (where a period length is typically in the range of about 10 to 30 msec) . If the energy level exceeds a fixed threshold, the digital voice samples are declared active, otherwise they are declared inactive. The transparent mode can be obtained when the threshold is set to the threshold level of hearing.
- the threshold level of the VAD can be adaptive and the background noise energy can be tracked. If the energy in the current period is sufficiently larger than the background noise estimate by the comfort noise estimator, the digital voice samples are declared active, otherwise they are declared inactive.
- the VAD may also freeze the comfort noise estimator or extend the range of active periods (hangover).
- GSM European Digital Cellular Telecommunications System
- VAD Voice Activity Detector
- GSM 6.42 Half Rate Speech Traffic Channels
- a VAD utilizing an adaptive threshold level
- speech parameters such as the zero crossing rate, spectral tilt, energy and spectral dynamics are measured and compare stored values for noise. If the parameters differ significantly from the stored values, it is an indication that active speech is present even if the energy level of the digital voice samples is low.
- the VAD When the VAD operates in the conservative or transparent mode, measuring the energy of the digital voice samples can be sufficient for detecting inactive speech.
- the spectral dynamics of the digital voice samples may be useful in discriminating between long voice segments with audio spectra and long term background noise.
- the VAD performs auto-correlations using Itakura or Itakura-Saito distortion to compare long term estimates based on background noise to short term estimates based on a period of digital voice samples.
- line spectrum pairs LSPs
- FFT methods can be are used when the spectrum is available from another software module.
- hangover should be applied to the end of active periods of the digital voice samples with active speech.
- Hangover bridges short inactive segments to ensure that quiet trailing, unvoiced sounds (such as /s/), are classified as active.
- the amount of hangover can be adjusted according to the mode of operation of the VAD. If a period following a long active period is clearly inactive (i.e., very low energy with a spectrum similar to the measured background noise) the length of the hangover period can be reduced. Generally, a range of about 40 to 300 msec of inactive speech following an active speech burst will be declared active speech due to hangover.
- a comfort noise generator plays noise.
- a comfort noise generator in accordance with ITU standards G.729 Annex B or G.723.1 Annex can be used. These standards specify background noise levels and spectral content.
- SID packets are not used or the contents of the SID packet are unspecified (see FRF-11) or the SID packets only contains an energy estimate, then estimating the parameters of the noise in the decoding system may be necessary.
- voice frames are decoded by the voice decoder and coupled to the VAD 98 .
- the VAD 98 does not need to be invoked when comfort noise is being generated.
- Comfort noise parameters should not be estimated or updated by the comfort noise estimator during frame repeats or during periods in which comfort noise is being is being generated by the comfort noise generator.
- the far end voice encoder should ensure that a relatively long hangover period is used in order to ensure that there are noise-only digital voice samples which the VAD decoder can identify as inactive speech. During the identified inactive periods, the digital voice samples from the voice decoder are used to update the comfort noise parameters of the comfort noise estimator.
- a mixed mode may also be employed whereby the energy is conveyed in a SID packet and the spectrum is estimated in the decoder system.
- the decoder system can start with the assumption that SID packets are not being sent, and then only use the comfort noise parameters contained in the SID packets if and when a SID packet arrives.
- the comfort noise estimate could be updated with the two or three digital voice frames which arrived immediately prior to the SID packet.
- the far end voice encoder should then ensure that at least two or three frames of inactive speech are transmitted before the SID packet is transmitted. This can be realized by extending the hangover period.
- the comfort noise parameters at the near end are measured by the comfort noise estimator in the encoding system and transferred to the far end decoder in SID packets.
- the VAD determines whether the digital voice samples in the media queue 66 contain active speech. If the VAD determines that the digital voice samples do not contain active speech, then the energy and spectrum of a digital voice sample period is used to update a long running background noise energy and spectral estimate. These estimates are periodically quantized and transmitted in a SID packet by the comfort noise estimator (usually at the end of a talk spurt and periodically during the ensuing silent segment, or when the background noise parameters change appreciably).
- the comfort noise estimator should update the long running averages, when necessary, decide when to transmit a SID packet, and quantize and pass the quantized parameters to the packetization engine.
- SID packets should not be sent while on-hook, unless they are required to keep the permanent virtual connection between the telephony devices alive. There may be multiple quantization methods depending on the protocol chosen.
- the voice encoder and the voice decoder support one or more voice compression algorithms, including but not limited to, 16 bit PCM (non-standard, and only used for diagnostic purposes); ITU-T standard G.711 at 64 kb/s; G.723.1 at 5.3 kb/s (ACELP) and 6.3 kb/s (MP-MLQ); ITU-T standard G.726 (ADPCM) at 16, 24, 32, and 40 kb/s;
- PCM non-standard, and only used for diagnostic purposes
- ITU-T standard G.711 at 64 kb/s
- G.723.1 at 5.3 kb/s
- MP-MLQ MP-MLQ
- ITU-T standard G.726 ADPCM
- ITU-T standard G.727 Embedded ADPCM
- ITU-T standard G.728 LD-CELP
- ITU-T standard G.729 Annex A CS-ACELP
- the packetization interval for 16 bit PCM, G.711, G.726, G.727 and G.728 should be a multiple of 5 msec.
- the packetization interval is the time duration of the digital voice samples that are encapsulated into a single voice packet.
- the voice encoder (decoder) interval is the time duration in which the voice encoder (decoder) is enabled.
- the packetization interval should be an integer multiple of the voice encoder (decoder) interval.
- G.729 encodes frames containing 80 digital voice samples at 8 kHz which is equivalent to a voice encoder (decoder) interval of 10 msec. If two subsequent encoded frames of digital voice sample are collected and transmitted in a single packet, the packetization interval in this case would be 20 msec.
- G.711, G.726, and G.727 encodes digital voice samples on a sample by sample basis.
- the minimum voice encoder (decoder) interval is 0.125 msec. This is somewhat of a short voice encoder (decoder) interval, especially if the packetization interval is a multiple of 5 msec. Therefore, a single voice packet will contain 40 frames of digital voice samples.
- G.728 encodes frames containing 5 digital voice samples (or 0.625 msec).
- a packetization interval of 5 msec (40 samples) can be supported by 8 frames of digital voice samples.
- G.723.1 compresses frames containing 240 digital voice samples.
- the voice encoder (decoder) interval is 30 msec, and the packetization interval should be a multiple of 30 msec.
- Packetization intervals which are not multiples of the voice encoder (or decoder) interval can be supported by a change to the packetization engine or the depacketization engine. This may be acceptable for a voice encoder (or decoder) such as G.711 or 16 bit PCM, but the packetization interval should be a multiple of the voice encoder or decoder frame size.
- G.728 The G.728 standard may be desirable for some applications.
- G.728 is used fairly extensively in proprietary voice conferencing situations and it is a good trade-off between bandwidth and quality at a rate of 16 kb/s. Its quality is superior to that of G.729 under many conditions, and it has a much lower rate than G.726 or G.727.
- G.728 is MIPS intensive.
- both G.723.1 and G.729 could be modified to reduce complexity, enhance performance, or reduce possible IPR conflicts.
- Performance may be enhanced by using the voice encoder (or decoder) as an embedded coder.
- the “core” voice encoder (or decoder) could be G.723.1 operating at 5.3 kb/s with “enhancement” information added to improve the voice quality.
- the enhancement information may be discarded at the source or at any point in the network, with the quality reverting to that of the “core” voice encoder (or decoder).
- Embedded coders can be implemented since they are based on a given core.
- Embedded coders are rate scalable, and are well suited for packet based networks. If a higher quality 16 kb/s voice encoder (or decoder) is required, one could use G.723.1 or G.729 Annex A at the core, with an extension to scale the rate up to 16 kb/s (or whatever rate was desired).
- the configurable parameters for each voice encoder or decoder include the rate at which it operates (if applicable), which companding scheme to use, the packetization interval, and the core rate if the voice encoder (or decoder) is an embedded coder.
- the configuration is in terms of bits/sample.
- EADPCM(5,2) Embedded ADPCM, G.727
- the packetization engine groups voice frames from the voice encoder, and with information from the VAD, creates voice packets in a format appropriate for the packet based network.
- the two primary voice packet formats are generic voice packets and SID packets.
- the format of each voice packet is a function of the voice encoder used, the selected packetization interval, and the protocol.
- the packetization engine could be implemented in the host. However, this may unnecessarily burden the host with configuration and protocol details, and therefore, if a complete self contained signal processing system is desired, then the packetization engine should be operated in the network VHD. Furthermore, there is significant interaction between the voice encoder, the VAD, and the packetization engine, which further promotes the desirability of operating the packetization engine in the network VHD.
- the packetization engine may generate the entire voice packet or just the voice portion of the voice packet.
- a fully packetized system with all the protocol headers may be implemented, or alternatively, only the voice portion of the packet will be delivered to the host.
- the voice packetization functions reside in the packetization engine.
- the voice packet should be formatted according to the particular standard, although not all headers or all components of the header need to be constructed.
- voice de-packetization and queuing is a real time task which queues the voice packets with a time stamp indicating the arrival time.
- the voice queue should accurately identify packet arrival time within one msec resolution. Resolution should preferably not be less than the encoding interval of the far end voice encoder.
- the depacketizing engine should have the capability to process voice packets that arrive out of order, and to dynamically switch between voice encoding methods (i.e. between, for example, G.723.1 and G.711). Voice packets should be queued such that it is easy to identify the voice frame to be released, and easy to determine when voice packets have been lost or discarded en route.
- the voice queue may require significant memory to queue the voice packets.
- the voice queue should be capable of storing up to 500 msec of voice frames. At a data rate of 64 kb/s this translates into 4000 bytes or, or 2K (16 bit) words of storage.
- 500 msec of voice frames require 4K words.
- Limiting the amount of memory required may limit the worst case delay variation of 16 bit PCM and possibly G.711 This, however, depends on how the voice frames are queued, and whether dynamic memory allocation is used to allocate the memory for the voice frames. Thus, it is preferable to optimize the memory allocation of the voice queue.
- the voice queue transforms the voice packets into frames of digital voice samples. If the voice packets are at the fundamental encoding interval of the voice frames, then the delay jitter problem is simplified.
- a double voice queue is used.
- the double voice queue includes a secondary queue which time stamps and temporarily holds the voice packets, and a primary queue which holds the voice packets, time stamps, and sequence numbers.
- the voice packets in the secondary queue are disassembled before transmission to the primary queue.
- the secondary queue stores packets in a format specific to the particular protocol, whereas the primary queue stores the packets in a format which is largely independent of the particular protocol.
- sequence numbers are included with the voice packets, but not the SID packets, or a sequence number on a SID packet is identical to the sequence number of a previously received voice packet.
- SID packets may or may not contain useful information. For these reasons, it may be useful to have a separate queue may be provided for received SID packets.
- the depacketizing engine is preferably configured to support VoIP, VTOA, VoFR and other proprietary protocols.
- the voice queue should be memory efficient, while providing the ability to dynamically switch between voice encoders (at the far end), allow efficient reordering of voice packets (used for VoIP) and properly identify lost packets.
- the voice synchronizer analyzes the contents of the voice queue and determines when to release voice frames to the voice decoder, when to play comfort noise, when to perform frame repeats (to cope with lost voice packets or to extend the depth of the voice queue), and when to perform frame deletes (in order to decrease the size of the voice queue).
- the voice synchronizer manages the asynchronous arrival of voice packets. For those embodiments which are not memory limited, a voice queue with sufficient fixed memory to store the largest possible delay variation is used to process voice packets which arrive asynchronously. Such an embodiment includes sequence numbers to identify the relative timings of the voice packets.
- the voice synchronizer should ensure that the voice frames from the voice queue can be reconstructed into high quality voice, while minimizing the end-to-end delay. These are competing objectives so the voice synchronizer should be configured to provide system trade-off between voice quality and delay.
- the voice synchronizer is adaptive rather than fixed based upon the worst case delay variation. This is especially true in cases such as VoIP where the worst case delay variation can be on the order of a few seconds.
- the worst case delay variation can be on the order of a few seconds.
- the worst case delay variation can be on the order of a few seconds.
- the worst case delay variation can be on the order of a few seconds.
- the worst case delay variation can be on the order of a few seconds.
- the worst case delay variation can be on the order of a few seconds.
- the worst case delay variation can be on the order of a few seconds.
- the worst case delay variation can be on the order of a few seconds.
- the voice synchronizer performs four primary tasks. First, the voice synchronizer determines when to release the first voice frame of a talk spurt from the far end. Subsequent to the release of the first voice frame, the remaining voice frames are released in an isochronous manner. In an exemplary embodiment, the first voice frame is held for a period of time that is equal or less than the estimated worst case jitter.
- the voice synchronizer estimates how long the first voice frame of the talk spurt should be held. If the voice synchronizer underestimates the required “target holding time,” jitter buffer underflow will likely result. However, jitter buffer underflow could also occur at the end of a talk spurt, or during a short silence interval. Therefore, SID packets and sequence numbers could be used to identify what caused the jitter buffer underflow, and whether the target holding time should be increased. If the voice synchronizer overestimates the required “target holding time,” all voice frames will be held too long causing jitter buffer overflow. In response to jitter buffer overflow, the target holding time should be decreased.
- the voice synchronizer increases the target holding time rapidly for jitter buffer underflow due to excessive jitter, but decreases the target holding time slowly when holding times are excessive. This approach allows rapid adjustments for voice quality problems while being more forgiving for excess delays of voice packets.
- the voice synchronizer provides a methodology by which frame repeats and frame deletes are performed within the voice decoder. Estimated jitter is only utilized to determine when to release the first frame of a talk spurt. Therefore, changes in the delay variation during the transmission of a long talk spurt must be independently monitored.
- the voice synchronizer instructs the lost frame recovery engine to issue voice frames repeats.
- the frame repeat command instructs the lost frame recover engine to utilize the parameters from the previous voice frame to estimate the parameters of the current voice frame.
- the sequence would be frames 1 , 2 , a frame repeat and then frame 3 .
- Performing frame repeats causes the delay to increase, which increasing the size of the jitter buffer so as to cope with increasing delay characteristics during long talk spurts.
- Frame repeats are also issued to replace voice frames that are lost en route.
- the target holding time can be adjusted, which automatically compresses the following silent interval.
- the voice synchronizer must also function under conditions of severe buffer overflow, where the physical memory of the signal processing system is insufficient due to excessive delay variation. When subjected to severe buffer overflow, the voice synchronizer could simply discard voice frames.
- the voice synchronizer should operate with or without sequence numbers, time stamps, SID packets, voice packets arriving out of order and lost voice packets.
- the voice synchronizer preferably provides a variety of configuration parameters which can be specified by the host for optimum performance, including minimum and maximum target holding time. With these two parameters, it is possible to use a fully adaptive jitter buffer by setting the minimum target holding time to zero msec and the maximum target holding time to 500 msec (or the limit imposed due to memory constraints).
- the preferred voice synchronizer is fully adaptive and able to adapt to varying network conditions, those skilled in the art will appreciate that the voice synchronizer can also be maintained at a fixed holding time by setting the minimum and maximum holding times to be equal.
- the lost packet recovery engine can be configured to provide frame insertion, and frame deletion capability for all voice decoders under consideration.
- the lost frame recovery mechanism can be part of the voice decoder. The same mechanism may be used for frame insertion. Frame deletion can be realized by simply passing two consecutive voice frames to the voice decoder in the same decoding interval, and discarding one of the voice frames. In this manner, the end to end delay will be decreased in time by one decoding interval.
- the frame deletion mechanism can likewise be fully integrated into both G.723.1 and G.729 Annex A. This reduces the complexity of the frame deletion mechanism and allows voice frames to be discarded over a longer interval to improve the overall quality. However, since the frame deletion is a low probability event, the short term impact on voice quality should be minor. Alternatively, a non-integrated frame deletion mechanism can also be used.
- voice packet loss for voice telephony over ATM and voice over FR should also be a low probability event.
- voice over IP frame losses can be excessive.
- routers discard voice packets. When end points detect the voice discarded packets, they typically will reduce their transmission rate. If the network begins to get congested, voice packet losses (which can get quite high) will occur.
- an efficient frame loss recovery mechanism is desired to maintain reasonably high quality during voice packet losses.
- Lost voice frames can be estimated by first estimating the pitch period based on digital voice samples contained in the previous frames, and then repeating the previous excitation to an LPC filter delayed by one (or possible more) pitch periods.
- An exemplary embodiment for estimating the pitch period and excitation during previous good voice frames is shown in FIG. 7 .
- the LPC is estimated based on a frame of current plus past digital voice samples (over a window length in the range of about 20 to 30 msec).
- the digital voice samples over the decoding interval is then passed through a LPC inverse filter 110 to obtain the LPC residual.
- the residual (both current and past) or perhaps a combination of the residual and past digital voice samples is used to obtain a pitch estimate using, for example, a pitch estimator 112 or correlation measurement.
- a pitch estimator similar to that used in G.729 Annex A may be used.
- pitch doubling is not a serious problem since this lost frame recovery system is only used in an attempt to recover a lost voice packet.
- past residuals should be stored in a buffer 114 of about at least 120 to 160 digital voice samples, and a pitch period range of between (about) 20 and 140 digital voice samples should be analyzed.
- the residual used to excite the LPC synthesis filter 116 is estimated by selecting a scaled residual from one (or more) pitch periods in the past (Z ⁇ M ) 118 .
- the pitch period is that which was estimated in the previous good voice frame.
- a gain adjuster 120 slowly increases the gain to reduce the output energy during multiple frame loss conditions. If the voice packet loss condition extends for more than 40 or 50 msec, the resulting digital voice samples should be significantly muted, and the signal processing system should switch from issuing frame losses to generating comfort noise. (This control should be placed in the voice synchronizer which controls when the voice decoder, comfort noise generator, and lost packet recovery engine are invoked).
- the estimated residual is saved in the past residual buffer 114 to ensure that for multiple frame losses from one or more voice packets a past residual is still available. If a strong pitch component is not identified, rather than repeating past excitation delayed by the estimated (best) pitch period a random (gaussian, for example) excitation can be used to excite the LPC synthesis filter 116 .
- the random excitation should be scaled such that the power is slightly less than that in the last good voice frame.
- the capability of the voice decoder should be considered when selecting the lost packet recovery engine 94 .
- voice decoder's which are less MIPS intensive, such as G.726, G.727 and G.711 the added complexity of the lost packet recovery engine would not increase the complexity to that of say G.729 Annex A or G.723.1.
- the lost frame recovery engine should preferably be on the order of 1 MIP, or less.
- the parameters used for lost voice packet recovery are known at the voice decoder.
- the lost frame recovery mechanism could be integrated directly into G.728. This is a lower complexity solution, and is preferred for G.728.
- the first function performs call routing and the second function performs DTMF relay.
- DTMF dual-tone, multi-frequency tones are signaling tones carried within the audio band. DTMF is used for dialing, interactive voice response systems (IVR), and for PBX to PBX or PBX to central office signaling.
- IVR interactive voice response systems
- DTMF events are preferably reported to the host. This allows the host, for example, to convert the DTMF sequence of keys to a destination address. It will, therefore, allow the host to support call routing via DTMF.
- the packet tone exchange service might support muting of the received digital voice samples, or discarding voice frames when DTMF is detected.
- the voice packets may be queued (but not released) in the encoder system when DTMF is pre-detected. If the detection was false (invalid), the voice packets are ultimately released, otherwise they are discarded. This will manifest itself as occasional jitter when DTMF is falsely detected.
- Software to route calls via DTMF can be resident on the host or within the signal processing system.
- the packet tone exchange traps DTMF tones and reports them to the host or a higher layer.
- the packet tone exchange will generate dial tone when an off-hook condition is detected. Once a DTMF digit is detected, the dial tone is terminated.
- the packet tone exchange may also have to play ringing tone back to the near end user (when the far end phone is being rung), and a busy tone if the far end phone is unavailable.
- Other tones may also need to be supported to indicate all circuits are busy, or an invalid sequence of DTMF digits were entered.
- Fax relay mode provides signal processing of fax signals.
- fax relay mode enables the transmission of fax signals over a packet based system such as VoIP, VoFR, FRF-11, VTOA, or any other proprietary network.
- the fax relay mode should also permit data signals to be carried over traditional media such as TDM.
- Network gateways 132 a , 132 b , 132 c the operating platform for the signal processing system in the described exemplary embodiment, support the exchange of fax signals between a packet based network 56 and various fax machines 134 a , 134 b , 134 c .
- the first fax machine is a sending fax 134 a .
- the sending fax 134 a is connected to the sending network gateway 132 a through a PSTN line 130 .
- the sending network gateway 132 a is connected to a packet based network 131 .
- Additional fax machines 134 b , 134 c are at the other end of the packet based network 131 and include receiving fax machines 134 b , 134 c and receiving network gateways 132 b , 132 c .
- the receiving network gateways 132 b , 132 b provide a direct interface between their respective fax machines 134 b , 134 c and the packet based network 131 .
- the transfer of fax data signals over packet based networks can be accomplished by three alternative methods.
- fax data signals are exchanged in real time.
- the sending and receiving fax machines are spoofed to allow transmission delays plus jitter of up to about 1.2 seconds.
- the second, store and forward mode is a non real time method of transferring fax data signals.
- the fax communication is transacted locally, stored into memory and transmitted to the destination fax machine at a subsequent time.
- the third mode is a combination of store and forward mode with minimal spoofing to provide an approximate emulation of a typical fax connection.
- the network VHD invokes the packet fax data exchange service in the fax relay mode.
- the packet fax data exchange service provides demodulation and re-modulation of fax data signals. This approach results in considerable bandwidth savings since only the underlying unmodulated data signals are transmitted across the packet based network.
- the packet fax data exchange service also provides compensation for network jitter with a jitter buffer similar to that invoked in the packet voice exchange service. Additionally, the packet fax data exchange service compensates for lost data packets with error correction processing. Spoofing may also be provided during various stages of the procedure between the fax machines to keep the connection alive.
- the packet fax data exchange service is divided into two basic functional units, a demodulation system and a re-modulation system.
- the network VHD exchanges fax data signals from a circuit switched network, or a fax machine, to the packet based network.
- the network VHD exchanges fax data signals from the packet network to the switched circuit network to a circuit switched network, or a fax machine directly.
- the sending and receiving fax machines are spoofed to accommodate network delays plus jitter.
- the packet fax data exchange service can accommodate a total delay of up to about 1.2 seconds.
- the packet fax data exchange service supports error correction mode (ECM) relay functionality, although a full ECM implementation is typically not required.
- ECM error correction mode
- the packet fax data exchange service should preferably preserve the typical call duration required for a fax session over a GSTN/ISDN when exchanging fax data signals over a network
- the packet fax data exchange service for the real time exchange of fax data signals between a circuit switched network and a packet based network is shown schematically in FIG. 10 .
- a connecting PXD (not shown) connecting the fax machine to the switch board 32 ′ is transparent, although those skilled in the art will appreciate that various signal conditioning algorithms could be programmed into PXD such as echo cancellation and gain.
- the incoming fax data signal 146 a is coupled to the demodulation system of the packet fax data exchange service operating in the network VHD via the switchboard 32 ′.
- the incoming fax data signal 146 a is received and buffered in an ingress media queue 146 .
- a V.21 data pump 148 demodulates incoming T.30 message so that T.30 relay logic 150 can decode the received T.30 messages 150 a .
- Local T.30 indications 150 b are packetized by a packetization engine 152 and if required, translated into T.38 packets via a T.38 shim 154 for transmission to a remote fax device (not shown) across the packet based network.
- the V.21 data pump 148 is selectively enabled/disabled 150 c by the T.30 relay logic 150 in accordance with the reception/transmission of the T.30 messages or fax data signals.
- the V.21 data pump 148 is common to the demodulation and re-modulation system, and the packet fax data exchange service includes the ability to transmit called station tone (CED) and calling station tone (CNG) to support fax setup.
- CED called station tone
- CNG calling station tone
- the demodulation system further includes a receive fax data pump 156 which demodulates the fax data signals during the data transfer phase.
- the receive fax data pump 156 supports the V.27ter standard for fax data signal transfer at 2400/4800 bps, the V.29 standard for fax data signal transfer at 7200/9600 bps, as well as the V.17 standard for fax data signal transfer at 7200/9600/12000/14400 bps.
- the V.34 fax standard once approved, may also be supported.
- the T.30 relay logic 150 enables/disables 150 d the receive fax data pump 156 in accordance with the reception of the fax data signals or the T.30 messages.
- receive ECM relay logic 158 performs high level data link control(HDLC) de-framing, including bit de-stuffing and preamble removal on ECM frames contained in the data packets.
- HDLC high level data link control
- the resulting fax data signals are then packetized by the packetization engine 152 and communicated across the packet based network.
- the T.30 relay logic 150 selectively enable/disables 150 e the receive ECM relay logic 158 in accordance with the error correction mode of operation.
- incoming data packets are first translated from a T.38 packet format to a protocol independent format by the T.38 packet shim 154 .
- the data packets are then de-packetized by a depacketizing engine 162 .
- the data packets may contain T.30 messages or fax data signals.
- the T.30 relay logic 150 reformats the remote T.30 indications 150 f and forwards the resulting T.30 indications to the local fax machine (not shown) via the V.21 data pump 148 .
- the modulated output of the V.21 data pump 148 is forwarded to an egress media queue 164 for transmission 164 a in either analog format or after suitable conversion, as 64 kbps PCM samples to the local fax device over a circuit switched network, such as for example a PSTN line.
- De-packetized fax data signals are transferred from the depacketizing engine 162 to a jitter buffer 166 .
- ECM error correction mode
- transmitting ECM relay logic 168 performs HDLC de-framing, including bit stuffing and preamble addition on ECM frames.
- the transmitting ECM relay logic 168 forwards the fax data signals, (in the appropriate format) to a transmit fax data pump 170 which modulates the fax data signals and outputs 8 KHz digital samples to the egress media queue 164 .
- the T.30 relay logic selectively enables/disables ( 150 g ) the transmit ECM relay logic 168 in accordance with the error correction mode of operation.
- the transmit fax data pump 170 supports the V.27ter standard for fax data signal transfer at 2400/4800 bps, the V.29 standard for fax data signal transfer at 7200/9600 bps, as well as the V.17 standard for fax data signal transfer at 7200/9600/12000/14400 bps.
- the T.30 relay logic selectively enables/disables ( 150 h ) the transmit fax data pump 170 in accordance with the transmission of the fax data signals or the T.30 message samples.
- a buffer low indication 166 a is coupled to spoofing logic 172 .
- the spoofing logic 172 Upon receipt of a buffer low indication during the fax data signal transmission, the spoofing logic 172 inserts “spoofed data” at the appropriate place in the fax data signals via the transmit fax data pump 170 until the jitter buffer 166 is filled to a pre-determined level, at which time the fax data signals are transferred out of the jitter buffer 166 .
- the spoofing logic 172 can insert “spoofed data” at the appropriate place in the T.30 message samples via the V.21 data pump 148 .
- An exemplary embodiment of the packet fax data exchange service complies with the T.38 recommendations for real-time Group 3 facsimile communication over IP networks.
- the preferred system should therefore, provide packet fax data exchange service support at both the T.30 level (see ITU Recommendation T.30—“Procedures for Document Facsimile Transmission in the General Switched Telephone Network”, 1988) and the T4 level (see ITU Recommendation T.4—“Standardization of Group 3 Facsimile Apparatus For Document Transmission”, 1998), the contents of each of these ITU recommendations being incorporated herein by reference as if set forth in full.
- One function of the packet fax data exchange service is to relay the set up (capabilities) parameters in a timely fashion. Spoofing may be needed at either or both the T.30 and T.4 levels to maintain the fax session while set up parameters are negotiated at each of the network gateways and relayed in the presence of network delays and jitters.
- the described exemplary embodiment relays all information including; T.30 preamble indications (flags), T.30 message data, as well as T.30 image data between the network gateways.
- the T.30 relay logic 150 in the sending and receiving network gateways then negotiate parameters as if connected via a PSTN line.
- the T.30 relay logic 150 interfaces with the V.21 data pump 148 and the transmit and receive data pumps 156 and 170 as well as the packetization engine 152 and the depacketizing engine 162 to ensure that the sending and the receiving fax machines 130 and 134 successfully and reliably communicate.
- the T.30 relay logic 150 provides local spoofing, using command repeats (CRP), and internal automatic repeat request (ARQ) mechanisms to handle delays associated with the packet based network.
- CCP command repeats
- ARQ internal automatic repeat request
- the T.30 relay logic 150 intercepts control messages to ensure compatibility of the rate negotiation between the near end and far end machines including HDLC processing, as well as lost packet recovery according to the T.30 ECM standard.
- FIG. 11 demonstrates message flow over a packet based network between a sending fax machine 134 a (see FIG. 9 ) and the receiving fax device 134 b (see FIG. 9 ) in non-ECM mode.
- the sending fax machine dials the sending network gateway 132 a (see FIG. 9 ) which forwards CNG (not shown) to the receiving network gateway 132 b (see FIG. 9 ).
- the receiving network gateway responds by alerting the receiving fax machine.
- the receiving fax machine answers the call and sends CED 230 tones.
- the CED tones are detected by the V.21 data pump 148 of the receiving network gateway which issues an event 232 indicating the receipt of CED which is then relayed to the emitting network gateway.
- the V.21 data pump of the receiving network gateway invokes the packet fax data exchange service.
- the receiving network gateway now transmits T.30 preamble (HDLC flags) 234 followed by called subscriber identification (CSI) 236 and digital identification signals (DIS) 238 .
- the emitting network gateway receives a command 240 to begin transmitting CED.
- the emitting network gateway Upon receipt of CSI and DIS, the emitting network gateway begins sending subscriber identification (TSI) 242 , digital command signal (DCS) 244 followed by training check (TCF) 246 .
- the TCF 246 can be managed by one of two methods. The first method, referred to as the data rate management method one in T.38, generates. TCF locally by the receiving gateway.
- CFR is returned to the sending fax machine 250 , when the emitting network gateway receives a confirmation to receive (CFR) 248 from the receiving fax machine via the receiving network gateway, and the TCF training 246 from the sending fax machine is received successfully.
- DCS 244 from the sending fax machine is again relayed to the receiving fax machine.
- the TCF training 246 is repeated until an appropriate rate is established which provides successful TCF training 246 at both ends of the network.
- the TCF data sequence received by the emitting network gateway are forwarded from the sending fax machine to the receiving fax machine via the receiving network gateway.
- the sending fax machine Upon receipt of confirmation to receive (CFR) 250 , the sending fax machine, transmits image data 254 along with its training preamble 252 .
- the emitting network gateway receives the image data and forwards the image data 254 to the receiving network gateway.
- the receiving network gateway then sends its own training preamble 256 followed by the image data 258 to the receiving fax machine.
- EOP image page end of page
- MCF message confirmation
- ECM fax relay message flow is similar to that described above. All preambles, messages and phase C HDLC data are relayed through the packet based network. Phase C HDLC data is de-stuffed and, along with the preamble and frame checking sequences (FCS), removed before being relayed so that only fax image data itself is relayed over the packet based network.
- the receiving network gateway performs bit stuffing and reinserts the preamble and FCS.
- the spoofing logic 172 includes built in timeouts for automatic requests for retransmission (ARQ). Automatic timeouts ensure that the connection is maintained in a system impaired by delay.
- T.30 spoofing is used to reset the T4 timer, defined in accordance with the ITU T.30 recommendations, to prevent a command or response retransmission.
- the T.30 relay logic 150 waits for a response to any transmitted message or command before continuing to the next state or phase.
- the T.30 relay logic 150 packages each message or command into a HDLC frame which includes preamble flags.
- the sending and receiving network gateways 134 a , 134 b (See FIG. 9 ) spoof their respective fax machines 134 a , 134 b by locally transmitting preamble flags if a response from the packet based network is not received prior to T4 time out (3 ⁇ 0.15 sec).
- the waiting period is less than about 2.7 sec, which has been empirically demonstrated to eliminate activation of the T4 timer for most fax machines.
- the maximum length of the preamble is limited to about 4.5 seconds. If a response from the packet based network arrives before the spoofing time out, each network gateway should preferably transmit a response message to its respective fax machine following the preamble flags.
- Each network gateway repeats the spoofing technique until a successful handshake is completed or its respective fax machine disconnects.
- phase C signals consist of a series of coded image data followed by fill bits and end-of-line (EOL) sequences.
- EOL end-of-line
- fill bits are zeros inserted between the fax data signals and the EOL sequences.
- Fill bits ensure that a fax machine has time to perform the various mechanical overhead functions associated with any line it receives.
- Fill bits can also be utilized to spoof the jitter buffer in accordance with a spoofing method known as EOL spoofing.
- the number of the bits of coded image contained in the data signals associated with the scan line and transmission speed limit the number of fill bits that can be added to the data signals.
- the maximum transmission of any coded scan line is limited to less than about 5 sec.
- the packet fax data exchange service utilizes spoofing if the network jitter delay exceeds the delay capability of the jitter buffer 166 .
- the jitter buffer 166 must store at least one EOL sequence.
- the jitter buffer 166 must be sized to hold at least one entire scan line of data to ensure the presence of at least one EOL sequence within the jitter buffer 166 .
- the size of the jitter buffer 166 can become prohibitively large.
- the table below summarizes the required jitter buffer data space to perform EOL spoofing for various scan line lengths.
- the table assumes that each pixel is represented by a single bit.
- the values represent an approximate upper limit on the required data space, but not the absolute upper limit, because in theory at least, the longest scan line can consist of alternating black and white pixels which would require an average of 4.5 bits to represent each pixel rather than the one to one ratio summarized in the table.
- the spoofing logic 172 is activated when the number of data packets stored in the jitter buffer 166 drops to a threshold level.
- a threshold value of about 200 msec is used to support the most commonly used fax setting, namely a fax speed of 9600 bps and scan line length of 1728.
- An alternate spoofing method should be used if an EOL sequence is not contained within the jitter buffer 166 , otherwise the call will have to be terminated.
- An alternate spoofing method uses zero run length code words. This method requires real time image data decoding so that the word boundary is known. Advantageously, this alternate method reduces the required size of the jitter buffer 166 .
- phase C signals consist of HDLC frames so that HDLC spoofing can be used.
- the jitter buffer 166 must be sized to store at least one HDLC frame so that a frame boundary may be located.
- the length of the largest T.4 ECM HDLC frame is 260 octets or 130 16-bit words.
- spoofing is activated when the number of packets stored in the jitter buffer 166 drops to a predetermined threshold level.
- the spoofing logic 172 adds HDLC flags at the frame boundary as a complete frame is being reassembled and forwarded to the transmit fax data pump 170 . This continues until the number of data packets in the jitter buffer 166 exceeds the threshold level.
- a pipelined store and forward relay is a combination of store and forward and spoofing techniques to approximate the performance of a typical Group 3 fax connection when the network delay is large (on the order of seconds or more).
- One approach is to store and forward a single page at a time. However, this approach requires a significant amount of memory (10 K words or more).
- One approach to reduce the amount of memory required entails discarding scan lines on the sending network gateway and performing line repetition on the receiving network gateway so as to maintain image aspect ratio and quality. Alternatively, a partial page can be stored and forwarded thereby reducing the required amount of memory.
- the sending and receiving fax machines will have some minimal differences in clock frequency.
- ITU standards recommends a data pump data rate of ⁇ 100 ppm, so that the clock frequencies between the receiving and sending fax machines could differ by up to 200 ppm. Therefore, the data rate at the receiving network gateway (jitter buffer 166 ) can build up or deplete at a rate of 1 word for every 5000 words received. Typically a fax page is less than 1000 words so that end to end clock synchronization is not a problem.
- Data relay mode provides signal processing of data signals. As shown in FIG. 12 , data relay mode enables the transmission of data signals over a packet based system such as VoIP, VoFR, FRF-11, VTOA, or any other proprietary network. The data relay mode should also permit data signals to be carried over traditional media such as TDM.
- Network gateways 182 a , 182 b , 182 c the operating platform for the signal processing system in the described exemplary embodiment, support the exchange of data signals between a packet based network 181 and various data modems 180 a , 180 b , 180 c .
- the first modem is a calling modem 180 a .
- the calling modem 180 a is connected to the calling network gateway 182 a through a PSTN line 179 .
- the calling network gateway 182 a is connected to a packet based network 181 .
- Additional modems 180 b , 180 c are at the other end of the packet based network 181 and include answer modems 180 b , 180 c and answer network gateways 182 b , 182 c .
- the answer network gateways 182 b , 182 c provide a direct interface between their respective modem 180 b , 180 c and the packet based network 181 .
- a local modem connection is established on each end of the packet based network 181 . That is, the calling modem 180 a and the calling network gateway 182 a establish a local modem connection, as does the destination answer modem 180 b and its respective answer network gateway 182 b .
- data signals are relayed across the packet based network 181 .
- the calling network gateway 182 a demodulates the modem data signal and generates a formatted signal appropriate for the packet based network 181 .
- the answer network gateway 182 b compensates for network impairments and re-modulates the encoded data in a format suitable for the destination answer modem 180 b . This approach results in considerable bandwidth savings since only the underlying unmodulated data signals are transmitted across the packet based network.
- the packet data modem exchange service provides demodulation and modulation of data signals.
- the packet data modem exchange also provides compensation for network jitter with a jitter buffer similar to that invoked in the packet voice exchange service. Additionally, the packet data modem exchange service compensates for system clock jitter between the near end and far end modems with a dynamic phase adjustment and resampling mechanism. Spoofing may also be provided during various stages of the call negotiation procedure between the modems to keep the connection alive.
- the packet data modem exchange service invoked by the network VHD in the data relay mode is shown schematically in FIG. 13 .
- a connecting PXD (not shown) connecting the modem to the switch board 32 ′ is transparent, although those skilled in the art will appreciate that various signal conditioning algorithms could be programmed into PXD such as filtering, echo cancellation and gain.
- the packet data modem exchange provides two way communication between a circuit switched network and packet based network with two basic functional units, a demodulation system and a re-modulation system.
- the network VHD exchanges data signals from a circuit switched network, or a telephony device directly, to a packet based network.
- the network VHD exchanges data signals from the packet based network to the PSTN line, or the telephony device.
- a call negotiator 200 determines the type of modem connected locally via a circuit switched network, such as a PSTN line carrying data signals modulated by a voiceband carrier (e.g., 8 KHz.), as well as the type of modem connected remotely via a packet based network.
- the call negotiator 200 utilizes V.25 automatic answering procedures and V.8 auto-baud software to automatically detect modem capability.
- the call negotiator 200 receives the data signals 200 a (ANSam and V.8 menus) from the ingress media queue 198 , as well as AA, AC and other message indications 200 c from the local modem via a data pump state machine 220 , to determine the type of modem in use locally.
- the call negotiator 200 also receives ANSam, AA, AC and other indications 200 b from a remote modem (not shown) located on the opposite end of the packet based network via a depacketizing engine 206 .
- the call negotiator 200 relays ANSam answer tones and other indications 200 d to a local modem (not shown) via an egress media queue 212 of the modulation system.
- the call negotiator 200 relays ANSam answer tones and other indications 200 e to the remote modem via a packetization engine 204 .
- a data pump receiver 202 demodulates the data signals from the ingress media queue 198 .
- the data pump receiver 202 supports the V.22bis standard for the demodulation of data signals at 1200/2400 bps; the V.32bis standard for the demodulation of data signals at 4800/7200/9600/12000/14400 bps, as well as the V.34 standard for the demodulation of data signals up to 33600 bps.
- the V.90 standard may also be supported.
- the demodulated data signals are then packetized by the packetization engine 204 and transmitted across the packet based network.
- packets of data signals from the packet based network are first de-packetized by the depacketizing engine 206 and stored in a jitter buffer 208 .
- a data pump transmitter 210 modulates the buffered data signals with a voiceband carrier. The modulated samples are in turn stored in the egress media queue 212 before being output to the PXD (not shown) via the switchboard 32 ′.
- the data pump transmitter 210 supports the V.22bis standard for the transfer of data signals at 1200/2400 bps; the V.32bis standard for the transfer of data signals at 4800/7200/9600/12000/14400 bps, as well as the V.34 standard for the transfer of data signal up to 33600 bps. Moreover, the V.90 standard may also be supported.
- the jitter buffer 208 sends a buffer low indication 208 a to spoofing logic 214 .
- the spoofing logic 214 receives the buffer low signal indicating that the jitter buffer 208 is operating below a pre-determined threshold level, it inserts spoofed data at the appropriate place in the data signal via the data pump transmitter 210 . Spoofing continues until the jitter buffer 208 is filled to the pre-determined threshold level, at which time data signals are again transferred from the jitter buffer 208 to the data pump transmitter 210 .
- An end to end clock synchronizer 216 also monitors the state of the jitter buffer 208 .
- the clock synchronizer 216 controls the data transmission rate of the data pump transmitter 210 in correspondence to the state of the jitter buffer 208 .
- the clock synchronizer 216 reduces the transmission rate of the data pump transmitter 210 .
- the clock synchronizer 216 increases the transmission rate of the data pump transmitter 210 .
- a rate negotiator 218 synchronizes the connection rates at the network gateways 182 a , 182 b , 182 c (see FIG. 12 ).
- the rate negotiator receives rate control codes 218 a from the local modem via the data pump state machine 220 and rate control codes 218 b from the remote modem via the depacketizing engine 206 .
- the rate negotiator 218 forwards the remote rate control codes 218 a received from the remote modem to the local modem via commands sent to the data pump state machine 220 .
- the rate negotiator 218 forwards the local rate control codes 218 c received from the local modem to the remote modem via the packetization engine 204 .
- the rate negotiator 218 Based on the exchanged rate codes the rate negotiator 218 establishes a common data rate between the calling and answering modems. During the data rate exchange procedure, the jitter buffer 208 should be disabled by the rate negotiator 218 to prevent data transmission between the call and answer modems until the data rates are successfully negotiated.
- An error control synchronizer 222 performs a similar function by ensuring that the network gateways utilize a common error protocol.
- the error control synchronizer 222 processes local error control messages 222 a from the data pump receiver 202 in addition to remote V.14/V.42 indications 222 b from the depacketizing engine 206 .
- the error control synchronizer 222 forwards V.14/V.42 negotiation messages 222 c to the local modem via the data pump transmitter 210 .
- the error control synchronizer 222 forwards V.14/V.42 indications 222 d from the local modem to the remote modem via the packetization engine 204 .
- the packet data modem exchange service preferably utilizes indication packets as a means for communicating answer tones, AA, AC and other indication signals across the packet based network 10 .
- the packet data modem exchange service supports data pumps such as V.22bis and V.32bis which do not include a well defined error recovery mechanism, so that the modem connection may be terminated whenever indication packets are lost. Therefore, either the packet data modem exchange or upper application layer should ensure proper delivery of indication packets when operating in a network environment that does not guarantee packet delivery.
- the packet data modem exchange service can ensure delivery of the indication packets by periodically re-transmitting the indication packet until some expected packets are received. For example, in V.32bis relay the call negotiator operating under the packet data modem exchange on the answer network gateway periodically re-transmits ANSam answer tones from the answer modem to the calling modem, until the calling modem connects to the line and transmits carrier state AA.
- the packetization engine can embed the indication information directly into the packet header.
- the indication information is included in all packets transmitted across the packet based network, so that the system does not rely on the successful transmission of individual indication packets. Rather, if a given packet is lost, the next arriving packet contains the indication information in the packet header. Both methods increase the traffic across the network. However, it is preferable to periodically re-transmit the indication packets because it has less of a detrimental impact on network traffic.
- the packet data modem exchange synchronizes the transmit clock of each network gateway to the average rate at which data packets arrive at their respective jitter buffer.
- the data pump transmitter 210 examines the egress media queue 212 at the beginning of each frame. In accordance with the remaining buffer space, data pump transmitter 210 modulates that number of digital data samples required to produce a total of slightly more or slightly less than 80 samples per frame, assuming that the data pump transmitter 210 is invoked once every 10 msec. The data pump transmitter 210 gradually adjusts the number of samples per frame to allow the receiving modem to adjust to the timing change.
- the data pump transmitter 210 uses an adjustment rate of about one ppm. In addition, the maximum adjustment rate should be less than about 200 ppm.
- end to end clock synchronizer 216 monitors the space available within the jitter buffer 208 and utilizes water marks to determine whether the data rate of the data pump transmitter 210 should be adjusted.
- Network jitter may cause timing adjustments to be made. However, this should not adversely affect the data pump receiver of the answering modem as these timing adjustments are made very gradually.
- Rate synchronization refers to the process by which two telephony devices are connected at the same data rate prior to data transmission.
- each modem is coupled to a signal processing system, which for the purposes of explanation is operating in a network gateway, either directly or through a PSTN line.
- each modem establishes a modem connection with its respective network gateway, at which point, the modems begin relaying data signals across a packet based network.
- the problem that arises is that each modem may negotiate a different data rate with its respective network gateway, depending on the line conditions and user settings.
- the data signals transmitted from one of the modems will enter the packet based network faster than it can be extracted at the other end by the other modem.
- the resulting overflow of data signals may result in a lost connection between the two modems.
- a rate negotiator can be used for this purpose.
- the rate negotiator is described in the context of a signal processing system with the packet data modem exchange service invoked, those skilled in the art will appreciate that the rate negotiator is likewise suitable for various other telephony and telecommunications application. Accordingly, the described exemplary embodiment of the rate negotiator in a signal processing system is by way of example only and not by way of limitation.
- data rate synchronization is achieved through a data rate negotiation procedure, wherein a calling modem independently negotiates a data rate with a calling network gateway, and a answer modem independently negotiates a data rate with a answer data relay.
- the calling and answer network gateways each having a signal processing system running a packet exchange service, then exchange data packets containing information on the independently negotiated data rates. If the independently negotiated data rates are the same, then each rate negotiator will enable its respective network gateway and data transmission between the call and answer modems will commence. Conversely, if the independently negotiated data rates are different, the rate negotiator will renegotiate the data rate by adopting the lowest of the two data rates.
- the call and answer modems will then undergo retraining or rate re-negotiation procedures by their respective network gateways to establish a new connection at the renegotiated data rate.
- the advantage of this approach is that the data rate negotiation procedure takes advantage of existing modem functionality, namely, the retraining mechanism, and puts it to alternative usage. Moreover, by retraining both the call and answer modem (one modem will already be set to the renegotiated rate) the modem connection should not be lost due to timeout.
- the calling and answer modems can directly negotiate the data rate.
- This method is not preferred for modems with time constrained handshaking sequences such as, for example, modems operating in accordance with the V.22bis or the V.32bis standards.
- the round trip delay accommodated by these standards could cause the modem connection to be lost due to timeout.
- V.34 and V.90 a digital modem and analog modem pair for use on PSTN lines at data rates up to 56,000 bps downstream and 33,600 upstream
- V.22 is a common standard used to define operation of 1200 bps modems. Data rates as high as 2400 bps can be implemented with the V.22bis standard (the suffix “bis” indicates that the standard is an adaptation of an existing standard).
- the V.22bis standard groups data into four bit words which are transmitted at 600 baud.
- the V.32 standard supports full duplex, data rates of up to 9600 bps over the general switched telephone network.
- a V.32 modem groups data into four bit words and transmits at 2400 baud.
- the V.32bis standard supports duplex modems operating at data rates up to 14,400 bps on the general switched telephone network.
- the V.34 standard supports data rates up to 33,600 bps on the general switched telephone network.
- V.42 is a standard error correction technique using advanced cyclical redundancy checks and the principle of automatic repeat requests (ARQ).
- transmitted data is grouped into blocks and cyclical redundancy calculations add error checking words to the transmitted data stream.
- the receiving modem calculates new error check information for the data block and compares the calculated information to the received error check information. If the codes match, the received data is valid and another transfer takes place. If the codes do not match, an transmission error has occurred and the receiving modem requests a repeat of the last data block. This repeat cycle continues until valid data has been received.
- Various voiceband data modem standards exist for error correction and data compression.
- V.42bis and MNP5 are examples of data compression standards. The handshaking sequence for every modem standard is different so that the packet data modem exchange service should support numerous data transmission standards as well as numerous error correction and data compression techniques.
- the call negotiator operating under the packet data modem exchange on the answer network gateway, differentiates between modem types and relays the ANSam answer tone.
- the answer modem transmits unscrambled binary ones signal (USB1) indications to the answer mode gateway.
- the answer network gateway forwards USB1 signal indications to the calling network gateway.
- the call negotiator operating under the packet data modem exchange service on the calling network gateway assumes operation in accordance with the V.22bis standard and terminates the call negotiator.
- the packet data modem exchange service operating on the answer network gateway, invokes operation in accordance with the V.22bis standard after an answer tone timeout period and terminates the call negotiator 200.
- V.22bis handshaking does not utilize rate messages or signaling to indicate the selected bit rate as with most high data rate pumps. Rather, the inclusion of a fixed duration signal (S 1 ) indicates that 2400 bps operation is to be used. In addition, the absence of such a tone indicates that 1200 bps should be selected.
- the duration of the signal is typically about 100 msec, making it likely that the calling modem will perform rate determination (assuming that it selects 2400 bps) before rate indication from the answer modem arrives. Therefore, the rate negotiator within the packet data modem exchange operating in the calling network gateway should select 2400 bps operation and proceed with the handshaking procedure.
- rate re-negotiation is typically used to change the operational data rate of the calling modem to 1200 bps. In this case, if the calling modem selects 1200 bps, rate re-negotiation would not be required.
- V34bis handshaking utilizes rate signals (messages) to specify the bit rate.
- a typical relay sequence in accordance with the V.32bis standard is shown in FIG. 14 and begins with the call negotiator operating under the packet data modem exchange in the answer network gateway relaying ANSam 270 answer tone from the answer modem to the calling modem. After receiving the answer tone for a period of at least one second, the calling modem connects to the line and repetitively transmits carrier state A 272 . When the calling network gateway detects AA, the calling network gateway relays this information to the answer network gateway.
- the packet data modem exchange operating on the answer network gateway invokes operation in accordance with the V.32bis standard upon receipt of AA indication 274 .
- the answer modem then transmits alternating carrier states A and C. If answer network gateway receives AC 276 from the answer modem, the answer network gateway relays it 278 to the calling network gateway, thereby establishing operation in accordance with the V.32bis standard, allowing call negotiator operating under the packet data modem exchange in the calling network gateway to be terminated.
- data rate alignment is achieved by either of two methods.
- the calling modem and the answer modem independently negotiate a data rate at each end of the network 280 and 282 .
- Each network gateway forwards a connection data rate indication 284 and 286 to the other network gateway.
- Each network gateway compares the far end data rate to its own data rate.
- the preferred rate is the minimum of the two rates.
- Rate re-negotiation 288 and 290 is invoked if the connection rate of either network gateway differs from the preferred rate.
- rate signals R 1 , R 2 and R 3 are relayed to achieve data rate synchronization.
- FIG. 15 shows a relay sequence in accordance with the V.32bis standard for this alternate method of rate synchronization.
- the call negotiator relays the answer tone (ANSam) 292 from the answer modem to the calling modem.
- the calling modem detects answer tone it repetitively transmits carrier state A 294 , the calling network gateway relays this information (AA) 296 to the answer network gateway.
- the answer network gateway sends AA 298 to the answer modem which initiates normal range tone exchange with the answer modem.
- the answer network gateway forwards AC 300 to calling network gateway which in turn relays this information 302 to the calling modem to initiate normal range tone exchange with the calling modem.
- the answer modem sends its first training sequence 304 followed by R 1 to the rate negotiator operating in the answer network gateway.
- the answer network gateway receives R 1 , it forwards R 1 306 to the calling network gateway via the packetization engine operating in the answer network gateway.
- the answer network gateway repetitively sends training sequences to the answer modem, until receiving an R 2 indication 308 from the calling modem, and the training result of the calling network gateway (formatted as a rate signal).
- the calling network gateway forwards the R 1 indication 310 of the answer modem to the calling modem.
- the calling modem sends training sequences to calling network gateway 312 .
- the calling network gateway determines the data rate capability of the calling modem, and forwards this training result to the answer network gateway in a data rate signal format.
- the calling modem sends R 2 308 to the calling network gateway which forwards it to the answer network gateway.
- the calling network gateway sends training sequences to the calling modem until receiving an R 3 signal 314 from the answer mode
- the answer network gateway performs a logical AND operation on the R 1 signal from the answer modem, the R 2 signal from the calling modem and the training sequences of the calling network gateway to create a second rate signal R 2 316 , which is forwarded to the answer modem.
- the answer modem sends its second training sequence followed by R 3 .
- the answer network gateway relays R 3 314 to the calling network gateway which forwards it to the calling modem and begins operating at the R 3 specified bit rate.
- this method of rate synchronization is not preferred for V.32bis due to time constrained handshaking.
- Data transmission in accordance with the V.34 standard utilizes a modulation parameter (MP) sequence to exchange information pertaining to data rate capability.
- the MP sequences can be exchanged end to end to achieve data rate synchronization.
- the call negotiator operating under the packet data modem exchange in the answer network gateway relays the answer tone (ANSam) from the answer modem to the calling modem.
- the calling modem receives answer tone, it generates a CM indication.
- the calling network gateway receives a CM indication, it forwards it to the answer network gateway which then communicates the CM indication with the answer modem.
- the answer modem then responds with JM, which is relayed to the calling modem via the calling network gateway.
- the calling network gateway then receives CJ, the call negotiator operating under the packet data modem exchange, on the calling network gateway, initiates operation in accordance with the V.34 standard, and forwards a CJ indication to the answer network gateway. If the JM menu calls for V.34, the call negotiator operating under the packet data modem exchange on the answer network gateway initiates operation in accordance with the V.34 standard and the call negotiator is terminated. If a standard other than V.34 is called for, the appropriate procedure is invoked, such as those described previously for V.22 or V.32bis.
- the calling modem and the answer modem freely negotiate a data rate at each end of the network with the packet data modem exchange service operating on their respective network gateways.
- Each network gateway forwards a connection rate indication to the other gateway.
- Each gateway compares the far end bit rate to the rate transmitted by each gateway.
- the preferred rate is the minimum of the two rates. Rate re-negotiation is invoked if the connection rate at the calling or receiving end differs from the preferred rate, to force the connection to the desired rate.
- V.34 rate synchronization MP sequences are utilized to achieve rate synchronization without rate re-negotiation.
- the calling modem and the answer modem independently negotiate with the calling network gateway and the answer network gateway respectively.
- the calling network gateway and the answer network gateway exchange training results in the form of MP sequences when Phase IV of the independent negotiations is reached.
- the calling network gateway and the answer network gateway are prevented from relaying MP sequences to the calling modem and the answer modem respectively until the training results for both network gateways and the MP sequences for both modems are available.
- the maximum answer data rate and the maximum call data rate of the four MP sequences are compared.
- the lower data rate of the two maximum rates is the preferred data rate.
- Each network gateway sends the MP sequence with the preferred rate to its respective modem so that the calling and answer modems operate at the preferred data rate.
- the preferred call-answer data rate is the lesser of the two highest call-answer rates of the four MP sequences.
- the preferred answer-call data rate is the lesser of the two highest answer-call rates of the four MP sequences.
- Data rate capabilities may also need to be modified when the MP sequence are formed so as to be sent to the calling and answer modems.
- the MP sequence sent to the calling and answer modems is the logical AND of the data rate capabilities from the four MP sequences.
- the V.90 standard utilizes a digital and analog modem pair to transmit modem data over the PSTN line.
- the V.90 standard utilizes MP sequences to convey training results from a digital to an analog modem, and a similar sequence, using constellation parameters (CP) to convey training results from an analog to a digital modem.
- the timeout period is 15 seconds compared to a timeout period of 30 seconds under the V.34 standard.
- the analog modems control the handshake timing during training.
- the calling modem and the answer modem are the V.90 analog modems. As such the calling modem and the answer modem are beyond the control of the network gateways during training.
- the digital modems control the timing during transmission of TRN1d.
- the digital modem uses TRN1d to train its echo canceller.
- the call negotiator When operating in accordance with the V.90 standard, the call negotiator utilizes the V.8 recommendations for initial negotiation. Thus, the invocation of the V.90 relay session is the same as that described for the V.34 standard.
- V.90 relay There are two configurations where V.90 relay may be used.
- the first configuration is data relay between two V.90 analog modems, i.e. the two network gateways are both configured as V.90 digital modems.
- the upstream rate according to the V.90 standard is limited to 33,600 bps.
- the maximum data rate for an analog to analog relay is 33,600 bps.
- the minimum data rate for a V.90 digital gateway will support is 28,800 bps.
- connection must be terminated if the maximum data rate for one or both of the upstream directions is less than 28,800 bps, and one or both the downstream direction is in V.90 digital mode. Therefore, the V.34 relay is preferred over V.90 analog to analog data relay.
- a second configuration is a connection between a V.90 analog modem and a V.90 digital modem.
- a typical example of such a configuration is when a user within a packet based PABX system dials out into a remote access server (RAS) or an Internet service provider (ISP) that uses a central site modem for physical access that is V.90 capable.
- the connection from PABX to the central site modem may be either through PSTN or directly through an ISDN, T1 or E1 interface.
- the V.90 embodiment should support an analog modem interfacing directly to ISDN, T1 or E1.
- the connections at both ends of the packet based network should be either digital or analog to achieve proper rate synchronization.
- the analog modem decides whether to select digital mode as specified in INFO1a, so that INFO1a should be relayed from end to end before operation mode can be synchronized.
- the relay sequence for achieving mode alignment is as follows.
- the calling network gateway receives an INFO1a signal from the calling modem.
- the calling network gateway sends a mode indication to the answer network gateway indicating whether digital or analog will be used. Operation then begins in the mode specified in INFO1a.
- the answer modem sends a signal to the answer network gateway.
- the answer network gateway performs line probe processing on this signal to determine whether digital mode can be used.
- the answer network gateway Upon receipt of the mode indication signal from the calling network gateway, the answer network gateway sends an INFO1a sequence to the answer modem. If analog mode is indicated, the answer network gateway proceeds with analog mode operation. If digital mode is indicated and digital mode can be supported by the answer modem, the answer network gateway sends an INFO1a sequence to the answer modem indicating that digital mode is desired and proceeds with digital mode operation.
- the calling modem must be forced into analog mode by one of three alternate methods.
- some commercially available V.90 analog modems may revert to analog mode after several retrains. Thus, one solution is to force retrains until the calling modem selects analog mode operation.
- the call network gateway modifies its line probe so as to force calling modem 180 to select analog mode.
- the calling modem and the answer modem operate in different modes. Under this method if the answer modem can not support a 28,800 bps data rate the connection is terminated.
- the jitter buffer 208 may underflow during long packet delivery delay.
- the jitter buffer 208 underflow can cause the data pump transmitter 210 to run out of data, so that the jitter buffer 208 must be spoofed with bit sequences.
- bit sequences are benign in most applications.
- the spoofing logic 214 checks for character format and boundary (number of data bits, start bits and stop bits) within the jitter buffer 208 .
- the spoofing logic 214 must account for stop bits omitted due to asynchronous-to-synchronous conversion. Once the spoofing logic 214 locates character boundary, ones can be added to spoof the remote modem and keep it in the mark state. The length of time a modem can be spoofed with ones depends only upon the application program driving the user modem.
- the spoofing logic 214 checks for HDLC flag (HDLC frame boundary) within the jitter buffer 208 .
- the jitter buffer 208 should be sufficiently large to guarantee that at least one complete HDLC frame is contained within the jitter buffer 208 .
- the default length of an HDLC information frame is 132 octets.
- the V.42 recommendations for error correction of data circuit terminating equipment (DCE) using asynchronous-to-synchronous conversion does not specify a maximum length for an HDLC information frame. However, because the length of the information frame affects the overall memory required to implement the protocol, a information frame length larger than 260 octets is unlikely.
- the spoofing logic 214 stores a threshold water mark (with a value set to be approximately equal to the maximum length of an HDLC information frame).
- the spoofing logic 214 searches for HDLC flags (0111110 bit sequence) within the jitter buffer 208 when the amount of data signal stored within the jitter buffer 208 falls below the threshold level.
- the spoofing logic 214 begins to insert HDLC flags into the jitter buffer 208 , and continues until the amount of data signal within the jitter buffer 208 is greater than the threshold level.
- an indication should be forwarded to the network gateway at the end of the packet based network.
- the network gateway receiving a retrain indication should initiate retrain with the connected modem to keep data flow in synchronism between the two connections. Rate synchronization procedures as previously described should be used to maintain data rate alignment after retrains.
- rate renegotiation causes both the calling and answer network gateways and to perform rate renegotiation.
- rate signals or MP (CP) sequences should be exchanged per method two of the data rate alignment as previously discussed for a V.32bis or V.34 rate synchronization whichever is appropriate.
- V.42 Error control
- V.42bis data compression modes
- the calling modem and the answer modem independently negotiate modes on their own, transparent to the modem network gateways. This method is preferred for connections wherein the network delay plus jitter is relatively small, as characterized by an overall round trip delay of less than 700 msec.
- the error control synchronizers 222 operating with the network gateways force the user modems out of LAPM mode into a non-error correcting protocol (V.14).
- the error correction synchronizer 222 operating under the packet data modem exchange 54 in the calling network gateway waits a period of time (about 650 msec.) for an error correction mode indication from the opposite end of the network. If an indication arrives, then the first method is used. If not, the error correction synchronizer 222 operating under the packet data modem exchange in the calling network gateway responds with an ADP followed by HDLC flags. The HDLC flags spoof the calling modem until the an error correction mode indication arrives. If mode indication is received before timeout, which indicates error control mode, then unnumbered acknowledgment (UA) response is sent to the calling modem and the calling network gateway proceeds with an error control connection.
- timeout which indicates error control mode
- the V.42 recommendation does not specify the length of time HDLC flags will be accepted before the calling modem timeouts. Therefore, empirical tests should be performed to determine how long the calling modem within a particular implementation can be spoofed in this manner.
- the calling network gateway if the calling network gateway receives mode indication indicating V.14 or a timeout has occurred, the calling network gateway issues a disconnect mode (DM) response to indicate exit from V.42. The calling modem should then revert to non-error control mode.
- DM disconnect mode
- Data compression mode is negotiated within V.42 so that the appropriate mode indication can be relayed when the calling and answer modems have entered into V.42 mode.
- a third mode is to allow modems at both ends to freely negotiate the error control mode with their respective network gateways.
- the network gateways must fully support all error correction modes when using this method. Also, because of flow control issues, this method cannot support the scenario where one modem selects V.14 while the other modem selects a mode other than V.14. For the case where V.14 is negotiated at both sides of the packet based network, the 8-bit no parity format is assumed and the raw demodulated data bits are transported between the network gateways. With all other cases, each gateway shall extract the de-framed (error corrected) data bits and forwards them to its counterpart at the opposite end of the network. Flow control procedures within the error control protocol can be used to handle network delay. The advantage of this method over the first method is its ability to handle large network delays and also the scenario where the local connection rates at the network gateways are different. However, packets transported over the network in accordance with this method must be guaranteed to be error free.
Abstract
Description
sec to | sec to | sec to | sec to | ||||
Scan | |||||||
Line | Number | out at | out at | out at | out at | ||
Length | of words | 2400 | 4800 | 9600 | 14400 | ||
1728 | 108 | 0.72 | 0.36 | 0.18 | 0.12 | ||
2048 | 128 | 0.853 | 0.427 | 0.213 | 0.14 | ||
2432 | 152 | 1.01 | 0.507 | 0.253 | 0.17 | ||
3456 | 216 | 1.44 | 0.72 | 0.36 | 0.24 | ||
4096 | 256 | 2 | 0.853 | 0.43 | 0.28 | ||
4864 | 304 | 2.375 | 1.013 | 0.51 | 0.34 | ||
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/858,252 US8693646B2 (en) | 1999-09-20 | 2004-06-01 | Packet based network exchange with rate synchronization |
Applications Claiming Priority (21)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15490399P | 1999-09-20 | 1999-09-20 | |
US15626699P | 1999-09-27 | 1999-09-27 | |
US15747099P | 1999-10-01 | 1999-10-01 | |
US16012499P | 1999-10-18 | 1999-10-18 | |
US16115299P | 1999-10-22 | 1999-10-22 | |
US16231599P | 1999-10-28 | 1999-10-28 | |
US16317099P | 1999-11-02 | 1999-11-02 | |
US16316999P | 1999-11-02 | 1999-11-02 | |
US16360099P | 1999-11-04 | 1999-11-04 | |
US16437999P | 1999-11-09 | 1999-11-09 | |
US16468999P | 1999-11-10 | 1999-11-10 | |
US16469099P | 1999-11-10 | 1999-11-10 | |
US16628999P | 1999-11-18 | 1999-11-18 | |
US09/454,219 US6882711B1 (en) | 1999-09-20 | 1999-12-09 | Packet based network exchange with rate synchronization |
US17120399P | 1999-12-15 | 1999-12-15 | |
US17118499P | 1999-12-16 | 1999-12-16 | |
US17116999P | 1999-12-16 | 1999-12-16 | |
US17118099P | 1999-12-16 | 1999-12-16 | |
US17825800P | 2000-01-25 | 2000-01-25 | |
US09/639,527 US6757367B1 (en) | 1999-09-20 | 2000-08-16 | Packet based network exchange with rate synchronization |
US10/858,252 US8693646B2 (en) | 1999-09-20 | 2004-06-01 | Packet based network exchange with rate synchronization |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/454,219 Continuation US6882711B1 (en) | 1999-04-13 | 1999-12-09 | Packet based network exchange with rate synchronization |
US09/639,527 Continuation US6757367B1 (en) | 1999-09-20 | 2000-08-16 | Packet based network exchange with rate synchronization |
Publications (2)
Publication Number | Publication Date |
---|---|
US20040218739A1 US20040218739A1 (en) | 2004-11-04 |
US8693646B2 true US8693646B2 (en) | 2014-04-08 |
Family
ID=27586309
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/639,527 Expired - Lifetime US6757367B1 (en) | 1999-09-20 | 2000-08-16 | Packet based network exchange with rate synchronization |
US10/858,252 Expired - Fee Related US8693646B2 (en) | 1999-09-20 | 2004-06-01 | Packet based network exchange with rate synchronization |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/639,527 Expired - Lifetime US6757367B1 (en) | 1999-09-20 | 2000-08-16 | Packet based network exchange with rate synchronization |
Country Status (1)
Country | Link |
---|---|
US (2) | US6757367B1 (en) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7423983B1 (en) * | 1999-09-20 | 2008-09-09 | Broadcom Corporation | Voice and data exchange over a packet based network |
US6765931B1 (en) * | 1999-04-13 | 2004-07-20 | Broadcom Corporation | Gateway with voice |
US7924752B2 (en) | 1999-09-20 | 2011-04-12 | Broadcom Corporation | Voice and data exchange over a packet based network with AGC |
JP4008632B2 (en) * | 1999-09-27 | 2007-11-14 | 株式会社沖データ | Facsimile communication system |
US7039044B1 (en) * | 1999-10-14 | 2006-05-02 | Mindspeed Technologies, Inc. | Method and apparatus for early detection of DTMF signals in voice transmissions over an IP network |
US7920697B2 (en) * | 1999-12-09 | 2011-04-05 | Broadcom Corp. | Interaction between echo canceller and packet voice processing |
EP1238489B1 (en) * | 1999-12-13 | 2008-03-05 | Broadcom Corporation | Voice gateway with downstream voice synchronization |
USRE42227E1 (en) | 2000-03-28 | 2011-03-15 | Ionipas Transfer Company, Llc | Apparatus and method for connecting hardware to a circuit simulation |
US7266490B2 (en) | 2000-12-28 | 2007-09-04 | Robert Marc Zeidman | Apparatus and method for connecting hardware to a circuit simulation |
US8160863B2 (en) * | 2000-03-28 | 2012-04-17 | Ionipas Transfer Company, Llc | System and method for connecting a logic circuit simulation to a network |
US6888794B1 (en) * | 2000-06-15 | 2005-05-03 | Nortel Networks Limited | Method of data rate exchange for transmissions across a packet-based network |
US7395309B1 (en) | 2000-07-25 | 2008-07-01 | Cisco Technology, Inc. | Modem activity detection |
JP4218195B2 (en) * | 2000-08-31 | 2009-02-04 | 沖電気工業株式会社 | COMMUNICATION CONNECTION DEVICE AND DATA OUTPUT CONTROL METHOD |
US7113501B2 (en) * | 2000-11-16 | 2006-09-26 | Cisco Technology, Inc. | Synchronization of V42bis de/compression for V34/V42 modem relay method and apparatus |
US7212497B2 (en) * | 2000-12-19 | 2007-05-01 | Keys John S | Method and driver for detecting glitches |
US20070016396A9 (en) * | 2000-12-28 | 2007-01-18 | Zeidman Robert M | Apparatus and method for connecting a hardware emulator to a computer peripheral |
US7356605B1 (en) * | 2000-12-29 | 2008-04-08 | Cisco Technology, Inc. | System and method for controlling delivery of streaming media |
US6970430B2 (en) * | 2000-12-29 | 2005-11-29 | Texas Instruments Incorporated | Method to measure throughput efficiency of low speed modem relay over packet network |
US7272136B2 (en) * | 2001-02-02 | 2007-09-18 | Nortel Networks Limited | Dual tone multi frequency signal detection |
US6480585B1 (en) * | 2001-02-15 | 2002-11-12 | Conexant Systems, Inc. | System and method for transmitting a facsimile via a network |
US6944174B1 (en) * | 2001-03-16 | 2005-09-13 | Advanced Micro Devices, Inc. | Jitter reduction of voice packets in a packet-based network |
US7277943B1 (en) * | 2001-04-10 | 2007-10-02 | Cisco Technology, Inc. | Devices, software and methods for allocating jitter buffer memory based on network region of network endpoint |
US6980560B2 (en) * | 2001-05-25 | 2005-12-27 | Mindspeed Technologies, Inc. | System and method for connecting communication devices over packet networks |
US6985481B2 (en) * | 2001-05-25 | 2006-01-10 | Mindspeed Technologies, Inc. | System and method for handling V.8bis signals for modem connections over packet networks |
US7023876B2 (en) * | 2001-07-09 | 2006-04-04 | Quantum Corporation | Point-to-point protocol |
US7697447B2 (en) * | 2001-08-10 | 2010-04-13 | Motorola Inc. | Control of jitter buffer size and depth |
EP1328092A1 (en) * | 2002-01-11 | 2003-07-16 | Alcatel | Method for treating packets of data transmitted with variable delays |
US7512650B2 (en) * | 2002-01-11 | 2009-03-31 | Thomson Licensing | Physical layer recovery in a streaming data delivery system |
US7684383B1 (en) * | 2002-01-30 | 2010-03-23 | 3Com Corporation | Method and system for dynamic call type detection for circuit and packet switched networks |
US7567570B2 (en) * | 2002-03-19 | 2009-07-28 | Network Equipment Technologies, Inc. | Reliable transport of TDM data streams over packet networks |
JP2003283700A (en) * | 2002-03-22 | 2003-10-03 | Sharp Corp | Communication system |
US7158543B1 (en) * | 2002-03-29 | 2007-01-02 | Cisco Technology, Inc. | V.8bis suppression method and apparatus for modem relay |
US7543063B1 (en) * | 2002-05-10 | 2009-06-02 | Cisco Technology, Inc. | Device to terminate a modem relay channel directly to an IP network |
US7519728B1 (en) * | 2002-07-18 | 2009-04-14 | Juniper Networks, Inc. | Merge systems and methods for transmit systems interfaces |
US7133934B1 (en) * | 2002-08-27 | 2006-11-07 | Mindspeed Technologies, Inc. | Adaptive error correction for communications over packet networks |
US7715431B1 (en) * | 2002-10-16 | 2010-05-11 | Cisco Technology, Inc. | Fallback for V.42 modem-over-internet-protocol (MoIP) gateways method and apparatus |
US7391784B1 (en) * | 2002-12-30 | 2008-06-24 | 3Com Corporation | Method and system for communicating state information between devices of a communications network |
US7324533B1 (en) | 2003-02-25 | 2008-01-29 | Cisco Technology, Inc. | Using modem profiles to improve connectivity, connect timing, and compression performance on a modem relay (MR) gateway |
US7369546B2 (en) * | 2003-10-17 | 2008-05-06 | Nortel Networks Limited | Method and apparatus for fast DTMF detection |
US7324506B1 (en) * | 2003-11-10 | 2008-01-29 | Nortel Networks Ltd | Using DSL services to facilitate real-time communications in enterprise networks |
US7397793B2 (en) * | 2004-04-05 | 2008-07-08 | Cisco Technology, Inc. | V.110 over packet networks |
EP1526506A1 (en) * | 2004-08-11 | 2005-04-27 | Siemens Schweiz AG | Method for imitating background noise during a voice communication |
US7830862B2 (en) * | 2005-01-07 | 2010-11-09 | At&T Intellectual Property Ii, L.P. | System and method for modifying speech playout to compensate for transmission delay jitter in a voice over internet protocol (VoIP) network |
US8935353B1 (en) | 2005-01-20 | 2015-01-13 | Oracle America, Inc. | System and method for atomic file transfer operations over connectionless network protocols |
US7761609B1 (en) | 2005-01-20 | 2010-07-20 | Oracle America, Inc. | Socket level packet scheduling for connectionless protocols |
US7852749B2 (en) * | 2005-04-06 | 2010-12-14 | Callwave, Inc. | Methods and systems for routing telecommunications |
US7873994B1 (en) * | 2005-06-27 | 2011-01-18 | Juniper Networks, Inc. | Management of session timeouts in an SSL VPN gateway |
CN100403822C (en) * | 2005-06-30 | 2008-07-16 | 华为技术有限公司 | Adaptive rate consulting device and method |
US7676027B2 (en) * | 2005-06-30 | 2010-03-09 | Intel Corporation | Systems and methods to send and receive encrypted DTMF digits in a data flow |
US7512077B2 (en) * | 2005-09-01 | 2009-03-31 | Network Equipment Technologies, Inc. | Compensation for independent clocks in relayed communication over packet-based networks |
US8024634B2 (en) * | 2007-08-07 | 2011-09-20 | Cisco Technology, Inc. | System and method for implementing a subrate recovery for lost packets in a communications environment |
JP5191826B2 (en) * | 2008-07-04 | 2013-05-08 | パナソニック株式会社 | Stream communication apparatus, stream communication method, and stream communication system |
US7861901B2 (en) * | 2009-01-21 | 2011-01-04 | Phillip Kirschbaum | Pants hanger system |
US8441669B2 (en) * | 2010-03-02 | 2013-05-14 | Cisco Technology, Inc. | SG3-to-G3 fax spoof |
US8422062B2 (en) * | 2010-05-10 | 2013-04-16 | Xerox Corporation | Apparatus and method for facsimile transmission configuration |
JP5693542B2 (en) * | 2012-10-10 | 2015-04-01 | キヤノン株式会社 | Facsimile system, facsimile apparatus, communication method, control method, and program |
KR101447438B1 (en) * | 2013-02-07 | 2014-10-08 | (주)오픈벡스 | Communication system using heterogeneous networks |
US20140278393A1 (en) * | 2013-03-12 | 2014-09-18 | Motorola Mobility Llc | Apparatus and Method for Power Efficient Signal Conditioning for a Voice Recognition System |
JP6302209B2 (en) * | 2013-10-28 | 2018-03-28 | キヤノン株式会社 | Image processing apparatus, control method thereof, and program |
US9819560B2 (en) * | 2014-12-24 | 2017-11-14 | Mediatek Inc. | Dynamic data distribution method in private network and associated electronic device |
US10171182B2 (en) | 2015-01-25 | 2019-01-01 | Valens Semiconductor Ltd. | Sending known data to support fast convergence |
US9685991B2 (en) | 2015-01-25 | 2017-06-20 | Valens Semiconductor Ltd. | Reducing transmission rate to support fast convergence |
US10256920B2 (en) | 2015-01-25 | 2019-04-09 | Valens Semiconductor Ltd. | Mode-conversion digital canceller for high bandwidth differential signaling |
US9621445B2 (en) | 2015-01-25 | 2017-04-11 | Valens Semiconductor Ltd. | Utilizing known data for status signaling |
JP6443899B2 (en) | 2015-01-25 | 2018-12-26 | ヴァレンス セミコンダクター リミテッド | High-speed adaptive mode conversion digital canceller |
Citations (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4285060A (en) | 1978-02-28 | 1981-08-18 | Harris Corporation | Spread spectrum code tracking loop |
US4617676A (en) | 1984-09-04 | 1986-10-14 | At&T Bell Laboratories | Predictive communication system filtering arrangement |
US4756007A (en) * | 1984-03-08 | 1988-07-05 | Codex Corporation | Adaptive communication rate modem |
US5119322A (en) | 1988-05-05 | 1992-06-02 | Mitel Corporation | Digital dtmf tone detector |
US5329587A (en) | 1993-03-12 | 1994-07-12 | At&T Bell Laboratories | Low-delay subband adaptive filter |
US5339384A (en) | 1992-02-18 | 1994-08-16 | At&T Bell Laboratories | Code-excited linear predictive coding with low delay for speech or audio signals |
US5353346A (en) | 1992-12-22 | 1994-10-04 | Mpr Teltech, Limited | Multi-frequency signal detector and classifier |
US5388127A (en) | 1993-02-09 | 1995-02-07 | Hitachi America, Ltd. | Digital timing recovery circuit |
US5452289A (en) | 1993-01-08 | 1995-09-19 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communications system |
US5454015A (en) | 1994-08-01 | 1995-09-26 | Rockwell International Corporation | Adaptive timing recovery with gain adjustment |
US5491565A (en) | 1993-12-03 | 1996-02-13 | Telefonaktiebolaget Lm Ericsson | System and method for varying the transmission rate of facsimile data in a telecommunication system |
US5535271A (en) | 1994-05-27 | 1996-07-09 | Hughes Electronics | Apparatus and method for dual tone multifrequency signal detection |
US5598468A (en) | 1993-05-28 | 1997-01-28 | Lucent Technologies Inc. | Method and apparatus for echo removal in a communication system |
WO1997028628A1 (en) | 1996-01-31 | 1997-08-07 | Labs Of Advanced Technologies International Corporation | Hybrid network for real-time phone-to-phone voice communications |
US5663982A (en) * | 1994-02-28 | 1997-09-02 | Motorola, Inc. | Modem pool data rate adjusting method |
US5694517A (en) | 1995-03-24 | 1997-12-02 | Mitsubishi Denki Kabushiki Kaisha | Signal discrimination circuit for determining the type of signal transmitted via a telephone network |
US5790641A (en) | 1996-06-19 | 1998-08-04 | Northern Telecom Limited | System and method for improving facsimile delay tolerances |
US5793498A (en) | 1995-03-10 | 1998-08-11 | Telogy Networks, Inc. | System for transferring facsimile data without dedicated G3 hardware |
US5805301A (en) * | 1995-03-06 | 1998-09-08 | Nokia Telecommunications Oy | Facsimile transmission in a mobile communication system |
US5818929A (en) | 1992-01-29 | 1998-10-06 | Canon Kabushiki Kaisha | Method and apparatus for DTMF detection |
US5852630A (en) | 1997-07-17 | 1998-12-22 | Globespan Semiconductor, Inc. | Method and apparatus for a RADSL transceiver warm start activation procedure with precoding |
US5859671A (en) | 1995-06-09 | 1999-01-12 | Samsung Electronics Co., Ltd. | Symbol timing recovery circuit and method |
US5970441A (en) | 1997-08-25 | 1999-10-19 | Telefonaktiebolaget Lm Ericsson | Detection of periodicity information from an audio signal |
US5987061A (en) | 1996-05-09 | 1999-11-16 | Texas Instruments Incorporated | Modem initialization process for line code and rate selection in DSL data communication |
US6023470A (en) | 1996-05-17 | 2000-02-08 | Lee; Warren S. | Point of presence (POP) for digital facsimile network with virtual POPs used to communicate with other networks |
US6028679A (en) | 1995-11-13 | 2000-02-22 | Netfax Incorporated | Internet global area networks fax system |
US6125177A (en) | 1997-09-15 | 2000-09-26 | Nortel Networks Corporation | Telephone communications network with enhanced signaling and call routing |
US6141341A (en) | 1998-09-09 | 2000-10-31 | Motorola, Inc. | Voice over internet protocol telephone system and method |
US6151636A (en) | 1997-12-12 | 2000-11-21 | 3Com Corporation | Data and media communication through a lossy channel using signal conversion |
US6215793B1 (en) * | 1996-11-12 | 2001-04-10 | Alcatel | Initialization protocol for adaptive data rates, and related transceiver |
US6233226B1 (en) | 1998-12-14 | 2001-05-15 | Verizon Laboratories Inc. | System and method for analyzing and transmitting video over a switched network |
US6259677B1 (en) | 1998-09-30 | 2001-07-10 | Cisco Technology, Inc. | Clock synchronization and dynamic jitter management for voice over IP and real-time data |
US6353610B1 (en) | 1998-06-19 | 2002-03-05 | Lucent Technologies, Inc. | Method and system for call signaling in telephone calls over a packet-switched network |
US6501790B1 (en) * | 1999-07-09 | 2002-12-31 | Nms Communications Corporation | Method and apparatus for providing high speed modem replay using locally connecting modems |
US6757250B1 (en) * | 1999-04-12 | 2004-06-29 | Mindspeed Technologies, Inc. | Methods and apparatus for data communications through packet networks |
US7006511B2 (en) | 2001-07-17 | 2006-02-28 | Avaya Technology Corp. | Dynamic jitter buffering for voice-over-IP and other packet-based communication systems |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8623064D0 (en) * | 1986-09-25 | 1986-10-29 | Nat Plastics Ltd | Cap for container closure |
-
2000
- 2000-08-16 US US09/639,527 patent/US6757367B1/en not_active Expired - Lifetime
-
2004
- 2004-06-01 US US10/858,252 patent/US8693646B2/en not_active Expired - Fee Related
Patent Citations (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4285060A (en) | 1978-02-28 | 1981-08-18 | Harris Corporation | Spread spectrum code tracking loop |
US4756007A (en) * | 1984-03-08 | 1988-07-05 | Codex Corporation | Adaptive communication rate modem |
US4617676A (en) | 1984-09-04 | 1986-10-14 | At&T Bell Laboratories | Predictive communication system filtering arrangement |
US5119322A (en) | 1988-05-05 | 1992-06-02 | Mitel Corporation | Digital dtmf tone detector |
US5818929A (en) | 1992-01-29 | 1998-10-06 | Canon Kabushiki Kaisha | Method and apparatus for DTMF detection |
US5339384A (en) | 1992-02-18 | 1994-08-16 | At&T Bell Laboratories | Code-excited linear predictive coding with low delay for speech or audio signals |
US5353346A (en) | 1992-12-22 | 1994-10-04 | Mpr Teltech, Limited | Multi-frequency signal detector and classifier |
US5790532A (en) | 1993-01-08 | 1998-08-04 | Multi-Tech Systems, Inc. | Voice over video communication system |
US5577041A (en) | 1993-01-08 | 1996-11-19 | Multi-Tech Systems, Inc. | Method of controlling a personal communication system |
US5764627A (en) | 1993-01-08 | 1998-06-09 | Multi-Tech Systems, Inc. | Method and apparatus for a hands-free speaker phone |
US5471470A (en) | 1993-01-08 | 1995-11-28 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communications system |
US5452289A (en) | 1993-01-08 | 1995-09-19 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communications system |
US5600649A (en) | 1993-01-08 | 1997-02-04 | Multi-Tech Systems, Inc. | Digital simultaneous voice and data modem |
US5388127A (en) | 1993-02-09 | 1995-02-07 | Hitachi America, Ltd. | Digital timing recovery circuit |
US5329587A (en) | 1993-03-12 | 1994-07-12 | At&T Bell Laboratories | Low-delay subband adaptive filter |
US5598468A (en) | 1993-05-28 | 1997-01-28 | Lucent Technologies Inc. | Method and apparatus for echo removal in a communication system |
US5491565A (en) | 1993-12-03 | 1996-02-13 | Telefonaktiebolaget Lm Ericsson | System and method for varying the transmission rate of facsimile data in a telecommunication system |
US5663982A (en) * | 1994-02-28 | 1997-09-02 | Motorola, Inc. | Modem pool data rate adjusting method |
US5535271A (en) | 1994-05-27 | 1996-07-09 | Hughes Electronics | Apparatus and method for dual tone multifrequency signal detection |
US5454015A (en) | 1994-08-01 | 1995-09-26 | Rockwell International Corporation | Adaptive timing recovery with gain adjustment |
US5805301A (en) * | 1995-03-06 | 1998-09-08 | Nokia Telecommunications Oy | Facsimile transmission in a mobile communication system |
US5793498A (en) | 1995-03-10 | 1998-08-11 | Telogy Networks, Inc. | System for transferring facsimile data without dedicated G3 hardware |
US5694517A (en) | 1995-03-24 | 1997-12-02 | Mitsubishi Denki Kabushiki Kaisha | Signal discrimination circuit for determining the type of signal transmitted via a telephone network |
US5859671A (en) | 1995-06-09 | 1999-01-12 | Samsung Electronics Co., Ltd. | Symbol timing recovery circuit and method |
US6028679A (en) | 1995-11-13 | 2000-02-22 | Netfax Incorporated | Internet global area networks fax system |
WO1997028628A1 (en) | 1996-01-31 | 1997-08-07 | Labs Of Advanced Technologies International Corporation | Hybrid network for real-time phone-to-phone voice communications |
US5987061A (en) | 1996-05-09 | 1999-11-16 | Texas Instruments Incorporated | Modem initialization process for line code and rate selection in DSL data communication |
US6023470A (en) | 1996-05-17 | 2000-02-08 | Lee; Warren S. | Point of presence (POP) for digital facsimile network with virtual POPs used to communicate with other networks |
US5790641A (en) | 1996-06-19 | 1998-08-04 | Northern Telecom Limited | System and method for improving facsimile delay tolerances |
US6215793B1 (en) * | 1996-11-12 | 2001-04-10 | Alcatel | Initialization protocol for adaptive data rates, and related transceiver |
US5852630A (en) | 1997-07-17 | 1998-12-22 | Globespan Semiconductor, Inc. | Method and apparatus for a RADSL transceiver warm start activation procedure with precoding |
US5970441A (en) | 1997-08-25 | 1999-10-19 | Telefonaktiebolaget Lm Ericsson | Detection of periodicity information from an audio signal |
US6125177A (en) | 1997-09-15 | 2000-09-26 | Nortel Networks Corporation | Telephone communications network with enhanced signaling and call routing |
US6151636A (en) | 1997-12-12 | 2000-11-21 | 3Com Corporation | Data and media communication through a lossy channel using signal conversion |
US6353610B1 (en) | 1998-06-19 | 2002-03-05 | Lucent Technologies, Inc. | Method and system for call signaling in telephone calls over a packet-switched network |
US6141341A (en) | 1998-09-09 | 2000-10-31 | Motorola, Inc. | Voice over internet protocol telephone system and method |
US6259677B1 (en) | 1998-09-30 | 2001-07-10 | Cisco Technology, Inc. | Clock synchronization and dynamic jitter management for voice over IP and real-time data |
US6233226B1 (en) | 1998-12-14 | 2001-05-15 | Verizon Laboratories Inc. | System and method for analyzing and transmitting video over a switched network |
US6757250B1 (en) * | 1999-04-12 | 2004-06-29 | Mindspeed Technologies, Inc. | Methods and apparatus for data communications through packet networks |
US6501790B1 (en) * | 1999-07-09 | 2002-12-31 | Nms Communications Corporation | Method and apparatus for providing high speed modem replay using locally connecting modems |
US7006511B2 (en) | 2001-07-17 | 2006-02-28 | Avaya Technology Corp. | Dynamic jitter buffering for voice-over-IP and other packet-based communication systems |
Non-Patent Citations (80)
Title |
---|
Bell Communications Research, Digit Simulation Test Tape, Technical Reference TR-TSY-000763 Issue 1, © Jul. 1987, 6 sheets. |
Bell Communications Research, Dual-Tone Multifrequency Receiver Generic Requirements for End-to-End Signaling Over Tandem-Switched Voice Links, ® Mar. 1987, Technical Reference TR-TSY-000181 Issue 1, 11 sheets. |
Bell Communications Research, Impulse Noise Tape No. 201, Technical Reference TR-TSY-000762 Issue 1, © Jul. 1987, 4 sheets. |
Bellcore Bell Communication Research, Generic Requirements GR-506-CORE, LSSGR: Signaling for Analog Interfaces, (A Module of LSSGR, FR-64); Issue 1; © Jun. 1996; 240 sheets. |
Dennis R. Morgan et al., A Delayless Subband Adaptive Filter Architecture, IEEE Transactions on Signal Processing; vol. 43, No. 8; © Aug. 1995, pp. 1819-1830. |
Dennis R. Morgan et al., AT & T Bell Laboratories, A Multitone Pseudocascade Filtered-X LMS Adaptive Notch Filter, IEEE Transactions on Signal Processing, vol. 41, No. 2; © Feb. 1993; pp. 946-956. |
Dennis R. Morgan et al., AT & T Bell Laboratories; A Multi-Tone Pseudo-Cascade Filtered-X LMS Adaptive Notch Filter, Proceeding of the IEEE International Conference in Acoustic Speech and Signal Processing, ICASSP 91, vol. 3 D, May 1991, Toronto, Ontario, Canada, pp. 2093-2096. |
Edward A. Lee et al., Adaptive Equalization, Digital Communication, Chapter 9, pp. 371-402. |
Edward A. Lee et al., Timing Recovery, Digital Communication, Chapter 15, pp. 560-582. |
Edward B. Morgan, Fax Over Packet; Telogy Networks, Inc., Germantown, Maryland; © 1998; pp. 1-12. |
EIA/TIA-464-B, Requirements for Private Branch Exchange (PBX) Switching Equipment, "6 Signaling Requirements, 6.1 Network Signaling-Analog," pp. 140-146. |
ETSI EN 300 973, Global System for Mobile Communications, Digital cellular telecommunications system (Phase 2+); Half rate speech; Voice Activity Detector (VAD) for half rate speech traffic channels; GSM 06.42 version 8.0.1 Release 1999); © 2000; pp. 1-22. |
European Telecommunication Standard, Digital Cellular Telecommunications System; Half Rate Speech; Voice Activity Detector (VAD) for Half Rate Speech Traffic Channels (GSM 06.42 version 5.0.1); Source ETS; TC-GSM; Reference DE/SMG-110642Q; © 1997; 21 sheets. |
FAX Over IP Opportunities and Options, Natural MicroSystems, 7 sheets. |
Frame Relay Forum Technical Committee, Voice over Frame Relay Implementation Agreement; © 1998; 54 sheets. |
Fuyun Ling et al., Convergence and Steady-State Behavior of a Phase-Splitting Fractionally Spaced Equalizer, IEEE Transactions on Communications, © Apr. 4, 1990, vol. 38, No. 4, pp. 418-425, IEEE. |
Gardner et al.; Qualcomm Inc.; QCELP: A Variable Rate Speech Coder for CDMA Digital Cellular, ® 1993 by Kluwer Academic Publishers; Second Printing 1995; 9 sheets. |
IEEE; IEEE Standards for Local and Metropolitan Area Networks: Supplement to Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications, Media Access Control (MAC) Parameters, Physical Layer, Medium Attachment Units, and Repeater for 100 Mb/s Operation, Type 100BASE-T (Clauses 21-30); © 1995; 408 sheets. |
IMTC Voice over IP Forum Technical Committee, "IMTC Voice over IP Forum Service Interoperability Implementation Agreement 1.0," Dec. 1, 1997, VoIP97-061; pp. 1-44. |
International Telecommunication Union ITU-T Telecommunication Standardization Sector of ITU, General Aspects of Digital Transmission Systems, Coding of Speech at 16 kbit/s Using Low-Delay Code Excited Linear Prediction, Annex G: 16 kbit/s Fixed Point Specification, ITU-T Recommendation G.728-Annex G; © ITU 1995; 67 sheets. |
International Telecommunication Union ITU-T Telecommunication Standardization Sector of ITU, General Aspects of Digital Transmission Systems, Coding of Speech at 8 kbit/s Using Conjugate-Structure Algebraic-Code-Excited Linear-Prediction (CS-ACELP); ITU-T Recommendation G.729; © ITU 1996; 38 sheets. |
International Telecommunication Union, CCITT The International Telegraph and Telephone Consultative Committee, Data Communication Over the Telephone Network, Data Compression Procedures for Data Circuit Terminating Equipment (DCE) Using Error Correction Procedures, ITU-T Recommendation, V.42 bis; © ITU 1990; 29 sheets. |
International Telecommunication Union, CCITT The International Telegraph and Telephone Consultative Committee, General Aspects of Digital Transmission Systems; Terminal Equipments, 40, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM), ITU-T Recommendation, G.726; © 1990; 59 sheets. |
International Telecommunication Union, CCITT The International Telegraph and Telephone Consultative Committee, General Aspects of Digital Transmission Systems; Terminal Equipments, 5-, 4-, 3- and 2-bits Sample Embedded Adaptive Differential Pulse Code Modulation (ADPCM); Recommendation G. 727; © ITU 1990; 57 sheets. |
International Telecommunication Union, CCITT-The International Telegraph and Telephone Consultative Committee, Data Communication Over the Telephone Network, A 2-Wire Modem for Facsimile Applications With Rates up to 14 400 bit/s, Recommendation V. 17; © ITU 1991; 13 sheets. |
International Telecommunication Union, Data Communication Over the Telephone Network, 1200 Bits Per Second Duplex Modem Standardized for Use in the General Switched Telephone Network and on Point-To-Point 2-Wire Leased Telephone-Type Circuits, ITU-T Recommendation V.22, (Extract from the Blue Book). |
International Telecommunication Union, Data Communication Over the Telephone Network, 2400 Bits Per Second Duplex Modem Using the Frequency Division Technique Standardized for Use on the General Switched Telephone Network and on Point-To-Point 2-Wire Leased Telephone-Type Circuits, ITU-T Recommendation V.22 bis, (Extract from the Blue Book). |
International Telecommunication Union, Data Communication Over the Telephone Network, A Duplex Modem Operating at Data Signalling Rates of Up to 14 400 bit/s for Use on the General Switched Telephone Network and on Leased Point-To-Point 2-Wire Telephone-Type Circuits, Recommendation V.32 bis, Geneva, 1991. |
International Telecommunication Union, Data Communication Over the Telephone Network, A Modem Operating at Data Signalling Rates of Up to 28 800 bit/s for Use on the General Switched Telephone Network and on Leased Point-To-Point 2-Wire Telephone-Type Circuits, ITU-T Recommendation V.34 Sep. 1994 (Previously "CCITT Recommendation"). |
International Telecommunication Union, Data Over the Telephone Network, A Family of 2-Wire, Duplex Modems Operating at Data Signalling Rates of Up to 9600 bit/s for Use on the General Switched Telephone Network and on Leased Telephone-Type Circuits, ITU-T Recommendation V.32 (Mar. 1993), (Previously CCITT Recommendation). |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Data Communication Over the Telephone Network, 4800/2400 Bits Per Second Modem Standardized for Use in the General Switched Telephone Network, ITU-T Recommendation, V.27 ter, © ITU 1988, 1993; 15 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Data Communication Over the Telephone Network, 9600 Bits Per Second Modem Standardized for Use on Point-To-Point 4-Wire Leased Telephone-Type Circuits, ITU-T Recommendation, V. 29, © ITU 1988, 1993, 17 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Data Communication Over the Telephone Network, Error-Correcting Procedures for DCES Using Asynchronous-To-Synchronous Conversion, ITU-T Recommendation V. 42; © ITU 1993; 78 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Data Communication Over the Telephone Network,300 Bits Per Second Duplex Modem Standardized for Use in the General Switched Telephone Network, ITU-T Recommendation V. 21; © ITU 1988, 1993; 7 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, General Aspects of Digital Transmission Systems, Dual Rate Speech Coder for Multimedia Communications Transmitting at 5.3 and 6.3 kbit/s; ITU-T Recommendation G. 723.1; © ITU 1996; 31 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, General Aspects of Digital Transmission Systems, Terminal Equipments, 7 kHz Audio -Coding Within 64 Kbit/s, ITU Recommendation; G. 722; © ITU 1988, 1993; 76 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, General Characteristics of International Telephone Connections and International Telephone Circuits, Echo Cancellers, ITU-T Recommendation G. 165; © ITU 1994; 31 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, General Recommendations on Telephone Switching and Signalling, International Automatic and Semi-Automatic Working, Multifrequency Push-button Signal Reception, ITU-T Recommendation, Q. 24, © ITU 1988, 1993, 7 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, General Recommendations on Telephone Switching and Signalling, International Automatic and Semi-Automatic Working, Technical Features of Push-Button Telephone Sets, ITU-T Recommendation; Q 23; © ITU 1988, 1993, 4 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series G: Transmission Systems and Media, Digital Systems and Networks, Automatic Level Control Devices; ITU-T Recommendation G.169; © ITU 1999; pp. 1-52. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series G: Transmission Systems and Media, Digital Systems and Networks, International Telephone Connections and Circuits-Apparatus Associated With Long-Distance Telephone Circuits, Digital Network Echo Cancellers; ITU-T Recommendation G. 168; © ITU 1997; 95 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series G: Transmission Systems and Media, Digital Transmission Systems-Terminal Equipments-Coding of Analogue Signals by Methods Other Than PCM, Coding of Speech at 8 kbit/s Using Conjugate Structure Algebraic-Code-Excited Linear-Prediction (CS-ACELP) Annex A: Reduced Complexity 8 kbit/s CS-ACELP Speech Codec, ITU-T Recommendation G.729-Annex A; © ITU 1997; 15 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series G: Transmission Systems and Media, Digital Transmission Systems-Terminal Equipments-Coding of Analogue Signals by Methods Other Than PCM, Coding of Speech at 8 kbit/s Using Conjugate Structure Algebraic-Code-Excited Linear-Prediction (CS-ACELP), Annex B: A Silence Compression Scheme for G.729 Optimized for Terminals Conforming to Recommendation V.70, ITU-T Recommendation G.729-Annex B; © ITU 1997; 23 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series G: Transmission Systems and Media, Digital Transmission Systems-Terminal Equipments-Coding of Analogue Signals by Methods Other Than PCM, Dual Rate Speech Coder for Multimedia Communications Transmitting at 5.3 and 6.3 kbit/s, Annex A: Silence Compression Scheme; ITU-T Recommendation G.723.1-Annex A; © ITU 1997; 22 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series I: Integrated Services Digital Network, Overall Network Aspects and Functions-Protocol Layer Requirements, AAL Type 2 Service Specific Convergence Sublayer for Trunking; ITU-T Recommendation I.366.2; © ITU 1999; 96 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series T: Terminal Equipments and Protocols for Telematic Services, Standardization of Group 3 Facsimile Terminals for Document Transmission, ITU-T Recommendation T. 4; © ITU 1997; 61 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series T: Terminals for Telematic Services, Procedures for Real Time Group 3 Facsimile Communication Over IP Networks, ITU-T Pre-published Recommendation T. 38; © ITU 1998; 32 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series V: Data Communication Over the Telephone Network, A Modem Operating at Data Signalling Rates of up to 33 600 bit/s for Use on the General Switched Telephone Network and on Leased Point-to-Point 2-Wire Telephone-Type Circuits; ITU-T Recommendation V. 34; © FTU 1998; 78 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Series V: Data Communication Over the Telephone Network, Simultaneous Transmission of Data and Other Signals, A Digital Modem and Analogue Modem Pair for Use on the Public Switched Telephone Network (PSTN) at Data Signalling Rates of up to 56 000 bit/s Downstream and up to 33 600 bit/s Upstream, ITU-T Recommendation V. 90; © ITU 1999; 49 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU, Transmission Systems and Media, Apparatus Associated With Long-Distance Telephone Circuits and Other Terminal Equipments, Echo Suppressors, ITU-T Recommendation, G. 164; © ITU 1988, 1993; 36 sheets. |
International Telecommunication Union, ITU-T Telecommunication Standardization Sector of ITU; General Aspects of Digital Transmission Systems; Terminal Equipments, Coding of Speech at 16 kbit/s Using Low-delay Code Excited Linear Prediction, Recommendation G. 728; Sep. 1992, 65 sheets. |
International Telecommunication Union, ITU-T Telecommunication: Standardization Sector of ITU, General Aspects of Digital Transmission Systems, Terminal Equipments, Pulse Code Modulation (PCM) of Voice Frequencies, ITU-T Recommendation, G. 711; © ITU1988, 1993; 8 sheets. |
International Telecommunication Union, ITU-T, Telecommunication Standardization Sector of ITU, Series I: Integrated Services Digital Network, Overall Network Aspects and Functions-Protocol Layer Requirements, B-ISDN ATM Adaptation Layer Specification: Type 2 AAL, ITU-T Recommendation 1.363.2; © 1998; 47 sheets. |
International Telecommunication Union, ITU-T-Telecommunication Standardization Sector of ITU, Series T: Terminal Equipments and Protocols for Telematic Services, Procedures for Document Facsimile Transmission in the General Switched Telephone Network, ITU-T Recommendation T. 30; © ITU 1997; 74 sheets. |
Internet Papers: Perkins et al.; RTP Payload for Redundant Audio Data; Network Working Group Request for Comments: 2198; http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2198.html; Sep. 1997; pp. 1-9. |
Internet Papers: Schulzrinne et al.; RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals; Network Working Group Request for Comments: 2833; © The Internet Society 2000; 31 sheets. |
Internet Papers: Schulzrinne H.; RTP Profile for Audio and Video Conferences with Minimal Control, Network Working Group Request for Comments: 1890; http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1890.html; Jan. 1996; 15 sheets. |
Internet Papers: Schulzrinne, "RTP Profile for Audio and Video Conferences with Minimal Control," Internet Engineering Task Force, Internet Draft; http://hegel.ittc.ukans.edu/topics/internet/internet-drafts/draft-i/draft-ietf-avt-profile-new-C..; Nov. 20, 1997; pp. 1-29. |
James Thi et al., AT & T Bell Laboratories; A Broadband Pseudo-Cascade Active Control System, Proceeding of the IEEE International Conference in Acoustic Speech and Signal Processing; © 1992 IEEE; pp. II-233-II-236. |
John A.C. Bingham, Linear Adaptive Equalizers, The Theory and Practice of Modem Design, © 1988, Chapter 8, pp. 237-252, John Wiley & Sons, Inc. |
John A.C. Bingham, Timing Recovery, The Theory and Practice of Modem Design, © 1988, Chapter 7, pp. 189-236, John Wiley & Sons, Inc. |
John G. Proakis, Digital Signaling Over a Channel With Intersymbol Interference, Digital Communications, ISBN 0-07-05097-1, ® 1983, pp. 357-381, McGraw-Hill, Inc. |
Man Mohan Sondhi et al., Silencing Echoes on the Telephone Network, Proceedings of the IEEE, © Aug. 1980, vol. 68, No. 8, pp. 948-963. |
Mike Gray, FAX Technology Tutorial and Testing Issues, Agilent Technologies, © 2000, pp. 1-20. |
Panos E Papamichalis, Texas Instruments, Inc., Practical Approaches to Speech Coding, Prentice-Hall, Inc., Englewood Cliffs, New Jersey; 1992, pp. 163-167. |
Paul Fischer, State Machines in C, The C Users Journal, Dec. 1990, pp. 119-122. |
R. W. Lucky, QAM Receiver I. General Description of Complete Receiver Block Diagram and Details of the Symbol Clock Recovery and Other Front-End Subsystems, Applications of Communications Theory, Chapter 13, pp. 127-135, Bellcore. |
R. W. Lucky, QAM Receiver II. The Passband Adaptive Equalizer and Carrier Recovery System, Applications of Communications Theory, Chapter 14, pp. 137-151, Bellcore. |
U.S. Appl. No. 09/493,458, filed Jan. 28, 2000, Henry Li. |
U.S. Appl. No. 09/522,184, filed Mar. 9, 2000, Henry Li et al. |
U.S. Appl. No. 09/533,022, filed Mar. 22, 2000, Wilf Le Blanc et al. |
U.S. Appl. No. 09/643,920, filed Aug. 23, 2000, Onur Tackin et al. |
U.S. Appl. No. 09/643,921, filed Aug. 23, 2000, Wilf Le Blanc et al. |
U.S. Appl. No. 09/644,586, filed Aug. 23, 2000, Henry Li. |
U.S. Appl. No. 09/651,006, filed Aug. 29, 2000, Kenny C. Kwan. |
U.S. Appl. No. 09/653,261, filed Aug. 31, 2000, Onur Tackin et al. |
U.S. Appl. No. 09/654,376, filed Sep. 1, 2000, Onur Tackin. |
U.S. Appl. No. 09/692,554, filed Oct. 19, 2000, Wilf Le Blanc et al. |
U.S. Appl. No. 09/697,777, filed Oct. 26, 2000, Will Le Blanc et al. |
William Webb et al., Basic Equaliser Techniques, Modern Quadrature Amplitude Modulation, Principles and Applications for Fixed and Wireless Communications, IEEE Press, New York, Chapter 7, pp. 197-211. |
Also Published As
Publication number | Publication date |
---|---|
US6757367B1 (en) | 2004-06-29 |
US20040218739A1 (en) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8693646B2 (en) | Packet based network exchange with rate synchronization | |
US6882711B1 (en) | Packet based network exchange with rate synchronization | |
US7529325B2 (en) | Voice and data exchange over a packet based network with timing recovery | |
US7653536B2 (en) | Voice and data exchange over a packet based network with voice detection | |
US7161931B1 (en) | Voice and data exchange over a packet based network | |
US8515054B2 (en) | Voice and data exchange over a packet based network with echo cancellation | |
US8583427B2 (en) | Voice and data exchange over a packet based network with voice detection | |
US20070110042A1 (en) | Voice and data exchange over a packet based network | |
US7924752B2 (en) | Voice and data exchange over a packet based network with AGC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BROADCOM CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NICOL, JORDAN JAMES;REEL/FRAME:032220/0749 Effective date: 20000718 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001 Effective date: 20160201 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001 Effective date: 20160201 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001 Effective date: 20170120 Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001 Effective date: 20170120 |
|
AS | Assignment |
Owner name: BROADCOM CORPORATION, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041712/0001 Effective date: 20170119 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047230/0910 Effective date: 20180509 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047351/0384 Effective date: 20180905 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:049248/0558 Effective date: 20180905 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20220408 |