[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.
http://www.conferencecall1.com
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.
  Guest
* Class of conferees that are never allowed to speak
  Participant

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
(profile)http://wiki.freeswitch.org/wiki/User:Dswardstrom



More information about the FreeSWITCH-dev mailing list