Saying Goodbye To MeetMe

MeetMe has been an invaluable tool for multiple purposes in Asterisk. Some call center software has traditionally used it for connecting agents to calls. More advanced call center systems have used it to manage things such as transfers, where you may have three participants (or more) in the same call. Certainly it has shown its worth in its intended purpose, voice conferencing.

Right from the start, however, MeetMe has had a couple of key flaws that have reduced its usefulness. The first was its complete reliance on Zaptel (then DAHDI). Mixing multiple streams of audio reliably is tough, and early on, Zaptel was the only reliable clock source for Asterisk. That problem got solved a long time ago, but MeetMe hasn’t changed in response.

The second, bigger problem was that MeetMe would only run on a single core. This wasn’t a big deal in 2004, but as hardware got more capable, the issues caused by this became more glaring. Depending on the channel technology, codecs, recording, etc., you could have audio issues with as few as 10 participants in a conference. If you need to use MeetMe for call transfers, that puts a severe limit on how many transfers your call center agents can do before requiring another server.

Asterisk 1.6 introduced changes to bridging, and included a Bridge application to allow directly bridging two channels together. This allowed calls where the multi-party features of MeetMe were no longer required (ie. the third participant had dropped out) to have the separate channels directly bridged together and drop the MeetMe entirely. This was a performance gain, but only partially, as MeetMe is still required for 3 or more channels bridged together.

ConfBridge was introduced a few years ago, giving hope to those who had issues with MeetMe. It fell a little flat at first, though. Those hoping to manipulate conferences programmatically found that ConfBridge didn’t have much in the way of an interface to monitor conferences, unlike MeetMe and its companion, MeetMeAdmin. This made it tough to use the AMI to move channels around. In Asterisk 1.8 it also had the unfortunate issue of occasionally crashing Asterisk.

In Asterisk 11, ConfBridge seems to be much more usable, and MeetMe is no longer the only game in audio conferencing and bridging multiple channels together. Those who have fought with the limitations of MeetMe are now able to throw off the shackles.

Perhaps even more exciting is the Asterisk REST Interface. Those who have previously been willing to experiment with the Asterisk Manager Iterface (AMI) and Asterisk Gateway Interface (AGI) now have an option that combines features of both, allowing even finer-grained control of how channels get bridged and audio gets mixed. In a couple of years, we may find that nobody is using conference applications to handle transfers or bridge agents in their call center software.