Channel Type
Each G.PAK DSP supports a fixed number of channels. The number of channels available in a DSP is dependent on the DSP type and the capabilities selected at build time.
There are several types of channels; TDM to Packet, PCM to TDM, Packet to Packet, AAL2, Circuit Data, TDM to Conference, Packet to Conference, and Conference Composite. Each channel in a DSP can be dynamically setup as any type at run time. Frame sizes, audio codec types, and tone detection types are selected when a channel is setup from capabilities configured at build time
TDM to packet channel types provide a linkage between analog telephones (TDM data) and digital telephones (packet data). They are full duplex channels used to convert TDM data to/from packet data. This type of channel is typically used in a voice-over-packet application.
TDM to Packet TDM to packet channel types provide a linkage between analog telephones (TDM data) and digital telephones (packet data). They are full duplex channels used to convert TDM data to/from packet data. This type of channel is typically used in a voice-over-packet application.
TDM to packet processing. The TDM to packet processing thread inputs 8 kHz PCM samples from a TDM time slot and buffers as many samples as needed to build an output frame. When enough samples are buffered, the PCM input data is optionally passed through the PCM echo canceller, automatic gain control (AGC), the tone detector (TD) and the voice activity detector. The channel’s encoder type identifies which vocoder will be used. The vocoder output is formatted and packed into the vocoder’s packet payload and sent to the host for transmission. Packet to TDM processing. The packet to TDM processing thread reads a packet from the host control processor and generates PCM samples according to the received packet type.
TDM to TDM channel types provide a linkage between two analog phones. They are full duplex channels used to transfer PCM data between TDM slots. These channels are typically used for PCM echo cancellation or time slot interchanging. They are implemented as two functions (forward and reverse channels) within a single thread of processing. Each function inputs 8 kHz PCM samples from a serial port time slot and buffers as many samples as needed to perform echo cancellation. When enough samples
are buffered, the PCM input data is passed through the echo canceller and again buffered for output. The buffered output samples are then delivered to a TDM slot.
Both echo canceller algorithms are independent options selectable at channel setup.
Packet to Packet type channels provide conversion of packet payload data from one type or frame size to another for a full duplex communication path. Packet payload data is read from the control processor and decoded to 8 KHz samples. The samples are then processed, encoded, and the modified packet is written to the control processor. This same process occurs for two packet paths (A to A’ and B to B’). Each packet can use any configured frame size and codec type. VAD and Tone processing can optionally be performed on the decoded data. G.168 can optionally be used for the A to A’ path and/or B to B’ path. This type of channel is typically used in a gateway application to perform rate conversion, codec type conversion, or echo cancellation.
Circuit Data type channels have 2 threads of processing. The first thread inputs a number of contiguous slots (8 KHz samples) from a serial port, multiplexes the samples into a single packet payload, and writes the packet payload to the control processor. The second thread reads a packet payload from the control processor, demultiplexes the samples from the payload, and outputs the samples to a number of contiguous slots on a serial port. Both threads multiplex or demultiplex the same number of samples (Mux Factor). The frame size used by both channels is dependent upon the Mux Factor. This type of channel is typically used for AAL2 Circuit Data packets.
TDM Conference Channel types are used to allow analog telephones to join a conferencing call. These channels invoke two functions within a single processing thread. The conference input function inputs 8 kHz PCM samples from a TDM slot and buffers as many samples as needed for a frame used by the conference. When enough samples are buffered, the PCM data is optionally passed through PCM echo cancellation and automatic gain control (AGC) algorithms before being passed to the Conferencing algorithm for use as one of the conference inputs. The conference output function buffers the conference’s output data for the channel. Each channel has its own conference output data that removes a speaker’s voice from his own output. The buffered samples are then output to a TDM slot. The pcm canceller and automatic gain control algorithms are independent options selectable at channel setup.
Packet Conference Channel types allow digital telephones to join a conferencing call. These channels invoke two functions within a single thread of processing. The conference input function reads a packet from the host control processor and generates PCM samples according to the received packet type. If a silence packet is received, comfort noise is generated. If a tone packet is received, the specified tone is generated.
If an audio packet is received, it is decoded according to the input packet codec type. The generated PCM samples are then optionally passed through the packet echo canceller and automatic gain control algorithms before being passed to the Conferencing algorithm for use as one of the conference inputs.
Conference Output
The conference output function buffers the normalized sum of all conference member’s input data minus the channel’s own input data. The samples are buffered until there are enough samples to build an output frame. When enough samples are buffered, the samples are optionally passed through the tone detector (TD) and the voice activity detector (VAD).
G.PAK notifies the host at the start and end of each tone. If tone relay is enabled, tone packets are generated for each frame until the tone ends; an end of tone packet is generated when the tone stops. Voice activity detection is optionally performed when no tone is detected. A silence packet is generated when VAD does not detect voice activity; Voice encoding is performed whenever tone or silence packets are NOT generated. The channel’s encoder type identifies which vocoder will be used. The vocoder output is formatted and packed into the vocoder’s packet payload and sent to the host for transmission. The packet echo canceller, tone detection, tone relay, voice activity detection, and automatic gain control algorithms are independent options selectable at channel setup. Input packets are read and output packets are generated with the same frequency as the conference’s frame size.
Channel Density
The maximum number of channels available with G.PAK is a function of the target DSP type and the features selected at build time. Each G.PAK DSP is configured at build time to ensure that sufficient DSP memory and MIPS exist to support all channels concurrently regardless of the features selected at channel setup.