[Freeswitch-dev] mod_conference - User Classes

Bret McDanel trixter at 0xdecafbad.com
Wed Jun 9 23:53:58 PDT 2010

On Wed, 2010-06-09 at 16:30 -0500, David Swardstrom wrote:
> Some things like Mute and Deaf are dynamic and I want to control them 
> with application code (JavaScript in this case).
> In regards to using multiple profiles & conference controls for any one conference.
> The mod_conference Wiki says it is not possible/practical. 
> What would happen if the same conference name was used with two separate profiles?
> Does it use the profile to set up the member or does it use the profile
> to affect the entire conference?
> The comments by Bret McDanel would seem to indicate that the later 
> effect occurs, when a profile is specified for a conference, it affects
> the entire conference.

my comments were suggesting a patch idea that would go with what the OP
discussed.  I may not  have been clear (it seems I wasnt) so let me
rephrase it.

If the profiles were made so that they affected little globally for that
conference and instead only affected the participant, then dtmf events,
sounds, and other things could be set up on a per member basis.  This
would mean that any flags that you wanted, such as default mute, would
only affect that individual user and not everyone who enters after the
first person.  It means that you could have a front end that would take
"pins" (as used by many of the conference systems) and assign people to
conferences with different profiles such as moderator, speaker and
listener with (probably) the biggest differences being the dtmf bindings
and the flags set.

This was suggested as an alternative to another flag, since it is likely
that you can accomplish everything without a new flag if this is done
(there may be some cases that this does not work, but that is the point
of discussing things so they can be identified and resolved).

The current method requires that you toggle the flags after entry to get
a variable set of defaults (which usually would be mute, but some people
may want others).  This means event socket or a lua (event listener)
script has to be written to manage the flipping of flags on a per user
basis where the ability to make different profiles would take care of
all that in one go.

> But I still would like the capability I have proposed which would 
> have the mod_conference code do the loop over the members to do
> mute and unmute when I want to mute/unmute a class.

I had considered making a listener queue, which could be done either in
lua or perl (what I was playing with at one point, in contrib/trixter
somewhere there is a perl script that I think does something similar -
framework only).  I might make a lua one at some point if I get bored.

Basically the queue works where any 'listener' class user can press a
given dtmf key to signal they want to ask a question.  The speaker or
moderator can hit a given dtmf key that will unmute listeners one at a
time from a queue for that conference.  When they hit the key again that
person is muted and the next is unmuted until the queue is exhausted.  

In this way you can have a large group of people listen to a lecture or
similar, then in an orderly fashion ask questions similar to a Q&A
microphone at a lecture hall.  Interestingly it would also work for a
"radio call in" type program as well which could work for some of the
many online webcasts that people do (like justin.tv and many others).  

This should not be that difficult to do in lua, everything needed
already exists, but I get distracted by shiny spinning objects easily so
I will have to be less distracted at some point.

More information about the FreeSWITCH-dev mailing list