How to Convert from MeetMe to Confbridge Guide

In this guide, we are going to teach you how to convert your asterisk MeetMe dialplan into Confbridge. I have had clients request this on several occasions, and have needed to do it for myself at times, so I figured I would post this guide to help anyone else who needs to go through the same thing. It could also be called a “ConfBridge Cheat Sheet” or a “MeetMe Cheat Sheet”.

Table of Contents


Overview

So why would anyone want to use Confbridge instead of MeetMe? In Asterisk, there are 2 major conference modules, app_meetme and app_confbridge. app_meetme is the older of the two, and it has a few advantages, mainly that it’s simple and been around for a while so there’s plenty of examples on the internet that use it. However, it is dependent on the dahdi kernel module, which means every time you update your kernel, you have to recompile dahdi as well. Also, it’s less flexible than confbridge.

So let’s get to it, we won’t cover every edge case or possible use, however we will try to cover as much as is reasonable.

Creating a new Conference:

MeetMe:
[macro-newmeetme]
exten => s,1,Set(__CNUM=${RAND(50000,99999)}) ;TIP keep the range away from your extensions so you can use it as an extension
same => 2,Set(__CNUM=$[${CNUM}+1])
same => 3,MeetMeCount(${CNUM},count)
same => n,GotoIf($[${count}>0]?2) ;Check to see if this conference exists (already has people)
same => n,MeetMe(${CNUM}) ;be sure to set relevant options you want

Confbridge:
[macro-newconfbridge]
exten => s,1,Set(__CNUM=${RAND(50000,99999)})
same => 2,Set(__CNUM=$[${CNUM}+1])
same => 3,GotoIf($[${GROUP_COUNT(${CNUM}@conference)}>0]?2)
same => n,Set(GROUP(conference)=${CNUM}) ;use groups to keep track of member counts
same => n,ConfBridge(${CNUM}) ;note this will use the default bridge defined in confbridge.conf


Join a conference:

[join-meetme]
exten => _XXXXX,1,MeetMe(${EXTEN}) ;extension is the conference number

[join-confbridge]
exten => _XXXXX,1,Set(GROUP(conference)=${EXTEN}) ;extension is the conference number
same => n,ConfBridge(${EXTEN})


Get number of agents in a conference:

We already showed you this, but we’ll keep it here also for reference.

MeetMe:
same => n,MeetMeCount(${CNUM},count) ;creates
same => n,NoOp(There are ${count} members in conference ${CNUM})

Confbridge:
same => n,NoOp(There are ${GROUP_COUNT(${CNUM}@conference)} members in conference: ${CNUM})


Record the conference:

MeetMe
On the MeetMe line, add the “r” flag to the options:
same => n,MeetMe(${CNUM,r)

ConfBridge
Set the bridge option, “record_conference” equal to “yes”:
same => n,Set(CONFBRIDGE(bridge,record_conference)=yes)


Setting the recording filename:

Default directory is ${ASTSPOOLDIR} defined in asterisk.conf, however MeetMe could also be ${ASTSPOOLDIR}/meetme.
You can also specify an absolute path

MeetMe:
same => n,Set(MEETME_RECORDINGFILE=meetme-${CNUM}.wav) ;you can also specify an absolute path
same => n,MeetMe(${CNUM},r) ;r flag records the conference

Confbridge:
same => n,Set(CONFBRIDGE(bridge,record_file)=confbridge-${CNUM}.wav)
same => n,Set(CONFBRIDGE(bridge,record_conference)=yes)

That’s all the time we have for now, if this helped you, please +1 it with Google, you can also bookmark us to checkback later. I will be adding more information soon, most importantly, setting up the confbridge.conf file, creating menus, and working with more of the options.

Tagged with: , , , ,
Posted in Asterisk, Tips n Tricks
2 comments on “How to Convert from MeetMe to Confbridge Guide
  1. Nisar Ahmad Cheema says:

    Can You please guide me how is it possible to barge in confbridg

Leave a Reply

Your email address will not be published. Required fields are marked *

*