[Freeswitch-dev] mod_conference - User Classes

David Swardstrom dswardstrom at remotelink.com
Tue Jun 8 08:25:12 PDT 2010

Video is a separate topic. Would like to get into it someday.

I refer you to the following example of a conference.
This is the type of conference capability I am replicating to FreeSwitch.
This type of conference requires an IVR front end to determine the
room number and Host identifier. It also requires additional IVR 
capability to handle the menu enabled by a menu key.
One of the features of this conference type is the ability to 
mute everyone who did not login as a host.

I have used several different conference systems and have been working with
the RemoteLink conference capabilities for over a year. Recently I spent
some time looking at a outside "free" conferencing capability.
I really have several primary goals: 
* Simple conferencing, 
* Replicate RemoteLink conferencing, 
* Provide a configurable system that can do even more sophisticated things.

In conference types, there could be the capability of having more 
than two classes of Conferees. I have come up with 5 that seem to 
fit the range of capabilities desired.
* Classes whose members are always allowed to speak.
  Host/Moderator - Owner of the conference.
  Assistant - Someone one who can control the conference (not owner).
  Speaker - Think of this as a panel or a series of speakers.
* Class of conferees that can be muted or unmuted by host/assistant control.
* Class of conferees that are never allowed to speak

I spent some more time looking over the mod_conference code and think
that I would like to add two flags:
* guest
* listener
At this time I do not see the need to have mod_conference track the 
difference between the 3 classes of speakers.

Any API that uses “CONF_API_SUB_MEMBER_TARGET” is a potential 
user of these flags. For example.
> To allow the capability to mute/unmute all guests.
* mute <confname> mute <[member_id|all|last|guest]>
* unmute <confname> mute <[member_id|all|last|guest]>
> To allow the capability to deaf/undef all guests and listeners.
* deaf <confname> mute <[member_id|all|last|guest|listener]>
* undeaf <confname> mute <[member_id|all|last|guest|listener]>
> To kick off guests or listeners only leaving the speakers:
* kick <confname> mute <[member_id|all|last|guest|listener]>

Note: I have found some other surprises in the code that I will address some other time.

Regards, David Swardstrom

More information about the FreeSWITCH-dev mailing list