The task of obtaining estimates of model parameters (the "inverse problem") is encountered frequently in practice. The transfer function model is a general formulation describing solute transport from an “entrance surface" to an "exit surface" of a porous domain. The probability that solute will arrive at an exit surface is given by its travel time probability density function (pdf). A very general pdf based on the convection- dispersion equation is presented. The pdf incorporates many solute transport mechanisms, including sorption, volatilization and biodegradation. This document describes the pdf as well as the structure and usage of a versatile computer code. The code uses nonlinear least-squares fitting to find optimal parameter values by matching transfer function model predictions with measured experimental data. The program makes use of some standard computational algorithms in the widely-available IMSL package. Use of the program is demonstrated with synthetic data as well as data from a comprehensive field experiment. Breakthrough curves can be plotted using an additional code.