Smart call processing for dumb telephony hardware.

Dumb telephony cards are far cheaper than ones with on board DSP and other processing. However, to make them sing and dance they need good host DSP libraries, call processing libraries, and so on. If this is of no interest to you, you must be in the wrong place.

Background

Until recently telephony cards for computers (mostly ISA, PCI and cPCI cards) were generally complex devices with on-board DSP hardware. Dialogic, Natural Microsystems, Pika and others have been making products of this kind since the 1980s. Slow host CPUs and approvals issues made alternatives unworkable. Now we have very fast host CPUs, and the approvals requirements in some places are less problematic than they used to be. The time for dumb telephony cards, and smart host software has come.

Since this work began, the power of host processors has continued to improve, and the idea of DSP on the host CPU has now become firmly established. Several commercial vendors now provide solutions of this type, typically using the term "host media processing".

The pieces of the puzzle

A number of elements must be in place to make a VoIP system work well. Some discussion about these may be found here

The available packages

The main packages available right now are spandsp and unicall.

Spandsp is a library of many DSP functions for telephony. These range from simple modules, such as DTMF detection, to a complete software FAX machine.

Unicall is an abstraction layer for telephony signaling, and some telephony protocol modules to go with it. The key module right now is MFC/R2.

Spandsp

The source code for spandsp may be found here; instructions for installing it may be found here. There is also an FAQ here.

For a more technical discussion of spandsp, look here

Unicall (MFC/R2, T.31 and other protocols)

Those interested in the Unicall abstration layer should look here

Those interested in simply installing MFC/R2 for open source telephony applications, such as Asterisk, should look here

Vale - a library for streaming media

Vale is a library, currently at the early development stage, for streaming media. There are some notes about it here.

The source code for Vale may be found here.

Testing telephony DSP

Some information about the work which has started on broader testing of open source telephony DSP may be found here.

FAX over VoIP, and FAX over IP (FoIP)

A number of questions regularly raised about FoIP and T.38, the real-time FAX over IP protocol, prompted these notes on the subject. There are also these notes about issues related to implementing T.38.

Patents, equipment approvals and other regulatory issues affecting free telephony

Because the same questions about patents and telephony come up again and again I have started an FAQ on the subject here.

Various issues related to telephony and DSP

There are some notes and thoughts on issues related to telephony and DSP here. Some of these will be technical, and some won't.

Dumb (but not stupid) telephony cards

Some actual dumb telephony cards, suitable for use with the soft-switch.org software, can be found here

Updated 2007/04/29, Steve Underwood