[asterisk-dev] Introducing the new ConfBridge

Michael L. Young myoung at acsacc.com
Wed Feb 23 15:37:13 CST 2011


----- Original Message -----
> From: "David Vossel" <dvossel at digium.com>
> To: "Asterisk Developers Mailing List" <asterisk-dev at lists.digium.com>
> Sent: Wednesday, February 23, 2011 3:04:03 PM
> Subject: [asterisk-dev] Introducing the new ConfBridge
> 
> 
[snip]
> --- Sample Configuration exercising these concepts.
> 
> ; The general section is used to build the default bridge and user
> profile. Both bridge
> ; and user options can be declared here under this section.  When
> ConfBridge is called without
> ; any bridge or user profile arguments, the options in this section
> are exercised.
> 
> [general]
> mix_interval=20
> mix_sample_rate=dynamic ;adjust to best quality sample rate for the
> channels joined.
> denoise=yes ; denoise every channel that joins the bridge
> 
> ; Custom Bridge profiles can be made. These options take precedence
> over the general section when
> ; this profile is used.
> [custom_bridge]
> type=bridge
> mix_interval=40
> mix_sample_rate=32khz ;fixed 32khz internal sample rate for mixing.
> wait_for_moderator=yes
> end_conf_moderator=yes
> join_sound=custom-join
> exit_sound=custom-exit
> auto_record=filename.wav
> 
> ; Custom user profile can be made as well.  All users who join
> ; with this profile will be muted by default.
> [silent_users]
> type=user
> mute=yes
> 
> ; Custom Menus are created by mapping DTMF sequences to ConfBridge
> ; actions. This is a custom menu for the silent users so they can
> ; adjust their listening volume.
> [silent_menu]
> type=menu
> '*'=playback_continue(silent-conf-menu)
> '*1'=increase_rx_volume
> '*2'=decrease_rx_volume
> 
> ; Any number of user profiles can be created and applied to a
> ; single bridge.  Channels joining the bridge with this
> ; user profile will be asked for a pin and be marked as
> ; a moderator.
> [moderator_users]
> type=user
> pin=1234
> moderator=yes
> 
> ; This menu is not that useful and is just for example purposes.
> ; It shows how more complex menu structures can be created.
> [moderator_menu]
> type=menu
> '*'=playback_continue(conf-menu) ;play a prompt while continuing to
> gather DTMF sequence
> '*1'=toggle_mute
> '*2'=toggle_deaf
> '*3'=toggle_deaf, toggle_mute  ;notice multiple actions can be
> associated with a single DTMF sequence
> '*4'=dialplan_exec(context,priority)
> '*5'=playback_continue(conf-menu2) ;play another prompt while
> collecting more of the DTMF sequence
> '*51'=increase_tx_volume
> '*52'=decrease_tx_volume
> '*53'=increase_rx_volume
> '*54'=decrease_rx_volume
> 
> --- Using the sample configuration in the dialplan with the
> ConfBridge app.
> 
> ; users who can only listen to the conference call this extension
> exten => muted_listener,1,Answer()
> exten => muted_listener,n,ConfBridge(1111, custom_bridge,
> silent_user, silent_menu)
> 
> ;Moderators call this extension but have to put in a pin because they
> are a moderator_user.
> exten => moderator,1,Answer()
> exten => moderator,n,Conf(1111, custom_bridge, moderator_user,
> moderator_menu)
> -----------------------------------------------

I would suggest changing the menu around:

[moderator_menu]
type = menu
playback_continue = '*'(conf-menu) ;play a prompt while continuing to gather DTMF sequence
toggle_mute = '*1'
toggle_deaf = '*2'
toggle_deaf, toggle_mute = '*3'  ;notice multiple actions can be associated with a single DTMF sequence
dialplan_exec = '*4'(context,priority)
playback_continue = '*5'(conf-menu2) ;play another prompt while collecting more of the DTMF sequence
increase_tx_volume = '*51'
decrease_tx_volume = '*52'
increase_rx_volume = '*53'
decrease_rx_volume = '*54'

This just feels more natural.

-- 
Michael L. Young
elguero



More information about the asterisk-dev mailing list