ConfBridge Ad-Hoc Conference Rooms
ConfBridge Ad-Hoc Conference Rooms
Let users create instant conference rooms by dialing a star code and entering a room number. No pre-configuration needed, any room number works on the fly.
Dialplan
[features]
exten => *85,1,NoOp(Conference Bridge)
same => n,Answer()
same => n,Playback(conf-getconfno)
same => n,Read(CONFNO,,4)
same => n,GotoIf($["${CONFNO}" = ""]?invalid)
same => n,ConfBridge(${CONFNO},default_bridge,default_user)
same => n,Hangup()
same => n(invalid),Playback(conf-invalid)
same => n,Goto(*85,1)
Bridge Profile (confbridge.conf)
[default_bridge]
type = bridge
max_members = 10
music_on_hold_when_empty = yes
record_conference = no
internal_sample_rate = 8000
mixing_interval = 20
video_mode = none
User Profile (confbridge.conf)
[default_user]
type = user
announce_user_count = yes
announce_join_leave = yes
dtmf_passthrough = no
music_on_hold_class = default
admin = no
startmuted = no
; DTMF controls:
; *1 = toggle mute
; *4/*6 = decrease/increase listening volume
; *7/*9 = decrease/increase talking volume
[admin_user]
type = user
admin = yes
marked = yes
announce_user_count = yes
announce_join_leave = yes
How it works
- ConfBridge(room, bridge_profile, user_profile): The modern replacement for
MeetMe(). Rooms are created dynamically when the first participant joins and destroyed when the last one leaves. - Read(variable, prompt, maxdigits): Reads up to 4 DTMF digits (allowing room numbers 1-9999). An empty input routes to the
invalidlabel which loops back. - Bridge profiles: Control room-level settings: max participants, recording, sample rate, music on hold for the first caller.
- User profiles: Control per-participant behavior: join/leave announcements, mute state, DTMF controls. The
adminprofile adds the ability to kick users and lock the room. - No PIN required: This is an open conference. For PIN-protected rooms, add
Read(PIN,,6)and validate before entering the bridge.
Tips
- Add a PIN:
same => n,Read(PIN,,6)thensame => n,GotoIf($["${PIN}" != "1234"]?invalid)before ConfBridge(). - Use
marked = yeswithwait_marked = yeson the default_user to make participants wait until a moderator (admin) joins. - Monitor active conferences from the CLI:
confbridge listandconfbridge show default_bridge. - Record conferences by setting
record_conference = yesin the bridge profile. Recordings go to/var/spool/asterisk/confbridge/. - For external callers to join, add a DID route:
exten => 15085559999,1,ConfBridge(9999,default_bridge,default_user).
User Notes
Know a tip or gotcha for this topic? Share it below and help others.
Contribute a note
Share a tip, gotcha, or practical example. Keep it under 2000 characters. No questions (use the Asterisk community forums for support). Wrap code in backticks.