# Migrating to Fusion 4.4

Fusion 4.4 provides substantial improvements and new features over Fusion 4.1. New features simplify the programming model and enhance the processing efficiency of MSPP connections. The changes include new and modified MSPP endpoint and channel types and new structures for creating and configuring these MSPP service objects. These changes require developers to make minor code modifications and to recompile existing applications.

## Channel enhancements

To improve CG board CPU resource usage, Fusion 4.4 reduces the number of filters to transfer data through MSPP connections. This is accomplished by moving some voice and fax processing tasks from MSPP channels to MSPP endpoints. For example, Fusion 4.1 voice channels performed voice data packetization and de-packetization through assembler and dissembler filters. In Fusion 4.4, voice data packetization and de-packetization takes place within the RTP endpoint. The following illustration shows the filter chains used by voice channels in Fusion 4.1 and the filter chains used by voice channels in Fusion 4.4:

In Fusion 4.4, simplex voice connections, either the voice decoder or voice encoder filter is omitted from the voice channel (depending on the direction of the data transfer). The following illustration shows the difference between T.38 fax connections in Fusion 4.1 and Fusion 4.4:

The following table shows the filters that make up MSPP service channels in Fusion 4.1 and Fusion 4.4:

Channel | Fusion 4.1 channel filters | Fusion 4.4 channel filters
Duplex voice | Bridge, jitter, RTP assembler, RTP disassembler, voice decoder, voice encoder | Jitter, voice encoder, voice decoder
T.38 fax | IFP decoder, IFP encoder, T.38 fax modulator and demodulator, UDPTL decoder, UDPTL decoder | T.38 fax relay

## Configurable defaults

In Fusion 4.1, when an application created an endpoint, it specified parameters that customize the way the endpoint processed data. However, an application could only configure MSPP service channel parameters after creating a channel by sending configuration commands to the individual filters.

In Fusion 4.4, all channels and endpoints provide parameter structures so applications can specify the processing characteristics of the MSPP service object when creating the object. Therefore the application can specify initialization parameters for any data processing task, whether the processing is performed by an endpoint or channel.

The following table shows the channel parameter structures added for Fusion 4.4, as well as the parameters (formerly applicable to MSPP channels in Fusion 4.1), that were moved to endpoint structures.

MSPP channel | Parameter structure | Configurable items | Parameters moved to endpoint structure
Voice channel | MSP_VOICE_CHANNEL_PARMS | Jitter processing Voice encoder and decoder | Packet assembly and disassembly
T.38 fax relay | MSP_FAX_CHANNEL_PARMS | T.38 fax modulation and demodulation | IFP encoding and decoding UDPTL encoding and decoding

## Other Fusion 4.4 Features

In addition to channel enhancements and configurable defaults, Fusion 4.4 provides a wide range of new features for developing VoIP gateway and media server applications. These features include:

Feature | Description | For information, see...
Support for IPv6 through RTP IPv6 endpoints | Enables CG boards to implement IPv6 capabilities (for example, address autoconfiguration, neighbor discovery, and IP security) supported in Natural Access 2003-1. | Dialogic® NaturalAccess™ Media Stream Protocol Processing API Developer's Manual and CG board manual.
Inband DTMF carriage | Implements the RFC 2833 specification by enabling MSPP voice channels to detect DTMF digits in voice data received from PSTNs and transfer DTMF signaling information within RTP packets. The payload contained in each packet contains only information about the type of tone detected, the tone's gain, and the tone's duration. | Transferring DTMF digits according to RFC 2833.
RTP switching channels | Enables applications to perform legal intercept and call monitoring tasks by switching voice data between RTP IPv4 and IPv6 endpoints. | RTP forking and RTP switching.
RTP loopback | Enables applications to reverse the direction in which voice data flows when the data reaches a RTP endpoint. The data traverses the CG board IPv4 or IPv6 stack and is looped back at the IP layer so that it can be returned to a DS0 endpoint. | Loopback connections.
ThroughPacket endpoints | Provides a mechanism for reducing Fusion gateway bandwidth by multiplexing voice data payloads from multiple voice channels into larger packets. IPv6 is not supported for ThroughPacket connections. | ThroughPacket multiplexing overview.
Adaptive jitter | Sets the jitter filter depth automatically and dynamically according to the frequency with which the jitter filter is receiving frames. When the application enables adaptive jitter (it is disabled by default), the jitter buffer increases or decreases the number of frames in the jitter depth according to the number of frames received in the previous five seconds. | Dialogic® NaturalAccess™ Media Stream Protocol Processing API Developer's Manual.