MeetMe and MeetMeCount

Synopsis
The Asterisk system features simple Conferencing functionality.  This enables multiple  callers to meet in a virtual conference room and converse with all other callers in the conference.  The applications which comprise the MeetMe system are 'MeetMe' and 'MeetMeCount'.

How to use
 Configuration for the Asterisk MeetMe system is located  in /etc/asterisk/meetme.conf.  Conferences are created by adding a line for each conference to meetme.conf. Once created, conferences can be utilized by the 'MeetMe' application to join a caller to a conference, or ‘MeetMeCount’ to play back the number of members in the selected conference to the current caller.
 
Syntax
 'MeetMe 'and 'MeetMeCount' applications are called from within the dialplan (see extensions.conf) like any other application.  MeetMe takes as an argument the conference number to join.  If the conference number is not indicated, MeetMe will ask the caller (a maximum of 3 times before exiting) to enter a valid conference number.  When a conference number is indicated, 5 configuration flags and a PIN can also be added.  The possible configuration flags are:

a	-	If set, the user has admin access on the conference.
(not yet implemented)
m	-	If set, the user can only receive audio from the conference.
p	-	If set, Asterisk will exit the conference when ‘#’ is pressed.
s	-	If set, Asterisk will provide a menu to the user when ‘*’ is pressed.
		(not yet implemented)
t	-	If set, the user can only send audio to the conference.
 
The MeetMe and MeetMeCount applications are called from within the dialplan like this:

Examples:

This example will immediately join the caller to conference number 4000.  The current caller and all callers in the conference will hear a double-chime tone when a new caller has joined a conference.

exten => 4000,1,MeetMe,4000

 This example will allow the caller listen-only access to the conference, will allow the caller to leave the conference by pressing ‘#’ and requires entering a valid PIN (1234) prior to joining.

exten => 100,1,MeetMe,4000|mp|1234

	This example plays the number of participants in conference 4000 to 
	the current caller.

	exten => 100,1,MeetMeCount,4000

A typical extension with MeetMe enabled would look like this:

	exten => 100,1,Playback,thereare	; play back “there are”
exten => 100,2,MeetMeCount,4000	; play back number of participants
exten => 100,3,Playback,callersin	; play back “callers in this conference”
exten => 100,4,MeetMe,4000		; join caller to conference 4000

A more complex extension for handling user exits from a MeetMe conference might look like the following example:

exten => s,1,Background,conflist
exten => 1,1,MeetMe,1000|p		; Kernel Room
exten => 1,2,Goto,s|1

exten => 2,1,MeetMe,2000|p		; Gnome Room
exten => 2,2,Goto,s|1

	Note:  The “thereare”, “callersin”, and "conflist" sound files must
 	be recorded and  placed in the Asterisk sound files directory 	(/var/lib/asterisk/sounds).

Steps for implementing a fully functional conference system:

a) Edit meetme.conf and create an entry for each conference.
b)  Edit the extensions.conf and call the conference from within the dialplan using the 'MeetMe' application and optionally play back the number of participants using the ‘MeetMeCount’ application.

See also:		meetme.conf
			extensions.conf