Here's an idea - it might be a little easier to make interoperate with other SIP devices. What if you built a conferencing endpoint that mixed all the audio locally into a 3D matrix? Each participant in the call could use any of the common codecs, but would have an extra SIP header than indicated their position in the sound field. Here's a bit of an overview: A regular Freeswitch system takes care of registering endpoints, routing, etc. Just like a normal PBX. The only thing special it would do is set add a custom SIP header with a person's sound field position, based on a directory variable. Each conference unit would be a stripped down freeswitch system with a custom modified mod_conference. In addition to mixing audio to mono like the regular mod_conference does, it would also generate a stereo mix, based on the position information of each participant. It could dump out the stereo audio directly to a named pipe, mod_shout, or directly to audio hardware. You could probably shoehorn a stereo input from hardware as well. Essentially, you are building a stereo conference phone. If you want to join up multiple conference units, just establish two sessions between each conference - one panned hard left, the other hard right. They can then use G722 without any modification. This probably isn't quite as nice as having true stereo codecs and media handling, but it may be easier to implement. After all, telecom is very much a mono world. -Tim
The main reason we do not have stereo completely implemented is there was not really any codec or devices that could handle it to bother testing with.